写点什么

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

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

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 开启计划任务的支持


@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


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


的配置支持,如一些 ViewResolver 或者 MessageConverter 等,若无此句,重写 WebMvcConfigurerAdapter 方法(用于对 SpringMVC 的配置)。


@Controller 声明该类为 SpringMVC 中的 Controller


@RequestMapping 用于映射 Web 请求,包括访问路径和参数(类或方法上)


@ResponseBody 支持将返回值放在 response 内,而不是一个页面,通常用户返回 json 数据(返回值旁或方法上)


@RequestBody 允许 request 的参数在 request 体中,而不是在直接连接在地址后面。(放在参数前)


@PathVariable 用于接收路径参数,比如 @RequestMapping(“/hello/{name}”)申明的路径,将注解放在参数中前,即可获取该值,通常作为 Restful 的接口实现方法。

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

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