Spring主要核心是:
1.控制反转(IOC):
(1)传统java开发,使用new或者getInstance等调用构造方法创建一个对象;Spring开发时,Spring容器使用了工厂模式创建了所需要的对象,使用时直接调用Spring提供的对象即可,这就是控制反转的思想。
实例化一个java对象有三种方式:使用类构造器,使用静态工厂方法,使用实例工厂方法,使用spring时不需要关心通过何种方式实例化一个对象,spring通过控制反转机制自动实例化一个对象。
(2)BeanFactory和ApplicationContext是spring框架的两个IOC容器,实例化Spring IOC容器的两个方法:
ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{“spring配置文件路径”});
Resource res = new FileSystemResource(“spring配置文件”);
BeanFactory factory = new XMLBeanFactory(res);
2.依赖注入(DI):
Spring使用java Bean对象的Set方法或者带参数的构造方法为我们在创建所需对象时将其属性自动设置所需要的值的过程就是依赖注入的基本思想。
spring配置bean时,如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程,spring的依赖注入方式:
(1).使用构造器注入:spring实例化该Bean时调用配置参数符合的构造方法。
<bean id=”……” class=”……”>
<constructor-arg>构造函数需要的参数1</constructor-arg>
<constructor-arg>构造函数需要的参数2</constructor-arg>
……
</bean>
(2).
使用属性的
setter
注入:
<bean id=”……” class=”……”>
<property name=”属性1” value=”……”/>
<property name=”属性2” value=”……”/>
……
</bean>
(3).
使用
Field
字段注入方式,该方式是
spring2.5
以后提供的基于
java
注解
(annotation)
方式的注入,就是在
java
中的字段上或者
setter
方法上通过使用注解方式进行
spring
的依赖注入。
3.面向切面编程(AOP):
面向对象编程(OOP)思想将事物抽象成一个个对象。面向切面编程中将一个个对象某些类似的方面横向抽象成一个切面,对这个切面进行一些如权限验证,事物管理,记录日志等公用操作处理的过程就是面向切面编程的思想。
参考:http://blog.youkuaiyun.com/chjttony/article/details/6026079