写点什么

Java 必须掌握的 12 种 Spring 常用注解!你掌握了几种?

用户头像
极客good
关注
发布于: 刚刚

@Scope 设置 Spring 容器如何新建 Bean 实例(方法上,得有 @Bean)其设置类型包括:


Singleton (单例,一个 Spring 容器中只有一个 bean 实例,默认模式),Protetype (每次调用新建一个 bean),Request (web 项目中,给每个 http request 新建一个 bean),Session (web 项目中,给每个 http session 新建一个 bean),GlobalSession(给每一个 global http session 新建一个 Bean 实例)


@StepScope 在 Spring Batch 中还有涉及


@PostConstruct 由 JSR-250 提供,在构造函数执行完之后执行,等价于 xml 配置文件中 bean 的 initMethod


@PreDestory 由 JSR-250 提供,在 Bean 销毁之前执行,等价于 xml 配置文件中 bean 的 destroyMethod

6.@Value 注解

@Value 为属性注入值(属性上)支持如下方式的注入:》注入普通字符


@Value("Michael Jackson")String name;


》注入操作系统属性


@Value("#{systemProperties['os.name']}")String osName;


》注入表达式结果


@Value("#{ T(java.lang.Math).random() * 100 }") String randomNumber;


》注入其它 bean 属性


@Value("#{domeClass.name}")String name;


》注入文件资源


@Value("classpath:com/hgs/hello/test.txt")String Resource file;


》注入网站资源


@Value("http://www.javastack.cn")Resource url;


》注入配置文件


Value("${book.name}")String bookName;


注入配置使用方法:① 编写配置文件(test.properties)


book.name=《三体》


② @PropertySource 加载配置文件(类上)


@PropertySource("classpath:com/hgs/hello/test/test.propertie")


③ 还需配置一个


PropertySourcesPlaceholderConfigurer 的 bean。

7.环境切换

@Profile 通过设定 Environment 的 ActiveProfiles 来设定当前 context 需要使用的配置环境。(类或方法上)


@Conditional Spring4 中可以使用此注解定义条件话的 bean,通过实现 Condition 接口,并重写 matches 方法,从而决定该 bean 是否被实例化。(方法上)

8.异步相关

@EnableAsync 配置类中,通过此注解开启对异步任务的支持,叙事性 AsyncConfigurer 接口(类上),点击这里了解使用详情。


@Async 在实际执行的 bean 方法使用该注解来申明其是一个异步任务(方法上或类上_所有的方法都将异步_,需要 @EnableAsync 开启异步任务)

9.定时任务相关

@EnableScheduling 在配置类上使用,开启计划任务的支持(类上)


@Scheduled 来申明这是一个任务,包括 cron,fixDelay,fixRate 等类型(方法上,需先开启计划任务的支持)

10.@Enable*注解说明

这些注解主要用来开启对 xxx 的支持。@EnableAspectJAutoProxy 开启对 AspectJ 自动代理的支持


@EnableAsync 开启异步方法的支持


@EnableScheduling 开启计划任务的支


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码



@EnableWebMvc 开启 Web MVC 的配置支持


@


EnableConfigurationProperties 开启对 @ConfigurationProperties 注解配置 Bean 的支持


@EnableJpaRepositories 开启对 SpringData JPA Repository 的支持


@


EnableTransactionManagement 开启注解式事务的支持


@


EnableTransactionManagement 开启注解式事务的支持


@EnableCaching 开启注解式的缓存支持

11.测试相关注解

@RunWith 运行器,Spring 中通常用于对 JUnit 的支持


@RunWith(SpringJUnit4ClassRunner.class)


@ContextConfiguration 用来加载配置 ApplicationContext,其中 classes 属性用来加载配置类


@ContextConfiguration(classes={TestConfig.class})


12.SpringMVC 相关注解




@EnableWebMvc 在配置类中开启 Web MVC 的配置支持,如一些 ViewResolver 或者 MessageConverter 等,若无此句,重写 WebMvcConfigurerAdapter 方法(用于对 SpringMVC 的配置)。

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
Java 必须掌握的 12 种 Spring 常用注解!你掌握了几种?