Apollo配置中心动态生效原理Spring中的重要概念Spring框架启动过程回顾Apollo原理解析自定义BeanFactoryPostProcessor自定义BeanPostProcessor总结 Spring中的重要概念在了解Apollo配置中心实现原理之前,我们需要先熟悉一下Spring框架中的几个重要的概念: 1、BeanDefinition 用于描述Bean的配置信息,Bean配置一
# 实现spring boot ConfigurationProperties 动态属性 ## 前言 作为一名经验丰富的开发者,我们经常会遇到需要动态配置属性的情况,而Spring Boot提供了`@ConfigurationProperties`注解来帮助我们实现这一需求。在这篇文章中,我将教你如何使用`@ConfigurationProperties`注解来实现动态属性配置。 ### 流程
原创 2024-05-19 05:05:20
182阅读
目录 前言 一、Spring Bean的作用域 二、Spring IOC容器的启动流程 三、Spring Bean的生命周期 四、总结  前言 一直对Spring Bean的生命周期没有完全了解吃透,这次下定决定去好好看看源码,了解一下Bean的生命周期。先附上生命周期图,后续会详细从源码层面进行解析~   一、Spring
转载 2024-09-26 23:49:49
69阅读
我们在Spring源码中可以看到其是通过AbstractAutowireCapableBeanFactory这个类完成对bean的创建的。在以后的博客中,我会再详细介绍Spring是如何创建一个bean的。 在这之前,我们需要对一些其他类有一个先入的了解,其中,在创建bean时反复出现的RootBeanDefinition类就是必须要先了解的类之一。 RootBeanDefinition类其实
Spring Boot 中,@ConfigurationProperties 注解通常用于绑定前缀为特定值的属性到配置类(通常是 Java Bean)的字段上。然而,当想实现动态属性(即,在运行时可以更改的属性)时,@ConfigurationProperties 自身的行为并不直接支持这一需求,因为它主要是用于在启动时从配置文件中加载属性。但可以通过几种不同的方法来实现动态属性:使用@Ref
原创 精选 2024-06-04 21:24:47
258阅读
Spring注解总览:@Controller@RestController@Service@Autowired@RequestMapping@RequestParam@ModelAttribute@Cacheable@CacheEvict@Resource@PostConstruct@PreDestroy@Repository@Component@Scope@SessionAttributes@R
一.return "cartSuccess" 和 return "redirect:/cart/cart.html" 的区别 二.return modelAndView和return "xxxx"的区别 三.spring MVC 转发与重定向(传参)总结 一.return "cartSuccess" 和 return "redirec
转载 2024-09-26 23:52:07
74阅读
最近有个项目场景,多垂类支持,大体业务流程相同,只是一些业务规则的校验参数不同。解决思路是将业务参数作为类的属性,然后创建垂类数量个实例,去处理不同垂类的业务。 看了spring ioc部分的代码,个人感觉在spring完成bean创建的过程后,做一个类实现ApplicationContextAware接口,然后克隆多个需要的BeanDefinition
阅读Spring IoC部分源码有一段时间了,经过不断的单步调试和参阅资料,对Spring容器中bean管理有了一定的了解。这里从bean的几个状态的角度出发,研究下IoC容器。一、原材料  Xml中的bean定义配置(或者注解)、及Java代码 <bean id="book" name="book" class="com.sky.vo.Book" scope="singleton" in
1、@Scope设置组件作用域@Configuration public class MainConfigA { @Bean("person") @Scope("singleton") public Person person(){ return new Person("张三丰",25); } }public class JuitTest {
转载 2024-04-03 21:57:52
144阅读
Spring创建bean实例的常用方式一、通过反射调用构造方法创建bean对象二、通过静态工厂方法创建bean对象三、通过实例工厂方法创建bean对象四、通过factoryBean创建bean对象 Spring创建bean实质是:通过一个类的全限定类型用反射去创建对象,最后放入一个Map集合中,需要使用某个bean的话可以用id类查找。 1、创建一个properties文件,列出需要创建的对象
转载 2023-11-07 07:51:56
249阅读
以SpringCloud 为例,希望服务在启动后根据某些信息生成一个动态的 实例ID也就是application.yaml中配置的如Eureka的配置eureka: instance: instance-id: ID我们如果希望在服务启动时候随机生成一个instance-id,首先找到可以使用BeanPostProcessor在Bean实例化之后对他进行修改eureka.instanc
转载 2023-05-25 20:30:15
803阅读
   一、Autowired注入方式(以注入连接池为例)         1. 创建一个属性读取类:JdbcProperties /** * 属性读取类 * prefix: 为application.properties文件中的前缀 */ @ConfigurationProperties(prefix = "
转载 2023-07-05 21:16:14
967阅读
       在上一篇spring注解开发(四、AOP之目标方法的执行过程)中,我们知道CglibMethodInvocation在执行拦截器链时,是递归执行已经排好序的通知方法,但是spring怎样知道那个通知方法的执行时机?CglibMethodInvocation(proxy, target, method, args, targetClass, ch
Spring主要有四种注解可以注册bean,每种注解可以任意使用,只是语义上有所差异:@Component:可以用于注册所有bean@Repository:主要用于注册dao层的bean@Controller:主要用于注册控制层的bean@Service:主要用于注册服务层的bean 描述依赖关系主要有两种:@Resource:java的注解,默认以byName的方式去匹配与属性名相同的
之前博主学习了spring,springmvc等架构课程,随着技术不断地完善,代码架构也不断地发展。spring是在Java代码地基础上进行双手解放,springmvc也是在Java代码地基础上不断地解放双手,从今天开始,博主也将开始学习spring boot课程,spring boot课程主要体现在自动化方面,上一篇文章则是主要讲解了,spring boot是如何通过架构来实现双手地解放spri
转载 2024-03-25 20:55:11
40阅读
引言: 在Spring中提供了非常多的方式注入实例,但是由于在初始化顺序的不同,基于标注的注入方式,都是静态方式的。在实际项目中,需要一种动态的方式来提取Spring管理的Bean,本文将介绍这样一种方式。1 基于注入的方式此类方式注入需要在Bean初始化之时,其依赖的对象必须初始化完毕。如果被注入的对象初始化晚于当前对象,则注入的对象将为null.1.1 @Autowired按照类型来加载Spr
转载 2023-08-31 20:16:34
329阅读
不知道大家想过没有,我们使用mybatis的时候只要写接口和配置上一个sql语句就可以了,单从代码的角度来看,这是不合理的。所以我们通常在service里面注入的mapper它其实是一个代理对象回到本人spring给容器中注入组件的几种方式1.包扫描+组件注解标签注解这种方式一般适用于自己写的类,动态代理的类无法添加(就算你自己动态生成的类上有注解标签,spring也无法扫描)2.@be
转载 2023-10-07 16:58:59
95阅读
java# 认识spring# 常用注解IOC注解@compinent:相当于在xml配置一个bean。把资源让spring来管理。 属性:value 相当于bean的id。默认为类名首字母小写。@controller&@Service@Repository: 三者都是compinent的衍生注解。起作用与属性都是一摸一样,只是为了提供更明确的语义化。 注意:如果容器中只有一个实例可以给属
转载 2024-01-27 21:42:50
83阅读
前言          前段时间在项目的开发过程中,遇到了需要从数据库中动态查询新的数据源信息并切换到该数据源做相应的查询操作,翻阅了网上很多资料都是简单的对多数据源的整合,并没有涉及到动态添加新数据源并切换的案例,本文根据自己在项目中遇到的问题,用简单案例的形式,对该部分内容进行讲解。一、项目搭建&nbsp
转载 2023-10-10 21:23:46
262阅读
  • 1
  • 2
  • 3
  • 4
  • 5