Spring学习总结
程序员文章站
2022-05-08 10:57:03
...
Spirng总结
主要是IoC和AOP
简介IoC和AOP
- IoC是一个容器,管理各个对象java bean和他们的依赖关系,方便对象之间的解耦。
不用重新修改代码-new Object2(),只需要修改XML (applicationContext.xml) 配置文件
DI:依赖注入,前提要有IoC环境,Spring管理这个类的同时把它依赖的属性注入进来 - AOP:面向切面编程
1.IoC-一般使用xml管理bean,注解完成属性注入
XML
-
<bean id=" " class=" "></bean>
无参构造方法方式 - 属性注入:在 bean标签中添加
<property name=" " value=" "/>
<bean id="car" class="com.lzc.spring.Car">
<property name="name" value="奔驰"/>
</bean>
注解
- 开启组件扫描-哪些包下要用到注解
<context:component-scan base-package=""/>
告诉Spring,bean都在哪个包下 - 在类上添加注解:
@Service @Controller @Repository (DAO层)
等 - @Value设置普通属性值
@Autowired
注入对象-注入dao - bean的作用范围(面试题关注)
2.AOP-面向切面编程
- 实现原理:JDK动态代理(默认)和Cglib动态代理(对没有实现接口的类产生代理)-可参考源码
3.JDBC模板使用-以C3P0为例
- 引入jar包
- 配置dataSource和JDBC模板-dao层注入jdbc模板dataSource要用到
<bean id="dataSource" class="...c3p0.CombPooledDataSource">
<property name="" value="" />
</bean>
<bean id="kdbcTemlate" class="..jdbc.core.JDBCTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
- 引入配置文件jdbc.properties
<context:property-placeholder location="classpath:jdbc.properties"/>
4.Spring事务管理
编程式事务管理
声明式事务管理
- XML方式:
- 注解方式:
- 配置事务管理器<bean id="transactionmanger" class=""> <property name="dataSource" ref="dataSource"/> </bean>
- 开启注解事务<tx:annotation-driven transaction-manger="transactionmanger">
- 在业务层Service添加@Transaction
的注解