1.Spring
概念:轻量级,开源,分层式,一站式框架
IoC/DI
AOP
Joinpoin
Pointcut
Advice
Aspect
Introduction
Target
Weaving
Proxy
execution表达式
原理:动态代理
配置(注解和xml)
bean管理,id,全路径,scope,factory-bean
IoC方式(无参构造,静态工厂,实例工厂),
DI方式(有参构造,set方法,p名称空间),注入引用,注入复杂属性
ApplicationContext.xml
常用标签:
1.扫描包
2.导入properties文件
3.创建对象
4.创建AOP
常用的注解
Commponent/Controller/Service/Respository
autowired
resource
Aspect+Component
Pointcut
around
after
...
入口:
文件名->
applicationContext->
getBean
2.Mybatis
概念:半自动ORM,轻量级,持久层,开源
原理:动态代理,关系映射
配置(Mapper接口+mapper.xml)
1.Mapper接口
2.Mapper文件
3.MybatisConfig.xml
延迟加载/类型别名/环境变量连接池,Mapper关系
MybatisConfig.xml
入口:
文件名->
Reader->构建者->
sqlsessionfactory->
openSession(boolean)->
getMapper
3.hibernate
概念:全自动ORM,持久层,轻量级,开源
使用:(注解)
1.配置实体关系->映射为数据库(注解)
常用注解:
Entity
Table
@Id
@Column(length=32)
@GenericGenerator(name="proUUID",strategy="uuid")
@GeneratedValue(generator="proUUID")Id,Column,
四种:一对多多对多多对一一对一
joinColumn
joinTable
@Transient
2.hibernate.config.xml
常用标签
SessionFactory中数据库,连接池,特色配置
方言,showSQL,数据库更新方法,mapping
入口:
文件名->
各种构建者(官方有模板)->
sessionfactory->
openSession(getCurrentSession)->
各种方法
4.Spring+Mybatis+transaction
使用
1.Mapper接口
2.Mapper文件
3.MybatisConfig.xml文件(类型别名,映射关系)
4.ApplicationContext
(0)properties文件,自动扫描包
(1)数据源(jdbc)
(2)SqlSessionFactory(数据源和MybatisConfig.xml)
(3)mapper配置(扫描mapper接口所在的包)
(4)配置事务
1.transactionManager(JDBC)
2.tx:advice
3.AOP:config
(5)getBean获得sqlsessionfactory
入口:
文件名->
applicationContext->
getBean(sqlsessionfactory)->
openSession(boolean)->
getMapper
5.Spring+hibernate+transaction+C3P0
使用
1.Entity实体加注解加关系
2.ApplicationContext
(0)properties文件,自动扫描包
(1)数据源(jdbc/或者C3P0数据源)
(2)sessionFactoty(数据源,hibernate特色配置,扫描实体包)
(3)配置事务
1.transactionManager(hibernate5)
2.tx:advice
3.aop:config
入口:
文件名->
applicationContext->
getBean(sessionfactory)->
openSession(getCurrentSession)->
各种方法