Spring
Spring框架由大约20个功能模块组成,这些模块被分为六个部分,分别是Core Container,DataAccess/Integration,Web,Aop(Aspect Oriented Programming),Instrumentation及Test。
Spring Core是框架的最基础部分,提供了IoC特性,SPring Context为企业级开发提供了便利和集成的工具,Spring AOP是基于Spring Core的符合规范的面向切面编程的实现。Spring JDBC 提供了JDBC的抽象层,简化了JDBC代码,同时使代码更健壮。Spring ORM对市面上流行的ORM框架提供了支持,Spring Web为Spring再web应用程序中的使用提供了支持。
Spring IoC(控制反转)
控制反转也称依赖注入,是面对对象编程中的一种设计理念,用于降低程序代码间的耦合度。在不使用Spring时,创建对象需要我们主动去new,A和B要一起完成一件事,A需要用到B这件事才能做到,这就叫A对B产生了依赖,使用了Spring以后,不需要我们去手动new对象,把new对象的权利交给了第三方,这样A就不再依赖于B,所以控制反转I是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方
例:
创建一个汉堡的接口
public interface Humburger {
public void eat();
}
创建三个汉堡的子类,鸡肉汉堡,猪肉汉堡和牛肉汉堡,并实现汉堡接口的eat方法
public class BeefHumburger implements Humburger {
@Override
public void eat() {
System.out.println("正在吃牛肉汉堡");
}
}
public class CheckenHumburger implements Humburger {
@Override
public void eat() {
System.out.println("正在吃鸡肉汉堡");
}
}
public class PigHumburger implements Humburger {
@Override
public void eat() {
System.out.println("正在吃猪肉汉堡");
}
}
创建一个简单工厂,用于降低耦合用以实现依赖反转,工厂里对创建什么汉堡对象进行判断
public class Factory {
public static Humburger getHanbugur(String str){
if (str.equals("鸡肉")){
return new CheckenHumburger();
}else if(str.equals("牛肉")){
return new BeefHumburger();
}else if (str.equals("猪肉")){
return new PigHumburger();
}else {
return null;
}
}
}
编写测试类
public class Test {
public static void main(String[] args) {
Humburger im=Factory.getHanbugur("鸡肉");
im.eat();
}
}
在示例中,创建对象和判断创建什么对象都交给了工厂Factory。
如何创建一个Spring项目
项目创建完毕后有一个lib包,里面有Spring相关的jar包就代表Spring项目创建成功,下面需要新建一个与src同级的包,并在里面创建并配置Spring配置文件
此方法需在有网络的前提下使用