Spring中哪些注解应用最广泛?史上最全7大注解盘点!
- 内容介绍
- 文章标签
- 相关推荐
本文共计4401个文字,预计阅读时间需要18分钟。
随着技术的不断更新迭代,Java 5.0 开始支持注解。作为Java领域的领军框架,Spring 自2.5版本更新后,逐渐减少对XML配置的依赖,更多地使用注解来控制框架。Spring的注解种类繁多,但使用得当可以简化配置,提高开发效率。
1
核心注解
@Componentpublic class User { @Autowired private Address address;}
@Component
public class User {
private Address address;
@AutoWired
public setAddress(Address address) {
// custom code
this.address=address;
}
}
@Component
public class User {
private Address address;
public User(Address address) {
this.address=address;
}
}
<bean id="user" class="xx.User"/> @Component
public class User {
@Autowired
@Qualifier("address1")
private Address address;
...
}
@Configuration
@Configuartion
public class SpringCoreConfig {
@Bean
public AdminUser adminUser() {
AdminUser adminUser = new AdminUser();
return adminUser;
}
} 2 Spring MVC和REST注解 // GET /pets/42;q=11;r=22
@RequestMapping(value = "/pets/{petId}")
public void findPet(@PathVariable String petId, @MatrixVariable int q) {
// petId == 42
// q == 11
} <mvc:annotation-driven enable-matrix-variables="true" />
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
UrlPathHelper urlPathHelper = new UrlPathHelper();
urlPathHelper.setRemoveSemicolonContent(false);
configurer.setUrlPathHelper(urlPathHelper);
}
} @RequestMapping("/users/{uid}") @RequestMapping("/users/{uid}")
public String execute(@PathVariable("uid") String uid){
} 3 Spring Boot注解
此注解使用在请求handler方法的参数上。@RequestMapping可以定义动态路径,如:
@Configuration @EnableAutoConfiguration @ComponentScan
4
Stereotype注解
5
数据访问注解
6
任务执行、调度注解
@Scheduled(fixedDelay=1000) public void schedule() { } @Scheduled(fixedRate=1000) public void schedulg() { }
7
测试注解
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = SpringCoreConfig.class) public class UserServiceTest { }
本文共计4401个文字,预计阅读时间需要18分钟。
随着技术的不断更新迭代,Java 5.0 开始支持注解。作为Java领域的领军框架,Spring 自2.5版本更新后,逐渐减少对XML配置的依赖,更多地使用注解来控制框架。Spring的注解种类繁多,但使用得当可以简化配置,提高开发效率。
1
核心注解
@Componentpublic class User { @Autowired private Address address;}
@Component
public class User {
private Address address;
@AutoWired
public setAddress(Address address) {
// custom code
this.address=address;
}
}
@Component
public class User {
private Address address;
public User(Address address) {
this.address=address;
}
}
<bean id="user" class="xx.User"/> @Component
public class User {
@Autowired
@Qualifier("address1")
private Address address;
...
}
@Configuration
@Configuartion
public class SpringCoreConfig {
@Bean
public AdminUser adminUser() {
AdminUser adminUser = new AdminUser();
return adminUser;
}
} 2 Spring MVC和REST注解 // GET /pets/42;q=11;r=22
@RequestMapping(value = "/pets/{petId}")
public void findPet(@PathVariable String petId, @MatrixVariable int q) {
// petId == 42
// q == 11
} <mvc:annotation-driven enable-matrix-variables="true" />
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
UrlPathHelper urlPathHelper = new UrlPathHelper();
urlPathHelper.setRemoveSemicolonContent(false);
configurer.setUrlPathHelper(urlPathHelper);
}
} @RequestMapping("/users/{uid}") @RequestMapping("/users/{uid}")
public String execute(@PathVariable("uid") String uid){
} 3 Spring Boot注解
此注解使用在请求handler方法的参数上。@RequestMapping可以定义动态路径,如:
@Configuration @EnableAutoConfiguration @ComponentScan
4
Stereotype注解
5
数据访问注解
6
任务执行、调度注解
@Scheduled(fixedDelay=1000) public void schedule() { } @Scheduled(fixedRate=1000) public void schedulg() { }
7
测试注解
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = SpringCoreConfig.class) public class UserServiceTest { }

