![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring注解驱动开发
Adela0916
主要记录学习过程中遇到的问题以及学习到的东西
展开
-
01.Spring注解驱动开发——组件注册-@Configuration&@Bean给容器中注册组件
新建一个maven项目如图所示。在pom文件中加入spring-context依赖<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</ar.原创 2020-12-18 14:58:13 · 130 阅读 · 0 评论 -
02、Spring注解驱动开发——组件注册-@ComponentScan-自动扫描组件&指定扫描规则
@ComponentScan-自动扫描组件在以前,我们需要在Spring配置文件中配置<context:component-scan base-package="com.fzl"></context:component-scan>,就能够进行包扫描,只要标注了@Component、@Controller、@Service、@Repository就可以扫描到。现在,我们只需要通过@ComponentScan注解,就可以自动扫描组件,并且可以指定扫描规则。@ComponentScan原创 2020-12-18 16:51:17 · 183 阅读 · 1 评论 -
03、Spring注解开发——组件注册-自定义TypeFilter指定过滤规则
在上一节,讲述了TypeFilter有ANNOTATION、ASSIGNABLE_TYPE、ASPECTJ、REGEX、CUSTOM几种过滤规则,这篇文章主要来讲最后一种CUSTOM过滤规则,即自定义TypeFilter指定过滤规则。1.新建一个MyTypeFilter类,实现TypeFilter接口,实现接口里面的match方法。match方法里面有两个参数:metadataReader: 读取到当前正在扫描的类的信息metadataReaderFactory : 可以获取到其他任何类的信原创 2020-12-19 17:30:32 · 274 阅读 · 2 评论 -
04、Spring注解驱动开发--组件注册-@Scope-设置组件作用域以及懒加载@Lazy
@Scope使用示例:1.创建配置类MainConfig2,注册组件。 @Scope @Bean("person") public Person person01(){ System.out.println("给容器中添加person......."); return new Person("张良",23); }2.创建JUnit测试。 @Test public void test02(){ ApplicationConte原创 2020-12-20 13:28:14 · 133 阅读 · 0 评论 -
05、Spring注解驱动开发---组件注册-@Conditional-按照条件注册bean
@Conditional是基于条件注册bean的注解,当满足配置选择条件时,便会注册bean到容器中。示例:以当前运行环境是否为windows或Linux为条件。1.创建两个类WindowsCondition.java和LinuxCondition.java,让他们实现Condition接口,并实现接口中的matchs方法。在matchs方法中获取当前环境信息,判断是否为windows/linux,是则返回true,否则返回false.代码如下:WindowsCondition.java:publi原创 2020-12-20 16:35:02 · 159 阅读 · 2 评论 -
06、Spring注解驱动开发--组件注册-@Import-给容器中快速导入一个组件&使用ImportSelector
容器中注册组件的几种方式给容器中注册组件有以下几种方式:包扫描+组件标注注解(@Component、@Controller、@Service、@Resposity)@Bean[]导入第三方包里面的组件@Import[快速给容器中导入一个组件]1)@Import(要导入到容器的组件):容器就会自定注册这个组件,id默认是全类名2)ImportSelector:返回需要导入的组件的全类名数组;3)ImportBeanDefinitionRegister:手动注册bean到容器中。使用Sprin原创 2020-12-22 15:48:45 · 123 阅读 · 0 评论 -
07、Spring注解驱动开发--生命周期-@Bean指定初始化和销毁方法-InitializingBean和DisposableBean-@PostConstruct&@PreDestroy-Bea
Bean的生命周期bean的生命周期:bean创建—初始化----销毁过程。容器管理bean的生命周期:我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法。构造(对象创建)单实例:在容器启动的时候创建对象多实例:在每次获取的时候创建对象初始化:对象创建完成,并赋值好,调用初始化方法。销毁:单实例:容器关闭的时候多实例:容器不会管理这个bean,容器不会调用销毁方法。在spring中,实在spring配置文件中注册bean时,使用ini原创 2020-12-22 19:06:27 · 156 阅读 · 0 评论