Spring
文章平均质量分 55
闻道☞
学习是最好的修行
展开
-
Transaction rolled back because it has been marked as rollback-only
那么现在有A和B两个方法,这两个方法都开启了事务,A方法中调用B方法(因为都使用事务,默认的事务传播级别是PROPAGATION_REQUIRED,所以这过程中会使用同一个事务);当执行B方法的时候,B方法抛出异常,这个时候事务就会被标记为仅回滚(因为在B方法中抛出异常,B方法这事务本该是要回滚,所以会将B方法的事务标记为rollback-only);字面上的意思就是:事务已回滚,因为它已被标记为仅回滚,那为什么会标记为仅回滚呢?转载 2023-10-25 13:40:16 · 11489 阅读 · 0 评论 -
Spring同一个Service类非事务方法调用事务方法事务失效解决方案
同一个Service类中非事务方法调用事务方法,事务会失效失效,这里简单解释一下原因:spring采用动态代理机制来实现事务控制,而动态代理最终都是要调用原始对象的,而原始对象在去调用方法时,是不会再触发代理了!可以理解为同一个类中非事务方法调用方法时用的是当前对象去调用,而不是spring生成的代理对象,所以会导致事务失效。原文链接:https://blog.csdn.net/shichen2010/article/details/121792816。转载 2023-10-24 19:03:51 · 259 阅读 · 0 评论 -
spring中的设计模式
spring中的设计模式应该说设计模式是我们在写代码时候的一种被承认的较好的模式,就像一种宗教信仰一样,大多数人承认的时候,你就要跟随,如果你想当一个社会存在的话。好的设计模式就像是给代码造了一个很好的骨架,在这个骨架里,你可以知道心在哪里,肺在哪里,因为大多数人都认识这样的骨架,就有了很好的传播性。这是从易读和易传播来感知设计模式的好处。当然设计模式本身更重要的是设计原则原创 2017-04-21 16:17:02 · 667 阅读 · 0 评论 -
Spring-bean的循环依赖以及解决方式
本文主要是分析Spring bean的循环依赖,以及Spring的解决方式。 通过这种解决方式,我们可以应用在我们实际开发项目中。什么是循环依赖? 怎么检测循环依赖 Spring怎么解决循环依赖 Spring对于循环依赖无法解决的场景 Spring解决循环依赖的方式我们能够学到什么?1. 什么是循环依赖?循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:注意,这里不是函数的循环调用,是对象的.转载 2020-09-02 21:32:17 · 738 阅读 · 1 评论 -
Spring注解@Resource和@Autowired区别对比
https://www.cnblogs.com/think-in-java/p/5474740.html@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在...转载 2020-05-05 20:47:34 · 1099 阅读 · 0 评论 -
Spring框架中ModelAndView、Model、ModelMap的区别
1. ModelModel 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。 public class ExtendedModelMap extends ModelMap implements Model12.ModelMapModelMap的声明格式:public class ModelMap extends LinkedHashMapSt原创 2017-06-05 18:52:27 · 1223 阅读 · 0 评论 -
SpringMVC常用获取传递参数的方法
Accept与Content-Typ的区别1.Accept属于请求头, Content-Type属于实体头。 Http报头分为通用报头,请求报头,响应报头和实体报头。 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报头结构:通用报头|响应报头|实体报头2.Accept代表发送端(客户端)希望接受的数据类型。 比如:Accept:text/x原创 2017-10-19 09:38:35 · 375 阅读 · 0 评论 -
Spring之AOP,DI,IOC和AspectJ
目录1.DI(依赖注入),IOC(控制反转)2.AOP2.1 JAVA 代理实现3.AspectJ依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程...原创 2018-01-05 13:38:27 · 426 阅读 · 0 评论 -
spring mvc 给Controller添加事务
首先扫描配置要对: 原理:因为spring容器和spring-mvc是父子容器,spring容器会先加载,如果此时扫描了Controller,但未扫描到Service。spring事务配置文件还有上下文都是通过org.springframework.web.context.ContextLoaderListener加载的,而spring MVC的action是通过org.sprin原创 2017-07-25 14:50:45 · 9118 阅读 · 0 评论 -
Spring各种注解标签作用详解
原文:https://www.cnblogs.com/liwendeboke/p/6229564.html@Autowired和@Resource等注解是将Spring容器中的bean注入到属性,而@Component等注解是将bean放入Spring容器中管理。@Autowiredspring2.1中允许用户通过@Autowired注解对Bean的属性变量.属性Sette转载 2017-11-26 15:16:23 · 3917 阅读 · 0 评论 -
Spring 集成 redis(十一)
前言: 目前公司项目在上一个技术架构的处理,已经搭建好了Redis,但redis只用在了做session的管理,然而 后台的对象缓存没有用上 1. redis 和 ehcache的区别: 简单了解了下,个人觉得 从部署上而言,redis更适合分布式部署,ehcache是在每台应用服务器上开辟一块内存做缓存,集群时还得考虑缓存的情况,转载 2016-12-31 18:37:01 · 473 阅读 · 0 评论 -
Spring Cache详解
转载:http://jinnianshilongnian.iteye.com/blog/2001040转载 2018-01-19 12:05:10 · 309 阅读 · 0 评论 -
Spring的断言工具类Assert的基本使用
Assert.notNull(Object object, "object is required") - 对象非空Assert.isTrue(Object object, "object must be true") - 对象必须为true Assert.notEmpty(Collection collection, "collection must not be ...转载 2018-12-05 11:04:07 · 698 阅读 · 0 评论 -
源码解析(1)-手写Spring事务框架
编程式事务控制自己手动控制事务,就叫做编程式事务控制。Jdbc代码:Conn.setAutoCommite(false); // 设置手动控制事务Hibernate代码:Session.beginTransaction(); // 开启一个事务【细粒度的事务控制: 可以对指定的方法、指定的方法的某几行添加事务控制】(比较灵活,但开发起来比较繁琐: 每次都要开启、...原创 2019-08-22 20:25:28 · 236 阅读 · 0 评论 -
源码解析(2)之SpringIOC
什么是SpringIOCspring ioc指的是控制反转,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。交由Spring来管理这些,实现解耦SpringIOC原理使用反射机制+XML技术手写SpringIOC手写SpringIOC之XML版本/** * 手写Spring专题 XML方式注入bean * * */public clas...原创 2019-08-22 20:49:33 · 174 阅读 · 0 评论 -
源码解析(3)之SpringMVC
SpringMVC原理SpringMVC的运行流程⑴ 用户发送请求至前端控制器DispatcherServlet⑵ DispatcherServlet收到请求调用HandlerMapping处理器映射器。⑶ 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。⑷ DispatcherSe...原创 2019-08-22 21:06:12 · 159 阅读 · 0 评论 -
spring,mybatis事务管理配置与@Transactional注解使用
spring,mybatis事务管理配置与@Transactional注解使用概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Pe...转载 2017-05-24 17:54:15 · 375 阅读 · 0 评论 -
spring路径通配符
在应用spring的工程中,使用class path的方式加载配置文件应该是最常用的做法,然而对大部分人来说,刚开始使用Spring时,几乎都碰到过加载配置文件失败的情况,除了配置上的错误外,很多时候是因为配置文件的路径和程序中指定的加载路径不一致,从而导致配置文件找不到,或是加载了错误地方的配置文件。本文将就Spring如何从class path中加载配置文件做一些简要的分析。转载 2016-12-24 13:35:59 · 506 阅读 · 0 评论 -
Spring中通配符
Spring中通配符一、加载路径中的通配符:?(匹配单个字符),*(匹配除/外任意字符)、**/(匹配任意多个目录)classpath:app-Beans.xml说明:无通配符,必须完全匹配classpath:App?-Beans.xml说明:匹配一个字符,例如 App1-Beans.xml 、 App2-Beans.xmlcla转载 2016-12-24 13:38:03 · 437 阅读 · 0 评论 -
Spring 缓存注解@Cacheable的用法
在spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。首先,在使用@Cacheable之前,我们要做好准备工作。第一步:要导入相应的jar包。转载 2016-12-24 13:58:08 · 3003 阅读 · 0 评论 -
SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤SpringMVC 基础教程 框架分析:http://blog.csdn.net/swingpyzf/article/details/8885459SpringMVC 基础教程 简单入门实例:http://blog.csdn.net转载 2016-12-24 14:19:01 · 377 阅读 · 0 评论 -
SpringMVC + mybatis 无法读取JAR包中的XML配置文件问题
SpringMVC + mybatis 无法读取JAR包中的XML配置文件问题在进行SpringMVC+Mybatis进行整合时,如果Mybatis的XML配置文件存在于JAR包中,当工程运行时会报出找不到方法异常。如: spring.SqlSessionFactoryBean">原创 2016-11-28 12:01:58 · 3005 阅读 · 1 评论 -
spring 整合quazrt 详解
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springf原创 2017-01-13 17:14:28 · 1660 阅读 · 0 评论