栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springReview

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springReview

文章目录
  • IOC容器
    • 基于XML管理bean
    • 基于注解管理bean
      • 扫描
      • 自动装配
    • 整合junit4
      • junit5
  • AOP面向切面编程
    • 基于注解的AOP
    • 切面的优先级
  • 声明式事务
    • 基于注解的声明式事务

IOC容器

控制反转,翻转资源获取方向
任何功能都基于IOC容器
DI:依赖注入
new ClassPathXmlApplicationContext:读取类路径下的XML文件创建IOC
new FileSystemXmlApplicationContext:读取文件系统路径的XML创建IOC

基于XML管理bean
获取bean
根据id获取
根据类型获取 .class
给bean赋值配置文件
	bean 
		property name value
	引入外部bean
		property name ref
	内部bean
引入外部属性文件
	
级联属性
	ref
构造器注入
	constructor value
bran的作用域
	scope IOC初始化时 默认
	prototype 获取bean

bean对象初始化之前的操作和之后的操作,由bean的后置处理器负责

基于注解管理bean

XML和注解只是告诉框架中的Java代码如何执行
@Component:普通组件
@Controller控制器组件
@Service业务逻辑组件
@Repository持久化层组件

扫描

指定匹配模式	resource-pattern
排除要扫描的组件 
	context:exclude-filter type="annotation" expression=""
仅扫描的组件
	context:include-filter type="annotation" expression=""
beanName 
	组件首字母小写
自动装配
@Autowired
	@qualifier value=""
完全注解开发	
普通类使用@Configuration	
		@ConponentScan() //配置自动扫描的包
			@bean
整合junit4
加入依赖
	spring测试包  spring-test		
@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration(value={".xml"})		
junit5
@SpringJUnitconfig(location={".xml"})
AOP面向切面编程

在不修改源代码的情况下增强代码功能()
解耦
采用代理模式
创建代理对象Proxy.newProxyInstance(,)
Lambda表达式:
1、复制小括号;2、写死右箭头;3、落地大括号
环绕通知:前置通知,核心操作,返回通知,异常通知,后置通知

基于注解的AOP

有接口的情况:动态代理(拜把子)
没有接口的情况cglib(认干爹)
1.依赖spring-aspect
2.创建切面类@Aspect
3.@Before,@AfterReturning,@AfterThrowing,@After(value = “execution”)
4.Spring配置文件
开启基于注解的AOP功能aop:aspectj-autoproxy
配置自动扫描的包
一个方法的全部声明信息
joinPoint.getSignature()
重用切入点表达式
@Poincut(“execution()”)
execution(* *…Service.(…))

切面的优先级

外(缓存切面)>内(事务切面)
应用了切面后,真正放在IOC容器中的代理类是对象

声明式事务

只需要声明需求,通过配置,让框架实现功能
事务管理器DataSourceTransactionManager
doBegin()开启事务
doSuspend()挂起事务
doResume()恢复挂起的事务
doCommit()提交事务
doRollback回滚事务

基于注解的声明式事务
1、加入依赖
org.springframework
	spring-context //
	spring-orm //持久层支持
	spring-test //测试
junit
	junit
mysql
	mysql-connector-java
com.alibaba
	druid
2、外部属性文件jdbc:properties
3、Spring配置文件
配置自动扫描的包
引入外部文件
配置数据源
配置jdbcTemplate
	装配数据源
4、配置事务管理器

	//只配置数据源

开启事务管理器

加注解@Transaction
## 加入日志logback.xml
超时回滚,释放资源timeout= //以秒为单位
默认只在运行异常回滚
事务隔离级别
	读未提交isolation = Isolation.READ_UNCOMMITTED
	都已提交						.READ_COMMITTED
每次都会开启新事务
	propagation = Propagation.REQUIRES_NEW
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号