一、Spring IOC容器加载过程
IOC(Inversion of control)控制反转,是一种设计思想,意味着将你设计好的对象交给容器控制,而不是使用new来控制
1.读取Bean配置信息(XML配置,注解配置)到spring容器Bean定义注册表
2.根据Bean注册表实例化Bean
3.将Bean实例放到Spring容器Bean缓存池中
4.使用Bean
DI(dependency injection)依赖注入,把底层类作为参数传递给上层类,实现上对下的控制
二、Spring 定义bean和注入bean注解
定义bean
@Component Spring基础注解,被Spring管理的组件或bean
@Repository 用于持久层,数据库访问层,是用来直接访问数据库的
@Service 用于服务层,处理业务逻辑
@Controller 用于呈现层,Spring-MVC,暴露给前端的入口
注入bean
@Autowired 默认是按照资源的类型(class) 查找并注入的
@Resource 默认是按照资源的名称(name)查找并注入的
@Qualifier 采用@Autowried如果存在多个实现类的情况下,@Qualifier注解通过资源名称确定唯一性
三、Spring bean的作用域
singleton 默认值,Ioc容器只存在单例
prototype 每当从Ioc容器中取出一个Bean,则创建一个新的Bean
session HTTP会话
application Web工程生命周期
request Web工程单次请求
globalSession 基本不适用