STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    Tổng Hợp Spring Annotation

    Bài viết tổng hợp và tóm tắt các Spring Annotation được sử dụng trong Java Spring Framework như @Controller, @Component, @Respository, @Bean...
    14/06/2021 3 phút đọc
    Tổng Hợp Spring Annotation

    Spring Annotation được thiết kế rất đa dạng, hỗ trợ cho việc phát triển ứng dụng Spring tiện dụng hơn, tuy nhiên vì sự đa dạng này làm cho việc tiếp cận Spring ban đầu có phần chậm, sau đây là các tóm tắt ngắn gọn về các Annotation sử dụng trong Java Spring.

    Spring Boot and Web annotations

    @SpringBootApplication

    Vị trí: đặt trước class.

    Công dụng: là 1 tổng hợp (có ý nghĩa tương đương) từ 3 annotation: @Configuration, @EnableAutoConfiguration@ComponentScan.

    @EnableAutoConfiguration

    Vị trí: đặt trước class.

    Công dụng: cho phép Spring tự nạp cấu hình dựa trên biến môi trường (classpath).

    @Controller

    Vị trí: đặt trước class.

    Công dụng: đánh dấu class là 1 web controller, đón nhận và xử lý các yêu cầu từ client.

    @RestController

    Vị trí: đặt trước class.

    Công dụng: là tổng hợp (có ý nghĩa tương đương) từ 2 annotation @Controller@ResponseBody.

    @ResponseBody

    Vị trí: đặt trước class hoặc method.

    Công dụng: được sử dụng chung với @Controller, yêu cầu Spring trả về dữ liệu trong body thay vì là 1 trang web hoàn chỉnh.

    @RequestMapping

    Vị trí: đặt trước method.

    Phương thức chỉ định trong controller, dùng để chỉ định HTTP Request cho 1 URL.

    @RequestParam

    Vị trí: đặt trước tham số của method trong class của controller.

    Công dụng: phân tách và truyền giá trị từ query parameter, form parameter, file vào tham số của phương thức.

    @PathVariable

    Vị trí: đặt trước tham số của method trong class của controller.

    Công dụng: phân tách và truyền giá trị trong path của URI đến tham số của phương thức.

    Spring Cloud Annotations

    @EnableConfigServer

    Vị trí: đặt trước class.

    Công dụng: đưa ứng dụng đặt trong server trở thành nơi lưu trữ các thông số mà các ứng dụng khác có thể lấy. 

    Các ứng dụng khách sử dụng spring.application.cloud.config.uri trong @SpringBootApplication để lấy cài đặt của server.

    @EnableEurekaServer

    Vị trí: đặt trước class.

    Công dụng: chuyển các ứng dụng thành dịch vụ Eureka, các ứng dụng khác có thể đặt tại nó.

    @EnableDiscoveryClient

    Vị trí: đặt trước class.

    Công dụng: ứng dụng của bạn có thể đăng ký trong các server, và được kết nối  với các dịch vụ khác thông qua nó.

    @EnableCircuitBreaker

    Vị trí: đặt trước class.

    Thiết lập giao thức ngắt Hystrix

    @HystrixCommand(fallbackMethod = "fallbackMethodName")

    Vị trí: đặt trước method.

    Công dụng: đánh dấu phương thức fallback nếu không thực thi thành công.

    Spring Framework annotations

    @Configuration

    Công dụng: đánh dấu class dùng để cấu hình, có thể tạo được các bean thông qua @Bean.

    @ComponentScan

    Vị trí: đặt trước class có cấu hình trước @Configuration.

    Công dụng: Spring có thể quét các gói cho các class @Configuration.

    @Bean

    Vị trí: đặt trước method trong 1 class có cấu hình @Configuration.

    Công dụng: tạo ra 1 đối tượng được quản lý bởi Spring container.

    @Component

    Vị trí: đặt trước class.

    Công dụng: chuyển đổi class thành Spring bean vào lúc Spring quét.

    @Service

    Vị trí: đặt trước class.

    Công dụng: kế thừa từ @Component, đánh dấu 1 class là 1 service dùng để thực thi các bussiness của ứng dụng.

    @Autowired

    Vị trí: đặt trước field, constructor hoặc method.

    Công dụng: đánh dấu để Spring’s depency injection tích hợp các bean vào.

    @Lazy

    Vị trí: đặt trước class hoặc method.

    Công dụng: @Bean hoặc @Component có thể khởi tạo khi được yêu cầu thay vì khởi tạo toàn bộ khi Spring khởi động.

    @Qualifier

    Vị trí: đặt trước field, constructor hoặc method.

    Công dụng: nếu có nhiều hơn 1 bean có cùng kiểu dữ liệu, có thể chỉ định chính xác bean cần tích hợp khi sử dụng cùng @Autowired.

    @Value

    Vị trí: đặt trước field, constructor hoặc method.

    Công dụng: biểu thị giá trị mặc định cho trường hoặc thông số, đơn giản như "#{systemProperties.myProp}".

    @Required

    Vị trí: đặt trước field, constructor hoặc method.

    Công dụng: được áp dụng cho phương thức setter của thuộc tính bean và do đó làm cho setter-injection là bắt buộc. Chú thích này chỉ ra rằng thuộc tính bean được yêu cầu phải được đưa vào t 1 trị tại thời điểm cấu hình.

    0 Bình luận
    Java

    Java

    Tổng hợp các bài viết Java hữu ích từ STDIO Training - Đào Tạo Lập Trình

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021