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 延迟加载 (写在类上面)