1、SpringIOC是控制反转,那么哪些方面的控制翻转了?
获得依赖对象的过程被反转了。控制反转后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入,于是“控制反转”还叫“依赖注入”(DI)。
通俗理解:
IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理。
DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。
2、Bean的作用域
singleton:单例,指一个Bean容器中只存在一份
prototype:每次请求(每次使用)创建新的实例,destory方式不生效
request:每次http请求创建一个实例且仅在当前request内有效
session:同上,每次http请求创建,当前session内有效
global session:基于portlet的web中有效(portlet定义了global session),如果是在web中,同session
3、Classpath扫描与组建管理
@Component是一个通用注解,可用于任何bean
@Repository,@Service,@Controller是更有针对性的注解
- @Repository通常用于注解DAO类,即持久层
- @Service 通常用于注解Service类,急服务层
- @Controller 通常用于Controller类,即控制层(MVC)
4、AOP实现方式
预编译
- AspectJ
运行期动态代理(JDK动态代理,CGLib动态代理)
- SpringAOP、JbossAOP