spring
文章平均质量分 79
spring
爱上口袋的天空
一步一流年,止不住的脚步,挽不回的青春!
展开
-
spring之@DependsOn注解
DependsOn注解是Spring中提供的一个指定Spring创建Bean的依赖顺序的注解。例如,在Spring中需要创建A对象和B对象,可以使用@DependsOn注解指定创建A对象时依赖B对象,此时,在Spring中就会先创建B对象,然后再创建A对象。可以看到,DependsOnConfig类的实现比较简单,在DependsOnConfig类上标注了@Configuration注解,表示这是一个Spring的配置类,并且使用@ComponentScan注解指定了扫描的基础包名。转载 2023-06-03 14:45:39 · 2801 阅读 · 0 评论 -
spring之@Conditional注解
Conditional注解是用来判断是否满足指定的条件来决定是否进行Bean的实例化及装配,下面通过示例演示@ConditionalOnMissingClass、@ConditionalOnMissingBean、@ConditionalOnClass和@ConditionalOnBean的用法。@ComponentSystem.out.println("BeanOne.run()方法。");@ComponentSystem.out.println("BeanTwo.run()方法。");转载 2023-06-03 22:18:11 · 488 阅读 · 0 评论 -
Spring中@Primary注解
讨论Spring的@Primary注解,该注解是框架在3.0版中引入的。其作用与功能,当有多个相同类型的bean时,使用@Primary来赋予bean更高的优先级。转载 2023-06-03 14:21:14 · 414 阅读 · 0 评论 -
spring之@profile注解
在Spring容器中如果存在同一类型的多个组件,可以使用@Profile注解标识实际要获取的是哪一个bean,这在不同的环境使用不同的变量的场景下非常有用。开发环境、测试环境、生产环境会配置不同的数据源,在尽量不修改代码的情况下,可以使用这个注解来动态指定要连接的数据源。针对标注了环境标识的bean,只有在这个环境被激活的时候,才会注入到容器当中。默认是default环境。如果@Profile 注解的位置在类上,相当于只有在指定该环境的情况下,整个配置类里面的配置才有机会生效。转载 2023-06-04 20:57:42 · 577 阅读 · 0 评论 -
spring之@Indexed注解
Spring包下,除了@Component@Service外,在5.0版本中新增了@Indexed注解。应用中使用或扫描的package包含的类越来越多的时候,Spring启动时模式注解解析时间就会变得越长。@Indexed注解的引入正是为了解决这个问题,项目编译打包时,会在自动生成META-INF/spring.components文件,文件包含被@Indexed注释的类的模式解析结果。当Spring应用上下文进行组件扫描时,转载 2023-06-03 20:06:41 · 1038 阅读 · 0 评论 -
spring之@PropertySource注解
PropertySource注解用于指定资源文件读取的位置,它不仅能读取properties文件,也能读取xml文件,并且通过YAML解析器,配合自定义PropertySourceFactory实现解析YAML文件。YAML。转载 2023-06-04 21:20:34 · 3860 阅读 · 0 评论 -
spring之@Lookup注解
假设一个单例的Bean A需要引用一个非单例模式的Bean B,那么在每次引用B的时候都想拿到一个新的B,该怎么做?要知道,Bean A是单例模式的,只会被创建一次,注入一次属性,也就是说,即使B是property模式,那也是只会一个相同的B,因为A只会被注入一次。转载 2023-06-04 21:41:05 · 343 阅读 · 0 评论 -
Spring核心注解
当我们使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有没有可用的bean对象。查找的方式和Autowired注解的作用是一样的。原创 2023-06-04 21:41:45 · 1679 阅读 · 0 评论 -
spring之@lazy注解
Spring会在应用程序上下文的启动时创建所有单例bean。立即避免和检测所有可能的错误,而不是在运行时。但是,有些情况下我们需要创建一个bean,而不是在应用程序上下文启动时,而是在我们请求时。转载 2023-06-03 19:30:53 · 143 阅读 · 0 评论 -
spring之@Order注解
在Java开发中,我们经常会遇到需要对某些类或者方法进行排序的场景,比如拦截器、过滤器等。Spring框架提供了@Order注解,它可以简化这种排序操作。本文将深入解析@Order注解,同时通过实际的Java代码示例,展示其在复杂业务场景中的应用@order注解是包下的一个注解,@Order的作用是定义Spring IOC容器中Bean的执行顺序的优先级(这里的顺序也可以理解为存放到容器中的先后顺序)。开发过程当中有时候经常会出现配置依赖关系,例如注入A对象使用了,意思是要求容器当中必须存在。转载 2023-06-03 20:46:41 · 1282 阅读 · 0 评论 -
spring之@Import注解
组件1:Module1Service1@Component组件2:Module1Service2@Component组件扫描类:CompontentScanModule1负责扫描当前模块中的组件/*** 模块1的主键扫描*/组件1:Module2Service1@Component组件2:Module2Service2@Component组件扫描类:CompontentScanModule1负责扫描当前模块中的组件/**转载 2023-06-04 11:48:19 · 1356 阅读 · 1 评论 -
spring之@ImportResource注解
ImportResource 是导入 xml 配置,等同于 xml 文件的 resources。转载 2023-06-04 20:40:15 · 411 阅读 · 0 评论 -
Spring之BeanFactoryPostProcessor介绍以及场景运用
工厂级别的勾子,用来允许修改application context中的bean的definition,作用于bean实例化前。第一种即Spring中定义@Bean:@Bean第二种(适用Spring Boot),即在MyServlet类上加上注解,并在启动Application类上加。而第二种方式,恰恰是通过接口来实现的!a. bean的个数。b. 所有bean类名中包含auto,打印前两个bean name。c. 实现了接口的bean的名字为此,我们定义了类,在方法中通过。转载 2024-01-16 15:07:47 · 596 阅读 · 0 评论 -
beanFactory.ignoreDependencyInterface代码测试和理解
使得我们的ApplicationContextAware接口实现类在自动装配时不能被注入ApplicationContext对象的依赖,而统一由框架设置依赖,ApplicationContextAware接口的设置会在ApplicationContextAwareProcessor类中完成。并不影响构造器注入,给A中类新增构造方法,把上图AwareTest注释全放开,结果是b和c都注入了。以上是在类中使用注解进行注入,不使用注解还可以在Xml文件中配置。转载 2024-01-16 14:26:35 · 202 阅读 · 0 评论 -
BeanNameAware和BeanFactoryAware接口
【代码】BeanNameAware和BeanFactoryAware接口。转载 2024-01-16 13:13:53 · 159 阅读 · 0 评论 -
Spring中Bean的生命周期
一、Bean 的完整生命周期在传统的Java应用中,bean的生命周期很简单,使用Java关键字 new 进行Bean 的实例化,然后该Bean 就能够使用了。一旦bean不再被使用,则由Java自动进行垃圾回收。相比之下,Spring管理Bean的生命周期就复杂多了,正确理解Bean 的生命周期非常重要,因为Spring对Bean的管理可扩展性非常强,下面展示了一个Bean的构造过程。Bean 的生命周期如上图所示,Bean 的生命周期还是比较复杂的,下面来对上图每一个步骤做文字描述:转载 2021-03-02 16:05:28 · 1171 阅读 · 0 评论 -
Spring解决循环依赖的方法
所谓Spring的循环依赖,指的是这样一种场景:当我们注入一个对象A时,需要注入对象A中标记了某些注解的属性,这些属性也就是对象A的依赖,把对象A中的依赖都初始化完成,对象A才算是创建成功。那么,如果对象A中有个属性是对象B,而且对象B中有个属性是对象A,那么对象A和对象B就算是循环依赖,如果不加处理,就会出现:创建对象A-->处理A的依赖B-->创建对象B-->处理B的对象A-->创建对象A-->处理A的依赖B-->创建对象B......这样无限的循环下去。这事转载 2021-02-25 16:24:10 · 148 阅读 · 0 评论 -
spring中的BeanFactory与ApplicationContext的作用和区别?
1.作用: 1)BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的生命周期。 BeanFactory是spring的原始接口,针对原始结构的实现类功能比较单一,BeanFactory接口实现的容器,特点是在每次获取对象时才会创建对象 2)ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持 ...转载 2021-02-23 15:37:23 · 1630 阅读 · 0 评论 -
Spring注解驱动知识点简单记录四
一:面向切面编程之AOP入门简介(基于注解版)AOP简介 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。 AOP相关通知方法 ①前置通知(@Before):在目标方法运行前运行 ②后置通知(@After):在目标方法运行结束后运行(无论方法正常结束还是异常结束) ③返回通知(@AfterReturning):在目标方法正常返回之后运行 ④异常...原创 2018-11-18 15:35:19 · 277 阅读 · 0 评论 -
Spring注解驱动知识点简单记录三
一:bean的后置处理器BeanPostProcessor简介 主要是在bean的初始化前后进行一些处理工作。 postProcessBeforeInitialization:在初始化之前工作 postProcessAfterInitialization: 在初始化之后工作 实例 ⑴创建实现BeanPostProcessor接口的自定义的后置处理器 ...原创 2018-11-17 16:16:13 · 251 阅读 · 0 评论 -
Spring注解驱动知识点简单记录二
一:按条件注册bean之@Conditional简介 此注释使得只有在特定条件满足时才启用一些配置。 现在我们创建了配置类,并且在配置类里面创建了构建bean对象的方法 测试类 效果: 实例:现在我们要求根据一定的条件去创建不同名称的bean对象,例如:通过判断当前的操作 系统类型创建,如果是window系统就创建名称为l...原创 2018-11-14 23:31:06 · 169 阅读 · 0 评论 -
Spring注解驱动知识点简单记录一
一:使用@Configuration和@Bean等组件替代xml方式将bean对象添加到spring容器中创建一个实体类 创建配置类 注解解释: @Configuration:这个注解是告诉spring这是一个配置类,相当于xml文件 @Bean:给容器注册一个Bean,类型为返回值的类型,bean对象的id名称默认为方法...原创 2018-11-11 11:38:13 · 235 阅读 · 0 评论