------【Spring】
文章平均质量分 83
_夜渐凉
_与其临渊羡鱼,不如退而结网
展开
-
Spring的内部方法调用时,AOP切面失效问题解决
基于SpringBoot场景:A方法调用内部B方法,需要切B方法1,新建工具类SpringContextUtil实现ApplicationContextAware接口,@Component交给容器管理@Componentpublic class SpringContextUtil implements ApplicationContextAware { private st...原创 2019-12-06 11:18:40 · 2152 阅读 · 2 评论 -
Spring中的 @Lazy注解简析
Spring IoC (ApplicationContext) 容器一般都会在启动的时候实例化所有单实例 bean 。如果我们想要 Spring 在启动的时候延迟加载 bean,即在调用某个 bean 的时候再去初始化,那么就可以使用 @Lazy 注解。@Lazy 的属性value 取值有 true 和 false 两个 默认值为 truetrue 表示使用 延迟加载, false 表...原创 2019-11-07 09:30:40 · 76445 阅读 · 3 评论 -
Spring 的注解 @Qualifier小结
先说明下场景,代码如下:有如下接口:public interface EmployeeService { public EmployeeDto getEmployeeById(Long id);}同时有下述两个实现类 EmployeeServiceImpl 和 EmployeeServiceImpl1:@Service("service")public class ...转载 2019-02-02 16:55:06 · 585 阅读 · 0 评论 -
Spring注解 @Autowired, @Resource, @Qualifier的区别
参考博文:http://www.cnblogs.com/happyyang/articles/3553687.htmlhttp://blog.csdn.net/revent/article/details/49203619http://blog.csdn.net/ad921012/article/details/49679745spring不但支持自己定义的@Autowired注解...转载 2019-02-02 17:21:22 · 214 阅读 · 0 评论 -
使用Spring StateMachine框架实现状态机
快速入门依照之前的风格,我们通过一个简单的示例来对Spring StateMachine有一个初步的认识。假设我们需要实现一个订单的相关流程,其中包括订单创建、订单支付、订单收货三个动作。下面我们来详细的介绍整个实现过程: 创建一个Spring Boot的基础工程,并在pom.xml中加入spring-statemachine-core的依赖,具体如下: <parent&...转载 2019-02-20 17:49:39 · 325 阅读 · 0 评论 -
浅谈spring为什么推荐使用构造器注入
一、前言 Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由Spring的IOC容器管理,将对象的依赖关系由Spring控制,避免硬编码所造成的过度程序耦合。前几天的时候,笔者的同事问我为什么要使用构造器的注入方式,我回答说因为Spring文档推荐这种,而说不...转载 2019-05-16 15:09:13 · 602 阅读 · 0 评论 -
关于Spring RestTemplate乱码问题解决
发起Http请求有很多方法,Spring本身提供了RestTemplate类,简化了发起HTTP请求以及处理响应的过程,并且支持REST场景:restTemplate通过http请求的接口以String类型返回,出现了乱码原因:以JavaBean,Map,JSONObject格式分别提交数据时,postForObject底层均采用了MappingJackson2HttpMessageCon...原创 2019-08-16 18:27:51 · 423 阅读 · 0 评论 -
解决spring循环依赖的问题:has been injected into other beans
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerServiceServiceImpl' defined in file [C:\Users\...\CustomerServiceServiceImpl.class]: Unsatisfi...原创 2019-09-04 18:03:08 · 8231 阅读 · 0 评论 -
Spring AOP 的两种形式:拦截方法 and 拦截注解
AOP模块提供了面向切面的编程实现,允许你定义方法拦截器和切入点对代码进行干净地解耦,它实现了应该分离的功能。一,添加aop依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</art...原创 2019-09-19 16:06:58 · 2281 阅读 · 0 评论 -
web项目读取classpath下面文件心得总结
阅读之前须知:本文用到spring的工具类和,commons-io工具类首先分两大类按web容器分类一种是普通的web项目,像用Tomcat容器,特点是压缩包随着容器的启动会解压缩成一个文件夹,项目访问的时候,实际是去访问文件夹,而不是jar或者war包这种的无论你是用获取路径的方法this.getClass().getResource("/")+fileName,获取流的方法this...转载 2018-12-13 20:45:39 · 341 阅读 · 0 评论 -
Java 开发之 @PostConstruct 和 @PreConstruct 注解
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。这两个注解被用来修饰一个非静态的void()方法,而且这个方法不能有抛出异常声明。使用方式,例如:// 方式1 @PostConstruct p...原创 2018-12-06 11:40:14 · 863 阅读 · 0 评论 -
Spring - constructor-arg和property的使用示例
1、说明 constructor-arg:通过构造函数注入。 property:通过setter对应的方法注入。 2、constructor-arg的使用示例 (1)、Model代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14...转载 2018-06-27 10:39:36 · 343 阅读 · 0 评论 -
原生Servlet与Spring Controller性能比较
在实际项目工作,有同事提出,Java原生的Servlet性能(响应速度与并发数)要比封装过的Spring Controller高,基于这点,楼主用Apache的ab工具,对两个简单的应用做1000并发压力测试,查看两者的响应速度与并发数、平均响应时间等参数。 ab工具的使用与介绍,楼主就不描述了,网上的文章很多,读者可以参考《Windows下Apache服务器自带Ab....转载 2018-09-04 17:11:32 · 3386 阅读 · 0 评论 -
工厂模式和Spring的IOC
依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作...原创 2018-09-11 16:35:21 · 306 阅读 · 0 评论 -
Spring加载properties文件的两种方式
在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便。在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式。下面分别讨论下这两种方式。1. 通过xml方式...转载 2018-09-10 15:36:38 · 128 阅读 · 0 评论 -
Spring cache相关注解介绍 @Cacheable、@CachePut、@CacheEvict
@Cacheable@Cacheable是用来声明方法是可缓存的。将结果存储到缓存中以便后续使用相同参数调用时不需执行实际的方法。直接从缓存中取值。最简单的格式需要制定缓存名称。 例如:@Cacheable("books")public Book findBook(ISBN isbn) {...}在上面的代码片段中,findBook方法与名为books的缓存想关联。每次调用该方...转载 2018-09-07 10:39:35 · 241 阅读 · 0 评论 -
详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
注释介绍@Cacheable@Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存@Cacheable 作用和配置方法参数 解释 example value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 例如: @Cacheable(value=”mycache”) @Cacheable(va...转载 2018-09-07 11:40:59 · 1008 阅读 · 0 评论 -
Spring 缓存注解 @Cacheable的用法
在spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。首先,在使用@Cacheable之前,我们要做好准备工作。第一步:要导入相应的jar包 <classpathentry ki...转载 2018-09-18 11:35:06 · 25351 阅读 · 1 评论 -
Spring---ApplicationContext的事件机制
ApplicationContext的事件机制简介1,事件源:ApplicationContext.publishEvent()方法:用于主动触发容器事件。2,事件:ApplicationEvent类,容器事件,必须由ApplicationContext发布。(实际应用时,容器事件除了继承了ApplicationEvent类外,其实它就是一个普通的Java类)3,事件监听器:App...原创 2018-11-01 18:29:33 · 433 阅读 · 0 评论