spring aop 异常处理 Java后端1年经验和技术总结(3)

电脑杂谈  发布时间:2018-02-02 12:07:51  来源:网络整理

分页查询()。

连接池技术

4.2 Spring IOC

4.2.1 Spring bean

bean注入 注解方式方便易读,引用第三方(连接,连接池,JedisPool等)采用配置文件方式。

bean作用域:Singleton,prototype,request,session,global session

4.3 Spring AOP

基本概念:关注点、切面Aspect、切入点pointcut、连接点joinpoint、通知advice、织入weave、引入introduction。

Spring AOP支持5中类型通知,分别是MethodBeforeAdvice、AfterReturningAdvice、ThrowsAdvice、MethodInterceptor、IntroductionInterceptor(吐槽一下名字太长)

实现方式如下:

基于代理的AOP

基于@Aspect注解驱动的切面。(强烈推荐:可读性好,易维护,易扩展,开发快)

纯POJO切面。

注入式Aspect切面。

4.4 Srping事务

4.4.1 事务传播

概念:某些操作需要保证原子性,如果中间出错,需要事务回滚。如果某个事务回滚,那么调用该事务的方法中的事务的作出如何的动作,就是事务传播。

短时间内写不清楚,建议访问 查看。

事务传播属性:

PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。

PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。

PROPAGATIONREQUIRESNEW--新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATIONNOTSUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。

事务隔离级别:

ISOLATION_DEFAULT: 这是一个PlatfromTransactionManager默认的隔离级别,使用默认的事务隔离级别.另外四个与JDBC的隔离级别相对应

ISOLATIONREADUNCOMMITTED: 这是事务最低的隔离级别,充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。

ISOLATIONREADCOMMITTED: 保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据

ISOLATIONREPEATABLEREAD: 这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。

ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。

4.5 其他Spring 技术栈

spring boot 轻量级启动框架

spring security 用户权限管理,根据角色和用户,实现UserDetailsService,进行自定义权限管理。

spring task 代码级定时任务,注解方式,使用起来非常方便。需要注意的是,如果某次定时任务出了异常而没有进行处理,会导致接下来定时任务失效。如果各个任务相互独立,可以简单用try,catch包围(之前就吃过这方面的亏)。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-64566-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...