Spring-AOP
1、Spring依赖注入(DI)
1、构造器注入
1.索引注入
2.参数名注入
3.参数类型
4.参数顺序
2、属性注入
1.普通属性注入
2.list注入
3.set注入
4.properties注入
5.数组注入
6.map注入
2、XML自动注入(了解)
1.根据类型
2.根据名字
3.根据构造器
3、全自动注入
1.主要标签
@Controller(控制层)
@Service(业务层)
@Reposiotry(持久层)
@Component(除三层以外的其他)
@Autowired
@Resource
2.注意点:
这四个标签功能基本一样,主要是为了区分作用,标识
@Autowired与@Resource 两者的区别:
前者按byType(类型)---byName(名字)的顺序注入,由Spring提供的注解
后者则是相反的顺序注入,是Sun公司提供的注解
4、AOP
1.概念
面向切面编程,作用是抽取公共的业务逻辑,扩展功能,底层是基于代理模式实现的
2.配置及执行原理
5、代理模式了解
1.静态代理
2.动态代理
1.JDK动态代理
JDK动态代理只能代理有接口的类
如果有n个接口,必然有n个实现,只用写1个代理类JDKProxy就可以对所有有接口进行处理
如果有代理主题角色存在,必须修改调用方才能实现代理
2.CGLIB动态代理
不管有没有接口,都可以代理
只用写1个代理类CglibProxy就可以对所有没有接口的不能是final类都进行处理
如果有代理主题角色存在,必须修改调用方才能实现代理
SSJ集成及声明式事务管理
1、创建bean的四种方式
1、通过无参构造函数创建
直接在xml中配置
2、通过factorybean创建
通过entitymanagerfactory创建复杂对象
3、通过静态方法创建
在类中创建一个静态方法得到该类的对象,然后调用这个静态方法
4、通过实例对象创建
可以通过其他类得到想要的类的实例,然后引用这个得到类的方法
2、SSJ集成
1、SSJ了解
1、三大框架介绍
1、ssh:
struts spring hibernate
Struts2 Spring Hibernate
2、ssm(最流行的框架)
SpringMVC Spring MyBatis
3、ssj(Spring springMvc jpa)
Struts2 Spring JPA
SpringMVC Spring JPA
SpringMVC Spring spring Data JPA(spring的全家桶)
2、SSJ集成的步骤
1、导入jar包
<dependencies> |
2、配置applicationContext.xml(Spring的核心)
配置顺序:
- jdbc.properties
- DataSource
- EntityManagerFactory
- dao层
- seevice层
- 加事务
- Controller层
3、配置applicationContext-MVC.xml (SpringMVC核心配置文件)
配置顺序:
- 扫描包
- 开启Springmvc的注解文件
- 静态资源放行
- 配置视图解析器
4、web.xml的配置
配置顺序:
- 启动springmvc的容器
- 启动Spring的容器
- 解决post提交乱码问题
5、jsp
3、easyUI的引用
easyUI核心文件引入
4、事务传播机制
事务:Transactional 属性readOnly=true:只读
propagation = Propagation.SUPPORTS
A去调B,如果B使用的是此机制,A如果没事务,就没有事务,如果A有事务,则B加入此事务
propagation = Propagation.REQUIRED
A去调B,如果A使用此事务机制,没事务,则创建一个,不管B有没有事务,都加入A
propagation = Propagation.REQUIRES_NEW
A去调B,如果B使用此事务,不管A有没有事务,B都开一个全新的事务
propagation = Propagation.NEVER
A去调B,如果B使用此事务,看A是否有事务,有,则报错,没有,则正常运行