
spring全家桶
文章平均质量分 53
spring全家桶
kobexzf
这个作者很懒,什么都没留下…
展开
-
spring cloud-配置动态刷新
RefreshScope:定义scope为refresh的bean,定义cglib代理bean,代理bean的每次方法调用-beanFactory-scope-找到被代理bean并调用其方法。nacos:长轮询发现某dataId+group配置变更,listener发布refreshEvent。2 RefreshScope内bean摧毁,摧毁后下次代理上方法调用会重新生成,@Value重新注入。配置文件变更+手动调用/actuator/refresh发布refreshEvent。原创 2022-09-06 16:44:00 · 832 阅读 · 0 评论 -
spring-boot类加载体系
spring-boot有自己的类加载器:加载BOOT-INF下所有类,一般来说所有类+jar都会copy到BOOT-INF下,JarLauncher启动 spring-boot+tomcat+jar:spring-boot classloader加载BOOT-INF下所有类+资源(包括前端资源),tomcat生成了TomcatEmbeddedWebappClassLoader(其加载路径为WEB-INF),其parent为spring-boot的classloader,tomcat的classloader很原创 2022-03-28 16:38:58 · 1908 阅读 · 0 评论 -
beanPostProcessor加载顺序引发的问题
PersistenceExceptionTranslationPostProcessor需要Environment类型bean, 遍历到recentOrderRepository(用户bean),需要ESMapperProxyFactory(FactoryBean)来生成, 为了type check,即通过FactoryBean的getObjectType来确定recentOrderRepository是否是Environment类型, 生成ESMapperProxyFactory,此bean的构造器注入需原创 2021-06-02 10:45:29 · 353 阅读 · 0 评论 -
spring web+spring cloud gateway
spring-web:定义了@RequestMapping,@RestController,WebHandler, WebFilter spring-webmvc: 核心DispatcherServlet,和servlet容器(tomcat/jetty)天然契合 spring-webflux: 核心DispatcherHandler(WebHandler), 多WebFilter一WebHandler处理 DispatcherHandler: 多HandlerMapping+多HandlerAdapter+原创 2021-03-18 11:22:43 · 608 阅读 · 0 评论 -
springboot-2
@EnableConfigurationProperties指定类 配合@ConfigurationProperties指定前缀使我们的beanFactory注册这个含有配置的类,并实例化时注入相应属性,名称为prefix-类全限定名 @EnableConfigurationProperties含@Import(EnableConfigurationPropertiesImportSelecto...原创 2019-07-08 14:05:01 · 130 阅读 · 0 评论 -
springboot-1-自动装配/启动流程/常用注解
SpringFactoriesLoader(sfl)加载classpath的META-INF下的spring.factories文件 1 接口=实现1,实现2,给出接口的多个实现 2 EnableAutoConfiguration=多个AutoConfiguration类 @Configuration:含@Component,可被组件扫描到进行注册,其作用相当于一个xml文件,提供多个BeanDe.........原创 2019-07-05 21:49:14 · 288 阅读 · 0 评论 -
RequestMapping
支持路径,方法(get),header,参数, 请求header Content-Type 对应consumes 请求header Accept 对应produces @RequestParam 将请求参数设为方法参数,required,defaultValue @PathVariable 将请求字符串某一部分作为某个参数,设为方法参数 @RequestMapping(value = "/fet...原创 2018-11-23 17:16:24 · 223 阅读 · 0 评论 -
springmvc flow
protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception { for (HandlerMapping hm : this.handlerMappings) { if (logger.isTraceEnabled()) { logger.trace( ...原创 2018-11-23 16:41:25 · 173 阅读 · 0 评论 -
Ioc和依赖注入和自动装配
依赖注入DI:显式注入,构造器注入和setter注入 自动装配autowire: 1 beans的default-autowire:bean设置了autowire则用自己的,否则用beans的default-autowire 2 < bean id=“auto” class=“example.autoBean” autowire=“byType”/>,默认为no(不自动装配) 3 @A......原创 2019-04-09 17:06:49 · 377 阅读 · 0 评论 -
spring源码-1
(Xml)BeanDefinitionReader ignoreDependencyInterface:自动注入时忽略像BeanNameAware这样的接口 ignoreDependencyType: EntityResolver原创 2019-04-09 16:59:24 · 120 阅读 · 0 评论 -
spring源码-3
AbstractApplicationContext.refresh 1 prepareRefresh:initPropertySources(子类可扩展,如设置某个属性为required),Environment.validateRequiredProperties() 2 obtainFreshBeanFactory: refreshBeanFactory:若存在beanFactory则先摧毁...原创 2019-04-11 16:40:44 · 115 阅读 · 0 评论 -
spring源码-2
private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(256); /** Set of registered singletons, containing the bean names in registration order */ ...原创 2019-04-10 17:43:38 · 229 阅读 · 0 评论 -
spring tx
1 InfrastructureAdvisorAutoProxyCreator:BeanPostProcessor 2 BeanFactoryTransactionAttributeSourceAdvisor:PointcutAdvisor,持有3和4 3 AnnotationTransactionAttributeSource: 解析和缓存方法和类上的Transactional注解 4 Tran...原创 2019-04-04 17:12:11 · 774 阅读 · 1 评论 -
spring静态或实例工厂方法
静态 实例 titan keyname原创 2018-12-11 16:34:03 · 350 阅读 · 0 评论 -
spring 注解
context:annotation-config/ 注册多个beanPostProcessor 处理多个注解 @Autowired byType (多个,然后byName,fieldName匹配beanName,匹配不了报错),没有报错(在required=true),配合@Qualifier可byName @Required 确保属性已被设置,setter上 @PersistenceCont...原创 2018-11-23 18:11:31 · 105 阅读 · 0 评论