
spring
流里个浪
这个作者很懒,什么都没留下…
展开
-
MyBatis-Spring 初始化的流程(源码)
基于以下版本MyBatis-Spring-2.0.4MyBatis-3.5.4@MapperScan可以根据org.mybatis.spring.sample.SampleEnableTest这个单元测试来进行调试指定需要扫描的包,这里主要是引入了MapperScannerRegistrar这个类@Retention(RetentionPolicy.RUNTIME)@Target...原创 2020-03-22 16:13:22 · 399 阅读 · 0 评论 -
SpringBoot项目xxx.jar中没有主清单属性
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin<...原创 2020-03-15 13:39:30 · 376 阅读 · 0 评论 -
Spring 的@Transactional或者切面不生效的坑
Spring的声明式事务和切面都是通过aop进行动态代理实现的所以直接通过this来调用方法的话,将不会触发事务和切面示例package com.oneconnect.sg.service.impl;@Servicepublic class UserManagerServiceImpl implements UserManagerService { @Override ...原创 2020-03-12 14:49:26 · 1230 阅读 · 1 评论 -
Redis多database(数据源)
Redis哨兵模式切换database为了实现数据隔离注册多个RedisTemplate实现了BeanFactoryAware接口,会在Bean初始化阶段执行其方法多个Redis实例也可使用这种方式get(String topOrg) 方法可以根据topOrg去BeanFactory中获取对应的redisTemplatetopOrg可以存在ThreadLocal或者其他地方@Co...原创 2020-03-04 22:25:59 · 1868 阅读 · 0 评论 -
Spring AOP源码解析
AOP流程先看这个方法org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[])...原创 2020-03-09 14:33:57 · 877 阅读 · 0 评论 -
Spring-Bean的生命周期
Bean的实例化过程所调用的部分后置处理器1. InstantiationAwareBeanPostProcessorpostProcessBeforeInstantiationorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean(java.lang.String, ...原创 2020-02-21 22:31:34 · 479 阅读 · 0 评论 -
Spring-Cloud之hystrix
hystrix是什么Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比 如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分 布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调 用方返回一个符合预期的、可处理的备...原创 2020-02-11 14:38:02 · 214 阅读 · 0 评论 -
Spring生命周期回调三种方式及源码分析
文章目录三种方式代码示例执行结果@Scope("singleton")--单例@Scope("prototype")--原型源码分析初始化方法销毁方法三种方式@Bean指定初始化和销毁方法实现InitializingBean和DisposableBean@PostConstruct&@PreDestroy代码示例以下将三种方式一起使用,以便看出他们的执行顺序/**...原创 2020-01-17 23:15:25 · 347 阅读 · 0 评论 -
SpringMVC统一处理返回异常--@ControllerAdvice
自定义一个异常自定义若干个运行时异常,可以根据不同的错误类型定义多个public class TestException extends RuntimeException { private String code; public TestException(String code) { this.code = code; } publ...原创 2020-01-15 17:03:55 · 331 阅读 · 0 评论 -
SpringMVC源码,拦截器
文章目录流程图源码handlerMappingRequestMappingHandlerMappingBeanNameUrlHandlerMappingRouterFunctionmapping拦截器和过滤器流程图ps:4和7应该是DispatcherServlet和handlerAdapter之间的网上找的图就不重画了…源码首先SpringMVC得核心是DispatcherS...原创 2020-01-12 21:01:36 · 188 阅读 · 0 评论 -
SpringBoot启动模拟
结合Tomcat不使用web.xml加载Springmvcpom <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context<...原创 2020-01-12 16:27:05 · 434 阅读 · 0 评论 -
Tomcat不使用web.xml加载Springmvc
文章目录servlet3新特性演示依赖如下实现ServletContainerInitializer启动配置tomcat7:run启动启动springmvc启动配置类spring对上面配置类的处理重点servlet3新特性演示依赖如下<dependencies> <dependency> <groupId>org...原创 2020-01-12 15:50:48 · 998 阅读 · 0 评论 -
Spring5日志体系
文章目录Spring4Spring5Spring4Spring4采用的原生jcl(commons-logging)是从如些下的数组中去找对应的jar包,找到就通过反射实例化Spring5贴一部分代码这是spring-jcl的寻找顺序private static final LogApi logApi;static { if (isPresent(LOG4J_SPI)) { ...原创 2020-01-11 14:49:35 · 509 阅读 · 0 评论 -
Spring循环依赖源码解析
构造器循环依赖示例@Componentpublic class RoleService { private UserService userService; public RoleService(UserService userService) { this.userService = userService; }}@Component()...原创 2020-01-10 17:06:02 · 149 阅读 · 0 评论 -
@Autowired注入Map,List
@Autowired可以自动注入Map和Listpublic interface UserService {}@Order(2)@Component("userServiceA")public class UserServiceA implements UserService{}@Order(1)@Component("userServiceB")public class...原创 2020-01-07 14:55:14 · 1209 阅读 · 0 评论 -
Spring创建Bean的6种方式
方式一xml方式二@Component@Service@Controller@Repository...不多说明方式三@Bean@Configurationpublic class RedisConfig { @Bean public RedisUtil redisUtil(RedisTemplate<String, Object> re...原创 2020-01-05 14:42:43 · 829 阅读 · 0 评论 -
FactoryBean和BeanFactory
文章目录区别BeanFactoryFactoryBean案例分析区别BeanFactory是接口,提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范.FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式BeanFactoryBeanFactory是spr...原创 2019-12-16 21:48:11 · 108 阅读 · 0 评论 -
Spring IOC简介
文章目录Spring IOCIOC简介为什么要使用iocspring编程的风格注入的两种方式自动装配Bean的作用域Singleton Beans with Prototype-bean DependenciesBean的生命周期的回调Spring IOCIOC简介控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的...原创 2019-11-24 17:53:25 · 123 阅读 · 0 评论