
Spring
文章平均质量分 88
Crystalqy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springBoot AOP @Before,@Around,@After,@AfterReturn,@AfterThrowing的理解
@Before,@Around,@After,@AfterReturn,@AfterThrowing的理解连接点(Joinpoint) :程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。——可以理解为被aop拦截的类或者方法就是连接点。通知(Advice) :通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个...原创 2020-02-13 11:29:24 · 21455 阅读 · 2 评论 -
spring 缓存 @CachePut 和 @Cacheable 区别
首先这两个的区别是:@CachePut:这个注释可以确保方法被执行,同时方法的返回值也被记录到缓存中。@Cacheable:当重复使用相同参数调用方法的时候,方法本身不会被调用执行,即方法本身被略过了,取而代之的是方法的结果直接从缓存中找到并返回了。 @CachePut和@Cacheable这两个标签可以结合使用,当需要根据请求改变值的时候,利用@CachePut将值改变并写入到缓...原创 2018-11-26 11:20:38 · 2034 阅读 · 0 评论 -
JDK动态代理给Spring事务埋下的坑
一、场景分析最近做项目遇到了一个很奇怪的问题,大致的业务场景是这样的:我们首先设定两个事务,事务parent和事务child,在Controller里边同时调用这两个方法,示例代码如下:1、场景A:这里其实是分别执行了两个事物,执行的结果是两个方法都可以插入数据!如下 2、场景B:修改上述代码如下: Propagation.REQUIRES_NEW的...原创 2018-01-18 17:25:45 · 826 阅读 · 0 评论 -
Spring boot整合mongodb
mongodb是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的居多。由于很多公司使用了云服务,服务器默认都开放了外网地址,导致前一阵子大批 MongoDB 因配置漏洞被攻击,数据被删,引起了人们的注意,感兴趣的可以看看这篇文章:场屠戮MongoDB的盛宴反思:超33000个数据库遭遇入侵勒索,同时也说明了很多公司生产中大量使用mongodb。mongodb简介...转载 2018-03-20 11:02:44 · 330 阅读 · 0 评论 -
Spring和SpringMVC父子容器关系初窥
一、背景 最近由于项目的包扫描出现了问题,在解决问题的过程中,偶然发现了Spring和SpringMVC是有父子容器关系的,而且正是因为这个才往往会出现包扫描的问题,我们在此来分析和理解Spring和SpringMVC的父子容器关系并且给出Spring和SpringMVC配置文件中包扫描的官方推荐方式。二、概念理解和知识铺垫 在Spring整体框架的核心概念中,容器是核心思想,就是用来管理Be...转载 2018-03-23 15:54:00 · 190 阅读 · 0 评论 -
spring整合 mybatis 事务管理不生效原因
项目中使用Spring整合mybatis 在service类上加了@Transactional,但是事务不生效,检查发现是由于配置文件导致的问题;开始spring-mvc.xml是这样的:<context:component-scan base-package="com.ibsp.*" ></context:component-scan>要改成:<context:c...原创 2018-03-23 14:53:46 · 5713 阅读 · 2 评论 -
Spring 事务管理
Spring事务的本质其实就是数据库对事务的支持,事务的出现是为了确保数据的完整性和一致性,使用JDBC的事务管理机制,就是利用java.sql.Connection对象完成对事务的提交。如果不使用Spring,直接使用Connection控制事务,我们需要这么做:Connection conn = DriverManager.getConnection();try { conn.s...原创 2018-03-19 15:27:05 · 226 阅读 · 0 评论 -
深入理解Spring的两大特征(IOC和AOP)
众所周知,Spring的核心特性就是IOC和AOP,IOC(Inversion of Control),即“控制反转”;AOP(Aspect-OrientedProgramming),即“面向切面编程”。参考书《Spring In Action》,下面分享一下我对这两大特性的个人理解。IOC:IOC,另外一种说法叫DI(Dependency Injection),即依赖注入。它并不是一种技术实现,...转载 2018-03-19 10:10:25 · 279 阅读 · 0 评论 -
Spring AOP的实现原理
AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以Spring AOP为代表。本文会分别对AspectJ和Spring A...转载 2018-03-19 09:53:11 · 239 阅读 · 0 评论 -
Spring Boot Actuator分析,自定义端点
每个Actuator端点都是有一个特定的ID用来决定端点的路径。/beans端点的默认ID就是 beans。端点的路径是由ID决定的,那么可以通过修改ID来改变端点的路径。要做的就是设置一个属性, 属性名是 endpoints.endpoint-id.id修改端点的ID: 如把/beans改为/beansome: endpoints.beans.id=beansome 这时要是想查看...原创 2018-02-07 16:36:34 · 6467 阅读 · 0 评论 -
Spring 编程式事务控制
工作上有个需求,A服务在调用B服务的方法之前需要先保存业务数据,B服务方法对业务数据进行计算,开启后续流程,然后再调用A服务的数据进行处理更新业务状态,整个流程都是连贯的。但是如果在最开始A服务的事务没有提交,后续的A服务通过ID查询业务数据的时候为空,但是整个系统都是有事务控制的,处理思路是在最开始的方法上加上注解 : @Transactional(propagation=Propagati原创 2018-02-07 15:02:55 · 517 阅读 · 0 评论 -
Spring事务异常回滚,捕获异常不抛出就不会回滚
下面这种情况,使用了catch捕获了异常,spring事务不会发生回滚try {userDao.save(user);userCapabilityQuotaDao.save(capabilityQuota);} catch (Exception e) {logger.info("能力开通接口,开户异常,异常信息:"+e);} 默认spring事务只在发生未被捕获原创 2018-01-12 16:27:04 · 4728 阅读 · 2 评论 -
Spring实例化Bean的方式及类型
使用Spring进行java Bean的实例化的时候有三种不同的方式:1、 使用类构造器实例化 [默认的类构造器]<bean id=“demoService" class="cn.person.DemoServiceBean"/>2、 使用实例工厂方法实例化<bean id="personService" class="cn.person.service.O...原创 2018-02-01 17:26:41 · 569 阅读 · 0 评论