Trong Spring Framework, annotations được sử dụng rộng rãi để cung cấp cấu hình cho ứng dụng, giúp giảm thiểu nhu cầu về cấu hình XML mà Spring trước đây phụ thuộc. Các annotations cho phép bạn đánh dấu các lớp, phương thức và trường để chỉ định cách chúng nên được xử lý bởi Spring container. Dưới đây là cách sử dụng một số annotations phổ biến trong Spring:
@Component và Các Biến Thể
-
@Component: Đánh dấu một lớp là một bean Spring. Spring container sẽ tự động phát hiện và đăng ký beans được đánh dấu với @Component, nếu quét classpath được cấu hình phù hợp.
@Component public class MyComponent { // ... }
- @Service, @Repository, @Controller: Là các biến thể đặc biệt của @Component, được sử dụng cho các lớp ở tầng service, persistence và presentation tương ứng, giúp tăng tính rõ ràng của mã nguồn.
@Service public class MyService { // ... } @Repository public class MyRepository { // ... } @Controller public class MyController { // ... }
Dependency Injection
- @Autowired: Tự động tiêm dependency. Có thể sử dụng trên constructor, setter, hoặc trực tiếp trên trường.
@Service public class MyService { private final MyRepository myRepository; @Autowired public MyService(MyRepository myRepository) { this.myRepository = myRepository; } }
- @Qualifier: Khi có nhiều beans cùng một loại, @Qualifier cho phép chỉ định bean cụ thể nào nên được tiêm.
@Autowired @Qualifier("specificBean") private MyBean myBean;
Web Development
-
@RequestMapping (và các biến thể như @GetMapping, @PostMapping): Xác định một handler method trong controller cho một request đến.
@Controller public class MyController { @GetMapping("/hello") public String sayHello() { return "hello"; } }
Cấu hình
-
@Configuration: Đánh dấu một lớp như là nguồn cấu hình bean cho Spring container.
@Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } }
- @Bean: Trong một lớp được đánh dấu bởi @Configuration, @Bean đánh dấu một phương thức để định nghĩa và trả về một bean.
@Bean public MyBean myBean() { return new MyBean(); }
Spring Boot Annotations
-
@SpringBootApplication: Một convenience annotation được sử dụng trong Spring Boot, bao gồm @Configuration, @EnableAutoConfiguration và @ComponentScan.
@SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
Annotations trong Spring giúp cấu hình nhanh chóng và dễ dàng, làm cho mã nguồn của bạn trở nên sạch sẽ và dễ đọc hơn.
Comments