SpringBoot:如何书写一个自定义的Enable*注解
发布网友
发布时间:2023-02-21 01:02
我来回答
共1个回答
热心网友
时间:2023-10-02 09:23
1.新建自定义的注解
2.应用此注解到配置类
3.这时候需要在EnableCustomFeature 类中通过@Import的方式引入一系列需要前置处理的Bean类
上述通过@Import方式做的原因,主要是将@Import标记的配置类中的bean作为ApplicationContext处理
使用Selector选择器启用Enable 自定义注解
示例如下:
上述示例中,自定义的注解中有一个criteria自定义注解属性字段,默认值为default,后面我们需要做的就是根据criteria的值激活两种不同的bean功能集合:
所以如果criteria字段值为 "default",就会加载SomeBeanConfigurationDefault, 否则就是加载SomeBeanConfigurationType1。
参考链接: http://www.java-allandsundry.com/2015/04/spring-enable-annotation-writing-custom.html
SpringBoot的自定义配置
打开SpringBoot项目的resources目录,在项目的类路径下新建一个test.properties自定义配置文件,在该配置文件中编写需要的配置属性 在com.david.pojo包下新创建一个配置类MyProperties,提供 test.properties 自定义配置文件中对应的属性,并根据@PropertySource注解的使用进行相关配置 主要是一个自定义配置类,通...
SpringBoot项目主启动类上常用的注解释意
一、SpringCloud相关注解 1、@SpringBootApplication:标记该项目为SpringBoot项目 2、@EnableCircuitBreaker:启动断路器,业务类启用@HystrixCommand和@HystrixProperty用于降级处理 3、@EnableEurekaClient:启动客户端服务注册功能 4、@EnableEurekaServer:启动服务注册中心功能 5、@EnableFeignCl...
spring boot有哪些重要的注解?
注解springbootapplication包含注解如下:1、@SpringBootConfiguration:读取配置文件,配置文件的路径是当前根目录(src/main/resources/application.yml等)。2、EnableAutoConfiguration:开启自动配置,扫描当前的所有依赖的jar包,发现新的依赖出现将会将会根据依赖完各种自动配置(扫描start_web,自动配置内置tomcat...
Spring Boot 最核心的 25 个注解,都是干货!
这个注解就是 @Configuration 注解的变体,只是用来修饰是 Spring Boot 配置而已,或者可利于 Spring Boot 后续的扩展。5、@ComponentScan 这是 Spring 3.1 添加的一个注解,用来代替配置文件中的 component-scan 配置,开启组件扫描,即自动扫描包路径下的 @Component 注解进行注册 bean 实例到 context ...
springclolud 启动类添加@EnableDiscoveryClient启动报错的问题
我们在创建一个springboot项目时,并在pom文件中添加了Eureka客户端的依赖,并在启动类中添加了@EnableDiscoveryClient的注解,如下图所示 这时候启动会报java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V的错误 这是由于spring boot版本...
@SpringBootApplication包含的三个注解及其含义
第一个:@SpringBootConfiguration(在这个类的源码中又有一个Configuration的注解)Configuration这个注解的作用就是声明当前类是一个配置类,然后Spring会自动扫描到添加了@Configuration的类,读取其中的配置信息,而@SpringBootConfiguration是来声明当前类是SpringBoot应用的配置类,项目中只能有一个。所以一般...
210630:springBoot自动配置-自定义start
SpringBootApplication是一个复合注解或派生注解,在@SpringBootApplication中有一个注解@EnableAutoConfiguration,翻译成人话就是 开启自动配置 ,其定义如下:而这个注解也是一个派生注解,其中的关键功能由@Import提供,其导入的AutoConfigurationImportSelector的selectImports()方法通过SpringFactoriesLoader....
SpringBoot的自动装配(一)
@ComponentScan是用来扫描路径的,如果不置顶特定的扫描路径的话,扫描的路径是当前修饰的类所在的包及其子包。而@SpringBootConfiguration这个注解的本质就是@Configuration注解。所以在这里面跟SpringBoot自动装配有关系的就只有一个了:@EnableAutoConfiguration 3、@EnableAutoConfiguration &...
SpringBoot项目结构及功能
SpringBootConfiguration:Spring Boot的配置类:标注在某个类上,表示这是一个Spring Boot的配置类; @Configuration:配置类上来标注这个注解; 配置类 --- 配置文件;配置类也是容器中的一个组件;@Component EnableAutoConfiguration:开启自动配置功能; 以前我们需要配置的东西,Spring Boot帮我们...
springboot怎么满足一个条件时执行一个方法
这类条件注解可以使用在方法上,也可以使用在类上,用在类上时,通常是@EnableXXX类型的注解,本质上没有发生变化。用在方法上时,表示满足条件就执行该方法;用在类上时,表示满足条件就加载某个类,在我们自定义配置时时使用得比较多。Spring Boot中常用的条件注解有:(1)@ConditionalOnBean,表示:...