spring原理:
spring一站式框架,因为spring框架性质是属于容器性质的,所以装什么对象就有什么功能,不仅不排斥其他框架,还能帮其他框架管理对象。
Bean属性:
singleton属性:
(单例对象.被标识为单例的对象在spring容器中只会存在一个实例)
prototype属性:
(多例对象,每次再获得才会创建.每次创建都是新的对象.整合表现层框架时,必须配置为多例的.)
配置属性注入:
-------------set注入
(在xml里给对象设置属性)
<bean name class>
<property name value/ref>
值类型注入value
对象类型注入ref
-------------构造方法注入
(在类的构造方法中给对象设置属性)
<bean name class>
<constructor-arg name value/ref index type>
注解配置注入:
首先扫描我们要注解配置的类,一般以包的方式扫描,然后就可以在类中使用注解,为了体现分层操作
@Service---service层
@Controller---表现层
@Repository---dao层
需要使用的时候可以通过@Autowired自动装配拿到实例
IOC思想:
控制反转即把对象的控制权从对象本身转移到spring容易
aop事务:
--------aop思想
横向重复,纵向切割,可以画图解决
例子,比如过滤器拦截器,把多个类中重复需要的代码提取出来
现在我们每个服务层都需要管理事务,提取出来统一管理
----------管理事务
1、
配置通知(属性/隔离级别/传播行为/是否支付)
将通知织入目标(切面=通知+切点)
通知:方法执行前或执行后要做的动作
切点:切点是一个或者一组连接点,通知将在这些地方执行
2、
spring能够帮service的对象实例化生成代理对象,和普通对象无外观区别,唯一就是代理对象已经被spring进行着事务控制