1、spring入门
2、springIOC
3、Setter和构造器注入(DI)
4、面向切面编程/面向抽象编程
5、Bean的作用域与Bean的生命周期
6、内置bean配置之数据源
7、基于注解的IOC配置
8、代理模式 – 静态代理、动态代理
9、springAOP入门
10、springAOP事务管理
11、spring整合mybatis
IOC【Inversion Of Control】控制反转:把本来自己控制的事件,交给spring管理,交出控制权
DI【Dependency InJection】依赖注入:
setter注入和构造器注入,来管理(IOC获取的控制权)
自动装配:
autowire(bean标签)、default-autowire(beans标签):其值有byName、byType、constructor
懒加载(延迟加载):
在bean标签中书写lazy-init,其值有true-延迟加载,false(默认)spring启动时立即加载
bean【标签】的生命周期和作用域
生命周期:
init-method:对象初始化之后执行的指定方法
destroy-method:在对象销毁前执行的指定方法
作用域:
singleton:每一个bean对应一个实例(单例模式、默认配置)
prototype:每一次获取一个新的实例(一般web中控制层对象一个配置为该值)
request:在web项目中,针对每一次请求都创建一个bean实例
session:在web项目中,针对每一次回话创建一个bean实例
global-session:在web项目中,针对所有客户端的请求始终只创建一个bean(application)
bean的name和id
bean注解配置:
1、引入spring的基础jar,和spring-aop.jar
2、在spring核心配置中引用配置spring-context
3、在spring核心配置中配置:<context:annotation-config />
4、在Java类中使用注解
@Autowire 默认根据bean的类型解析装配,其次根据name进行装配
@Qualifier 当自动配置名不一致时,进行微调 (@Resource)
@Component 标记当前类为一个被spring容器管理的Bean,可以细化:
@Repository 用于注解数据持久层(DAO、Mappper)
@Service 用于注解业务逻辑层(Service)
@Controller 用于注解控制层(controller)
@Param 参数
其它注解:
@PostConstruct 生命周期-初始化 (写在方法上面)
@PreDestroy 生命周期–销毁 (写在方法上面)
@Scope 初始化次数(单例模式、多例,写在类上面)
@Lazy 延迟加载 (写在类上面)