Spring Boot 注解说明

青苗 青苗 | 553 | 2023-03-09

Spring Boot 注解说明

常用注解

注解说明
SpringBootApplication替代 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
ImportAutoConfiguration导入配置类,一般做测试的时候使用,正常优先使用
SpringBootConfiguration替代@Configuration
ImportResource将资源导入容器
PropertySource导入properties文件
Rolebean角色定义为ROLE_APPLICATION(默认值)、ROLE_SUPPORT(辅助角色)、ROLE_INFRASTRUCTURE(后台角色,用户无感)
Scope指定bean的作用域,默认singleton,其它包括prototype、request、session、globalSession
Lazy使bean懒加载,取消bean预初始化
Primary自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否者将抛出异常
Profile指定Bean在哪个环境下被激活
DependsOn依赖的bean注册完成,才注册当前类,依赖bean不存在会报错。用于控制bean加载顺序
PostConstructbean的属性都注入完毕后,执行注解标注的方式进行初始化工作
Autowired默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用
Lookup根据方法返回的类型,去容器中捞出对应
Qualifier申明bean名字,且可以按bean名字加载bean
Required检查bean的属性setXXX()方法,要求属性配置阶段必须已配置
Description添加bean的文字描述
EnableAspectConfiguration启动AspectJ自动配置
EnableLoadTimeWeaving启动类加载器动态增强功能,使用instrumentation实现
AutoConfigurationPackage包含该注解的package会被AutoConfigurationPackages注册
AutoConfigureBefore在指定配置类初始化前加载
AutoConfigureAfter在指定配置类初始化后加载
AutoConfigureOrder指定配置类初始化顺序,越小初始化越早
ModelAttribute注解可被应用在方法和方法参数上

选择器

注解说明
ConditionalOnBean是否存在某个某类或某个名字的Bean
ConditionalOnMissingBean是否缺失某个某类或某个名字的Bean
ConditionalOnSingleCandidate是否符合指定类型的Bean只有一个
ConditionalOnClass是否存在某个类
ConditionalOnMissingClass是否缺失某个类
ConditionalOnExpression指定的表达式返回的是true还是false
ConditionalOnJava判断Java版本
ConditionalOnJndiJNDI指定的资源是否存在
ConditionalOnWebApplication当前应用是一个Web应用
ConditionalOnNotWebApplication当前应用不是一个Web应用
ConditionalOnPropertyEnvironment中是否存在某个属性
ConditionalOnResource指定的资源是否存在
ConditionalOnWarDeployment当前项目是不是以War包部署的方式运行
ConditionalOnCloudPlatform是不是在某个云平台上

注解

注解说明
EnableCaching启缓存配置,支持子类代理或者AspectJ增强
CacheConfig在一个类下,提供公共缓存配置
Cacheable放着方法和类上,缓存方法或类下所有方法的返回值
CachePut每次先执行方法,再将结果放入缓存
CacheEvict删除缓存
Caching可以配置@Cacheable、@CachePut、@CacheEvict

定时器

注解说明
EnableScheduling开启定时任务功能
Scheduled按指定执行周期执行方法
Schedules包含多个@Scheduled,可同时运行多个周期配置
EnableAsync开启方法异步执行的能力,通过@Async或者自定义注解找到需要异步执行的方法。通过实现AsyncConfigurer接口的getAsyncExecutor()和getAsyncUncaughtExceptionHandler()方法自定义Executor和异常处理。
Async标记方法为异步线程中执行

注入配置文件properties

注解说明
EnableConfigurationProperties启动@ConfigurationProperties功能
ConfigurationProperties将properties文件里的内容,自动注入bean对应的属性中
DeprecatedConfigurationProperty用在配置文件的getter()方法上,标记字段已经过期,并提示替换的字段。一般给spring-boot-configuration-processor使用
NestedConfigurationProperty配置包含嵌套的配置
文章标签: SpringBoot
推荐指数:

真诚点赞 诚不我欺~

Spring Boot 注解说明

点赞 收藏 评论

关于作者

青苗
青苗

青苗幼儿园园长

等级 LV5

粉丝 20

获赞 47

经验 1182