Spring Boot 注解说明
青苗 | 553 |
2023-03-09
Spring Boot 注解说明
常用注解
注解 | 说明 |
---|---|
SpringBootApplication | 替代 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan |
ImportAutoConfiguration | 导入配置类,一般做测试的时候使用,正常优先使用 |
SpringBootConfiguration | 替代@Configuration |
ImportResource | 将资源导入容器 |
PropertySource | 导入properties文件 |
Role | bean角色定义为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加载顺序 |
PostConstruct | bean的属性都注入完毕后,执行注解标注的方式进行初始化工作 |
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版本 |
ConditionalOnJndi | JNDI指定的资源是否存在 |
ConditionalOnWebApplication | 当前应用是一个Web应用 |
ConditionalOnNotWebApplication | 当前应用不是一个Web应用 |
ConditionalOnProperty | Environment中是否存在某个属性 |
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 | 配置包含嵌套的配置 |
推荐指数:
真诚点赞 诚不我欺~