Spring基础知识
一.Spring基础
1.Spring IOC
IOC:控制反转也叫依赖注入,IOC利用java反射机制,AOP利用代理模式。所谓控制反转是指springIOC:将对象交给spring容器管理,只需要在spring配置文件总配置相应的bean,让spring容器来生成类的实例对象以及管理对象,实现低耦合。
2.注入方式
①:Set注入 (常用)
②:构造器注入 (常用)
③:接口注入
④:静态工厂注入
3.Bean
2.1bean的作用域
在Spring 容器当中,一共提供了5种作用域类型,在配置文件中,通过属性scope来设置bean的作用域范围。
1.singleton(单例)
<bean id="userInfo" class="cn.lovepi.UserInfo" scope="singleton"></bean>
2.prototype(多例)
<bean id="userInfo" class="cn.lovepi.UserInfo" scope=" prototype "></bean>
3.request
<bean id="userInfo" class="cn.lovepi.UserInfo" scope=" request"></bean>
4.session
<bean id="userInfo" class="cn.lovepi.UserInfo" scope=" session"></bean>
5.global session
<bean id="userInfo" class="cn.lovepi.UserInfo" scope=" globalSession"></bean>
3.2bean的生命周期
- 初始化IOC容器 (应用启动时会初始化IOC容器) - 通过构造器或工厂方法创建bean的实例 - 为bean的属性设置值或者对其它bean的引用 - 调用bean设置的初始化方法 - 使用bean - 容器关闭时,调用bean的销毁方法,然后关闭容器
4.Bean的装配方式(1.xml配置文件装配,2.自动装配)
4.1常用注解解释
@Component 一般还有 @Controller,@Service,@Repository 都是加在类上面是指把这个类加入到SpringIOC容器中
@ComponentScan("包的路径") 启用组件扫描
@Configuration 标注在类上,相当于把该类作为spring的xml配置文件中的<beans>
,作用为:配置spring容器(应用上下文)
@Bean 标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的<bean>
,作用为:注册bean对象
@AutoWired 自动注入,一般用于类注入到另一个类中
4.2@AutoWired
@AutoWired 自动注入,一般用于类注入到另一个类中
1.直接变量添加注解
2. 通过构造函数注入依赖
3. 通过属性的Setter方法注入依赖
4. 通过其他函数注入依赖
2.Spring AOP
2.1什么是AOP?
AOP就是面向切面编程(aop)是使用动态代理的设计模式在执行方法前后或出现异常做加入相关逻辑。将程序运行过程分解成各个切面,Spring中AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC容器负责管理,提取业务处理过程的切面,在这个切面中做我们一些处理,主要用日志记录,提供声明式事务管理,权限判断等。
2.2核心原理:
使用动态代理的设计模式在执行方法前后的切面做加入相关逻辑。
2.3我们主要使用AOP来做:
1、事务处理:执行方法前:开始事务、执行完成后关闭事务、出现异常后回滚事务
2、权限判断:执行方法前,判断是否具有权限
3、日志: 在执行前进行日志处理