
Spring
文章平均质量分 64
givmchickenblood
try to like it,do it
展开
-
Spring注解积累
Scheduled注解用于系统定时执行某个方法,原创 2022-10-19 21:38:27 · 211 阅读 · 0 评论 -
java环境参数
dockerfile# 设置spring profile或者自定义的jvm参数。如果需要则打开下面的注释内容ENV SERVICE_OPTS="-Dspring.profiles.active=production -Ddruid.logType=slf4j"java// 在dockerfile启动参数中设置System.getProperty("spring.profiles.active")System.getProperty("user.home"); // home/admini原创 2021-12-11 12:49:13 · 479 阅读 · 0 评论 -
优雅的校验参数 @Valid @Validated
参考如何在项目中优雅的校验参数Bean Validation Spring参数校验转载 2021-11-21 17:26:11 · 145 阅读 · 0 评论 -
spel解析AOP注解 方法出入参数
本文介绍如何在aop编程中解析spel表达式,实现非常简单,Spring本身就提供了简便的api,我们只需要获取:方法:Method method方法参数:Object[] argumentsspel表达式:String spel这些都能从aop入口方法的参数ProceedingJoinPoint中得到。spel表达式显然就是从自定义注解中获取了,而获取方法和参数的方式如下:获取方法:private Method getMethod(ProceedingJoinPoint joinPoint原创 2021-10-13 16:44:52 · 1539 阅读 · 0 评论 -
Filter和Interceptor的比较
参考Filter和Interceptor的比较Filter1、Filter是servlet规范中定义的java web组件, 在所有支持java web的容器中都可以使用2、Filter和Filter Chain是密不可分的, Filter可以实现依次调用正是因为有了Filter Chain上图是Filter对请求进行拦截的原理图, 那么java web容器(以tomcat为例子)是如何实现这个功能的呢?下面看下Filter和Filter Chain的源码 // Filter p转载 2021-10-12 17:52:59 · 314 阅读 · 0 评论 -
@ControllerAdvice、@ExceptionHandler控制全局Controller异常
使用加强Controller做全局异常处理。所谓加强Controller就是@ControllerAdvice注解,有这个注解的类中的方法的某些注解会应用到所有的Controller里,其中就包括@ExceptionHandler注解。参考 https://blog.csdn.net/kinginblue/article/details/70186586...转载 2020-11-20 11:20:07 · 158 阅读 · 0 评论 -
Spring注解解释 @Primary、@Qualifier
当一个接口的实现类有多个时,通过@Component注册多个实现类,注入时候用@Autowired,Spring通过下面两种方式标记你要注入哪个实现:@Primary:被标注该注解实现类,被优化考虑注入对象@Qualifier:先声明后使用,相当于多个实现起多个不同的名字,注入时候告诉我你要注入哪个 @Autowired @Qualifier("xxx") private XXXService xxxService;...原创 2020-10-15 20:29:30 · 266 阅读 · 0 评论 -
@Configuration 和 @Bean 讲解
转自https://blog.csdn.net/javaloveiphone/article/details/521828991、@Configuration标注在类上,相当于把该类(配置类)作为spring的xml配置文件中的< beans>,作用为:配置spring容器(应用上下文)package com.test.spring.support.configuration;@Configurationpublic class TestConfiguration { pub转载 2020-08-04 20:58:01 · 212 阅读 · 0 评论 -
lombok @EqualsAndHashCode 注解的影响
转自:https://blog.csdn.net/zhanlanmg/article/details/50392266原文中提到的大致有以下几点:此注解会生成equals(Object other) 和 hashCode()方法。它默认使用非静态,非瞬态的属性可通过参数exclude排除一些属性可通过参数of指定仅使用哪些属性它默认仅使用该类中定义的属性且不调用父类的方法可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。另:@Data相当于@Getter转载 2020-08-03 21:08:19 · 235 阅读 · 0 评论 -
注解@PostConstruct与@PreDestroy使用讲解
1、简介从JavaEE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明。Spring的@PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean,并且一个Bean中@PostConstruct注解的方法可以有多个。PostConstruct注解用于方原创 2020-07-21 15:00:54 · 1478 阅读 · 0 评论 -
SpringWebMVC处理器拦截器(HandlerInterceptor、WebMvcConfigurerAdapter)详解
转自https://www.jianshu.com/p/1e8d088c2be91、简介SpringWebMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于处理器进行预处理和后处理。2、应用场景1、日志记录,可以记录请求信息的日志,以便进行信息监控、信息统计等。2、权限检查:如登陆检测,进入处理器检测是否登陆,如果没有直接返回到登陆页面。3、性能监控:典型的是慢日志。3、介绍3.1 HandlerInterceptorpublic interface Handle转载 2020-07-15 16:01:58 · 1690 阅读 · 0 评论 -
Spring注解@Component、@Repository、@Service、@Controller、@Autowired、@Resource用法
转自https://www.cnblogs.com/duanxz/p/3793982.html1. Spring定义bean,@Component、@Repository、@Service 和 @ControllerSpring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看转载 2020-07-13 22:23:32 · 500 阅读 · 0 评论 -
初识 springboot+springcloud
一、springboot1、什么是springboot用来简化spring应用的初始搭建以及开发过程,使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序main方法运行嵌入的Tomcat,无需部署war文件简化maven配置自动配置spring,添加对应功能starter自动化配置2、springboot常用的starter...转载 2019-10-16 21:44:13 · 201 阅读 · 0 评论 -
Spring的线程安全
参考:http://www.importnew.com/27440.htmlhttps://www.cnblogs.com/wxd0108/p/5524756.htmlhttps://blog.csdn.net/cws1214/article/details/51901108Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的...原创 2018-10-16 17:34:31 · 2115 阅读 · 1 评论 -
SpringMVC工作原理
https://www.cnblogs.com/xiaoxi/p/6164383.html1、MVC模式:在将SpringMVC之前我们先来看一下什么是MVC模式。MVC:MVC是一种设计模式MVC的原理图:分析:M-Model 模型(完成业务逻辑:由javaBean构成,service+dao+entity)V-View 视图(做界面的展示 jsp,html……)...转载 2019-03-31 16:10:54 · 212 阅读 · 0 评论 -
Spring Boot,Spring Cloud和微服务的简介
Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题—习惯大于约定。Spring Boot 通过一个自动配置和启动项目来解决Spring配置繁琐的问题。为了更快的构建产品就绪应用程序,Spring Boot 提供了一些非功能性特...原创 2019-03-27 21:01:50 · 427 阅读 · 0 评论 -
Swagger2
https://www.cnblogs.com/jtlgb/p/8532433.html1 手写Api文档的几个痛点:文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时接口返回结果不明确不能直接在线测试接口,通常需要使用工具,比如postman接口文档太多,不好管理Swagger也就是为了解决这些问题,直接生成接口文档的方式。当然也不能说Swagger就一定是完美...转载 2019-03-29 12:15:02 · 681 阅读 · 0 评论 -
Spring Bean的生命周期
https://blog.csdn.net/w_linux/article/details/800869501、前言在IoC容器启动之后,并不会马上就实例化相应的bean,此时容器仅仅拥有所有对象的BeanDefinition(BeanDefinition:是容器依赖某些工具加载的XML配置信息进行解析和分析,并将分析后的信息编组为相应的BeanDefinition)。只有当getBean()...转载 2019-04-27 13:35:53 · 301 阅读 · 0 评论 -
快速搭建SpringBoot项目
转自https://www.cnblogs.com/qiyexue/p/7121610.htmlSpring Boot简介:Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。它使用习惯优于配置的理念让你的项目快速运行起来,使用Spring Boot很容易创建一个独立运行(运行jar,内置Servlet容器,Tomcat、jetty)、准生产级...转载 2018-12-27 23:09:04 · 194 阅读 · 0 评论 -
SpringMVC在控制器中获取请求中的?后的参数值(详细)
转自 SpringMVC入门及系列教程(四)-SpringMVC在控制器中获取请求中的参数值(详细) 这篇文章详细介绍了怎么使用@RequestParam,在springmvc中的方法怎么获取前端传过来了的url中“?”后的参数 举个小例子: 假如后台想获取url=”localhost:8080//getList?page=1&amp;rows=10”中的参数 @ApiOperat...原创 2018-07-13 18:45:48 · 1832 阅读 · 0 评论 -
源码分析系列之Spring MVC路由机制
转自https://www.cnblogs.com/killbug/p/3593059.html1、SpringMVC运行原理流程说明:(1)客户端(浏览器)发送请求,直接请求到DispatcherServlet。(2)DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler。(3)解析到对应的Handler后,开始由Handler...转载 2019-07-27 20:14:45 · 2900 阅读 · 0 评论 -
spring的InitializingBean的 afterPropertiesSet 方法 和 init-method配置的 区别联系
https://blog.csdn.net/hikvision_java_gyh/article/details/383468271、InitializingBeanSpirng的InitializingBean为bean提供了定义初始化方法的方式。InitializingBean是一个接口,它仅仅包含一个方法:afterPropertiesSet()。Bean实现这个接口,在afterPr...转载 2019-08-10 12:39:49 · 715 阅读 · 0 评论 -
Java过滤器与SpringMVC拦截器之间的关系与区别
https://blog.csdn.net/chenleixing/article/details/44573495过滤器和拦截器的区别:1 拦截器是基于java的反射机制的,而过滤器是基于函数回调。2 过滤器是servlet规范规定的,只能用于web程序中,而拦截器是在spring容器中,它不依赖servlet容器。3 过滤器可以拦截几乎所有的请求(包含对静态资源的请求),而拦截器只拦截...转载 2019-03-27 08:37:34 · 14827 阅读 · 3 评论 -
Spring框架 Bean IoC DI~~bean的销毁方式没整理
转自http://blog.csdn.net/qq_15096707/article/details/728199301 介绍Spring框架是个轻量级的Java EE框架。所谓轻量级,是指不依赖于容器就能运行的。Struts、Hibernate也是轻量级的。轻量级框架是相对于重量级框架而言的,重量级框架必须依赖特定的容器,例如EJB框架就必须运行在Glassfish、JBoss等支持EJB...转载 2019-03-12 10:29:16 · 205 阅读 · 0 评论 -
BeanUtils.copyProperties()方法的用法及效率
一、简介:org.springframework.beans.BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法:如果你有两个具有很多相同属性的JavaBean,一...原创 2018-06-12 22:31:35 · 4447 阅读 · 0 评论 -
java ssm项目搭建
1、创建项目SSM使用gradle创建项目,按照提示如下image.png输入项目名称,组名 image.png image.png选择本地安装gradle image.png点击下一步创建成功 image.png如图所示,项目结构不完整,下面完善项目结构 手动创建文件夹java和resources,WEB-INF image.png创建web.xml i...转载 2018-06-15 10:19:14 · 242 阅读 · 0 评论 -
Spring注解@Resource和@Autowired区别对比
转自https://www.cnblogs.com/think-in-java/p/5474740.html@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在...转载 2018-10-19 20:43:05 · 1189 阅读 · 0 评论 -
spring中bean配置和bean注入
转自https://www.cnblogs.com/wuchanming/p/5426746.htmlbean与spring容器的关系Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层...转载 2018-10-19 17:46:11 · 99 阅读 · 0 评论 -
Spring 事务的用法、传播机制、原理
参考https://www.cnblogs.com/sonng/p/6587139.html 在一个业务的实现过程中,可能需要多条sql完成对数据库的操作,比如账户登录,需要匹配用户名和密码,然后要增加积分,还要记录登录的ip和时间,这可能需要三个sql语句,这三个语句应当是一个整体,任意一个sql执行不成功,都表示这个业务没有执行完成,这就有了事务的概念。事务是数据库中的概念,就是对数...转载 2018-06-20 10:49:21 · 8321 阅读 · 1 评论 -
Spring AOP代理机制之 CGlib、JDK AOP
参考 https://blog.csdn.net/bigtree_3721/article/details/50774044 http://www.cnblogs.com/hustyangli/archive/2008/09/01/1281319.htmlSpring Framework reference 2.0.5 参考手册中文版 6.6. 代理机制 中是这样写的Spring A...原创 2018-06-20 10:03:00 · 2543 阅读 · 1 评论 -
【Spring框架】mvc:default-servlet-handler/ 的作用
转自 https://www.cnblogs.com/dflmg/p/6393416.html&amp;lt; mvc:default-servlet-handler/&amp;gt;的作用是:解决静态资源请求的问题。优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的...转载 2018-06-15 12:54:48 · 344 阅读 · 0 评论 -
Spring IOC DI
IOC(DI):java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成。通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。你会发现:对象间的耦合度高了。而IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关系业务逻辑本身就可以了。从这方面来说,对象如何得到他的协作对象的责任被反转了(IOC、DI...转载 2019-01-23 10:03:52 · 125 阅读 · 0 评论 -
Spring如何解决循环依赖以及三级缓存概念
转自https://blog.csdn.net/github_38687585/article/details/82317674一、循环依赖的产生和解决的前提循环依赖的产生可能有很多种情况,例如:A的构造方法中依赖了B的实例对象,同时B的构造方法中依赖了A的实例对象A的构造方法中依赖了B的实例对象,同时B的某个field或者setter需要A的实例对象,以及反之A的某个field或者...转载 2019-01-23 21:28:13 · 7551 阅读 · 3 评论 -
【Spring启动过程分析】启动流程简介
https://blog.csdn.net/moshenglv/article/details/53517343首先,对于一个web应用,其部署在web容器(tomcat)中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境;spring容器启动流程定位在spring中,使用统一的资源表现方式Res...转载 2019-03-19 16:55:20 · 11420 阅读 · 2 评论 -
POJO与javabean的区别
参考https://baike.baidu.com/item/POJO/3311958?fr=aladdin1 POJO是什么POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,有一些属性及其getter setter方法的类,没有业务逻辑,这个类没有实现/继承任何特殊的java接口或者类,只能装载数据,作为数据存储的载体,而不...转载 2019-02-28 22:02:16 · 235 阅读 · 0 评论 -
手动实现AOP:动态代理+反射
前面在学习代理模式的时候,了解到代理模式分为动态代理和静态代理。现在我们就以代理模式为基础先实现我们自己的AOP框架,再来研究Spring的AOP的实现原理。1 静态代理先以静态代理实现,静态代理关键是在代理对象和目标对象实现共同的接口,并且代理对象持有目标对象的引用。公共接口代码:public interface IHello { /** * 业务方法 * @...原创 2019-01-22 17:07:30 · 1264 阅读 · 0 评论 -
Spring AOP的2种使用方式
转自https://blog.csdn.net/jeffleo/article/details/54136904一、什么时候该用AOP:假如业务模块一、二、三都需要日志记录,那么如果都在三个模块内写日志逻辑,那么会有两个问题:打破模块的封装性有很多重复代码解决重复代码问题,可以通过封装日志逻辑为一个类,然后在各个模块需要的地方通过该类来试下日志功能,但是还是不能解决影响模块封装性的...转载 2019-01-22 16:44:49 · 283 阅读 · 0 评论 -
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
转自https://blog.csdn.net/luanlouis/article/details/245891931 class文件简介及加载Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Cla...转载 2019-01-21 22:21:38 · 600 阅读 · 0 评论 -
Spring AOP实现原理(基于JDK和基于CGLIB)
2 如何使用Spring AOP可以通过配置文件或者编程的方式来使用Spring AOP。★ 通过配置xml(四种方式):配置ProxyFactoryBean,显式地设置advisors, advice, target等配置AutoProxyCreator,这种方式下,还是如以前一样使用定义的bean,但是从容器中获得的其实已经是代理对象通过&amp;amp;lt; aop:config&amp;amp;gt;来配置...转载 2019-01-22 10:22:48 · 1207 阅读 · 0 评论 -
Spring AOP的实现原理
参考https://www.cnblogs.com/lcngu/p/5339555.htmlhttps://blog.csdn.net/yuexianchang/article/details/77018603#t4https://blog.csdn.net/luanlouis/article/details/51095702#t41 简介前段时间写的java设计模式–代理模式,最近在看...转载 2019-01-21 17:38:11 · 279 阅读 · 0 评论