
spring
文章平均质量分 75
ywl470812087
个人简介:深耕物联网行业,ERP,优快云博客专家。 任职华为网联网智慧照明、空调资深工程师,并且上线投产使用,研发企业亿量级吞吐中间件。 擅长 Java语言、C语言等。
展开
-
spring中为什么要三级缓存?二级不行吗
这是我看过视频中最能解释的文字表达了先说bean的创建过程:实例化->依赖注入->初始化实例化之后会提前暴露到缓存,用于解决循环依赖问题。原创 2022-12-30 12:38:05 · 1633 阅读 · 5 评论 -
循环依赖源码深度解析
循环依赖源码深度解析原创 2022-11-07 15:00:55 · 351 阅读 · 0 评论 -
spring如何解决循环依赖
什么是循环依赖?循环依赖其实是指两个及以上bean相互持有对方,最终形成闭环的过程(一般聊循环依赖都是默认的单例bean),简单说就是A依赖B,B依赖C,C又依赖A。下面我就借用别人的网图来解释下:注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。Spring中循环依赖场景主要有以下两种:(1)field属性的循环依赖(2)构造器的循环依赖(3)DependsOn循环依赖2、怎么检测循环依赖。原创 2022-11-04 15:33:54 · 424 阅读 · 0 评论 -
@Autowired、@Qualifier、@Resource的区别
@Autowired、@Qualifier、@Resource的区别原创 2022-02-14 22:46:06 · 718 阅读 · 0 评论 -
Spring中AOP开发步骤
AOP:不是由Spring定义.AOP联盟的组织定义.Spring中的通知:(增强代码)前置通知 org.springframework.aop.MethodBeforeAdvice* 在目标方法执行前实施增强后置通知 org.springframework.aop.AfterReturningAdvice* 在目标方法执行后实施增强环绕通知 org.aopallianc...原创 2017-01-11 20:38:36 · 96074 阅读 · 0 评论 -
spring整合web
既然说到web自然就有servlet:public class UserServlet extends HttpServlet {@SuppressWarnings("resource")public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, ...原创 2017-01-11 15:47:14 · 108394 阅读 · 0 评论 -
SpringAOP的CGLIB动态代理的底层原理实现
欢迎加入java学习讨论群:725562382CGLIB动态代理:CGLIB(Code Generation Library)是一个开源项目!是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。 Hibernate支持它来实现PO(Persistent Object 持久化对象)字节码的动态生成Hibernate生成持久化类的javassis...原创 2017-01-11 18:29:02 · 114174 阅读 · 0 评论 -
Java设计模式(13)----------代理模式
原文:https://www.imooc.com/article/24850默课道可工程师学习地址:https://www.imooc.com/article/24850介绍代理模式中,在客户端与对象之间增加了一个代理层。客户端在进行访问时候,不是直接访问对象,而是访问代理。代理模式是一种结构型的设计模式。通过代理模式,可以解决直接访问对象带来的一些问题,并且可以进行访问控制。代理...转载 2019-10-21 21:47:44 · 130657 阅读 · 0 评论 -
动态代理原理源码分析
看了这篇文章非常不错转载:https://www.jianshu.com/p/4e14dd223897Java设计模式(14)----------动态代理原理源码分析上篇文章《Java设计模式(13)----------代理模式》中,介绍了两种代理模式(静态代理和动态代理)的应用场景和实际应用案例。本篇文章中,对动态代理的原理做进行深入的分析。关于动态代理,初看可能会比较费解,大概有如...转载 2019-10-21 21:45:34 · 119118 阅读 · 0 评论 -
SpringMVC中使用@ResponseBody注解标注业务方法
SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面导包:除了一些spring的包之外,还需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 这三个包 开启@ResponseBody注解:在 spring-mvc.xml 中通过<mvc:annotati...原创 2018-05-21 15:03:40 · 97536 阅读 · 0 评论 -
@Autowired(required=false)注入注意的问题
1、前言在使用spring开发过程中,我们基本上都是使用@Autowired这个注解,用来注入已有的bean。但是有些时候,会注入失败。当我们加上参数(required=false)就能解决。今天整理一个我在实际开发中的例子2、required属性@Autowired(required=true):当使用@Autowired注解的时候,其实默认就是@Autowired(required=true)...转载 2018-05-15 11:11:46 · 177561 阅读 · 8 评论 -
spring Autowired(required = false) 说明
当候选 Bean 数目不为 1 时的应对方法 在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean。我们可以来做一个实验: 清单 10. 候选 Bean 数目为...转载 2018-05-15 11:15:11 · 111650 阅读 · 0 评论 -
SpringMVC @RequestBody接收Json对象字符串
以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType: "json...转载 2018-05-21 17:38:58 · 125926 阅读 · 0 评论 -
Http请求中Content-Type讲解以及在Spring MVC中的应用
引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息。1. Content-Type MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Ht...转载 2018-05-22 09:57:53 · 116441 阅读 · 0 评论 -
Spring注解
声明Bean的注解:@Component : 组件,没有明确的角色@Service : 在业务逻辑层(service层)使用@Repository : 在数据访问层(dao层)使用.@Controller : 在展现层(MVC--SpringMVC)使用注入Bean的注解:@Aautowired : Spring提供的注解.@Inject : JSR-330提供的注解@Resource : JSR...转载 2018-05-23 21:45:00 · 116757 阅读 · 0 评论 -
静态代理和动态代理
代理Proxy:Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 为了保持行为的一致性,代理类和委托类通常会实现相同的...原创 2019-10-25 21:54:06 · 114575 阅读 · 0 评论 -
Spring中解决事务以及异步注解失效
Spring中解决事务以及异步注解失效一、重现@Transaction失效的场景 有如下业务场景,新增订单后,自动发送短信,下面的代码在同一个类中:@Transactionpublic void addOrder(OrderInfo orderInfo){ orderMapper.insert(orderInfo); try{...转载 2019-03-13 14:04:39 · 122391 阅读 · 3 评论 -
OpenSessionInViewFilter源码分析
当hibernate+spring配合使用的时候,如果设置了lazy=true,那么在读取数据的时候,当读取了父数据后,hibernate会自动关闭session,这样,当要使用子数据的时候,系统会抛出lazyinit的错误,这时就需要使用spring提供的 OpenSessionInViewFilter,OpenSessionInViewFilter主要是保持Session状态知道reque...转载 2017-12-08 11:44:16 · 98927 阅读 · 0 评论 -
spring 环境配置
搭建Spring开发环境并编写第一个Spring小程序一.前面,我写了一篇Spring框架的基础知识文章,里面没讲到如何配置Spring开发环境,今天就来讲一下,如果大家不知道怎么下载Spring软件包的话 下面,我将用两种方式来讲述如何搭建Spring环境,其中第一种是利用MyEclipse工具里自带的来自动配置Spring,第二种事由我们自转载 2017-06-14 10:53:48 · 116077 阅读 · 0 评论