
Spring学习记录
文章平均质量分 72
Drizzleeeeee
这个作者很懒,什么都没留下…
展开
-
Spring Cloud-Feign设计原理
什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign被广泛应用在Spring Cloud 的解决方案中,是学习基于Spring Cloud 微服务架构不可或缺的重要组件。开源项目地址:https://g原创 2020-11-17 11:19:15 · 202 阅读 · 0 评论 -
Spring之Aware
Spring 中的Aware用于帮助bean获取Spring Bean获取Spring容器的功能。如这些Aware: ApplicationContextAware//获取容器服务 BeanNameAware//获取BeanName ResourceLoaderAware//获取资源加载器服务想获取什么功能就实现什么Aware即可。以ApplicationContextAware为例,实现获取Aware功能的步骤:1、实现相应的Aware接口2、重写setXXX方法..原创 2020-11-13 17:37:55 · 191 阅读 · 0 评论 -
BeanPostProcessor使用
1. BeanPostProcessor简介BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。接口声明如下:public interface BeanPostProcessor { //bean初始化方法调用前被调用 Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException; //bean初始化方法调用后被调用.原创 2020-11-13 17:34:09 · 270 阅读 · 0 评论 -
spring cloud-sleuth原理浅析
本文基于sleuth 2.2.5版本sleuth是一个链路追踪工具,通过它在日志中打印的信息可以分析出一个服务的调用链条,也可以得出链条中每个服务的耗时,这为我们在实际生产中,分析超时服务,分析服务调用关系,做服务治理提供帮助。第一次使用sleuth,虽说跟着网上的教程也可以运行出正确的结果,但是对于原理、更进一步的使用还是一头蒙。我就尝试着分析一下源代码,其代码量并不大,但是代码还真是难懂,看了一段时间源码,并从网上找了资料,只是对原理、部分类的作用有了一些了解,我通过本文做一下介绍。文章目.原创 2020-11-13 17:32:55 · 2890 阅读 · 0 评论 -
Spring生命周期
Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Bean的生命周期。只有四个!是的,Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。实例化和属性赋值对应构造方法和setter方法的注入,初始化原创 2020-11-13 17:30:40 · 146 阅读 · 0 评论 -
@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
前言对于与数据库相关的 Spring MVC 项目,我们通常会把事务配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化的 try-catch 的代码,很难看也难维护,特别是还需要对 Service 层的不同异常进行不同处理的时候。例如..原创 2020-09-22 10:27:33 · 141 阅读 · 0 评论 -
Spring项目启动卡死在Parsed mapper file无错误日志问题解决
错误日志如下:直接停止启动,无详细错误信息日志。2020-09-15 15:08:15.124 DEBUG 12 --- [main] c.m.c.c.m.CrmMybatisAutoConfiguration : Parsed mapper file: 'URL [jar:file:/opt/webapps/sms-gateway.jar!/BOOT-INF/lib/plugin-service-1.0.jar!/config/mybatis/mapper/cn/yang/crm/plugi...原创 2020-09-15 15:16:26 · 11834 阅读 · 2 评论 -
Spring中的@Transactional(rollbackFor = Exception.class)属性详解
序言今天我在写代码的时候,看到了。一个注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,这个注解的用法;异常如下图所示,我们都知道Exception分为运行时异常RuntimeException和非运行时异常error是一定会回滚的如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。如果不想终止,则必须捕获所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了..原创 2020-09-01 10:21:26 · 309 阅读 · 0 评论 -
spring cloud版本号命名规范
最近公司在使用spring cloud进行开发,对于spring cloud版本号一直有疑惑。那个版本在前?那个版本在后?那个版本是最新的?一、常见版本号说明 举个瓜:2.0.3 RELEASE 2:主版本号,当功能模块有较大更新或者整体架构发生变化时,主版本号会更新 0:次版本号。次版本表示只是局部的一些变动。 2:修改版本号。一般是bug的修改或者是小的变动 RELEASE:希腊字母版本号。此版本号用户标注当前版本的软件处于哪个开发阶段二、希腊字母版本.原创 2020-08-08 14:59:21 · 989 阅读 · 0 评论 -
spring配置中《context:annotation-config》 和 《context:component-scan》区别
看到网上有很多大神的文章讲解,讲得很好很深,可是我没有用到过,理解不了,在这写一点我自己理解的区别。 如果想使用@AutoWired注解,需要在Spring配置文件中配置<context:annotation-config> 。 <context:annotation-config>做了什么呢? 他的作用是向 Spring 容器注册了以下4个Bean...原创 2018-09-26 20:30:42 · 669 阅读 · 0 评论 -
使用SSM框架完成简单的注册功能
一.环境搭建 1.导入jar包(不管用上用不上,上去就是一梭子) 2.配置web.xml文件 在web.xml中只需要配置Spring框架和SpringMVC框架的相关信息,myBatis不与web层打交道,所以不需要配。 Spring框架在web.xml中的相关配置: 因为配置文件只需要加载一次,所以应该找一个只会运行一次的方法来触发加载...原创 2018-05-06 13:00:45 · 8869 阅读 · 2 评论 -
MockMvc模拟请求进行测试
1.ContextConfiguration加载配置文件的时候,也要加载SpringMvc的配置文件2.模拟请求的时候需要一个很重要的对象org.springframework.test.web.servlet.MockMvc MockMvc,该对象被初始化时需要方法 MockMvcBuilders.webAppContextSetup(context).build();来创建, 而conte...原创 2018-05-12 18:18:57 · 3008 阅读 · 3 评论 -
Spring学习记录
DI域属性的注入给引用属性注入时有三种方式,第一种:使用byType方式注入第二种:使用byName方式注入使用byName方式注入的第二种:使用@Resource标签并制定name属性AOP前置通知:定义接口实现接口的目标对象 新建自己的前置通知类来实现MethodBeforeAdvice接口,其中method是目标对象的方法,args是参数,target是目标对象在配置文件中注册后置通知...原创 2018-05-03 21:04:49 · 297 阅读 · 0 评论 -
SSM整合
springMVC配置文件中主要配什么? 1.相关的处理器 2.视图解析器spring配置文件中主要配什么? 1.数据源 2.sqlSessionFactoryBean 3.一些service相关的类 4.mapper映射文件 5.将mybatis接口的实现加入到ioc容器中 6.事物的配置mybatis配置文件中主要配什么? 1.可以配个别名...原创 2018-05-09 18:40:13 · 165 阅读 · 0 评论