STACKJAVA

Spring Boot là gì? Giới thiệu Spring Boot Framework

Spring Boot là gì? Giới thiệu Spring Boot Framework.

Mặc dù Spring là một Framework tuyệt vời để phát triển phần mềm nhưng nó vẫn tồn tại một số nhược điểm / hạn chế (Quá nhiều cấu hình…)

Spring Boot được xây dựng để khắc phục những nhược điểm đó, đồng thời cũng cung cấp một hướng phát triển phần mềm mới trong tương lai.

1. Spring Boot là gì?

2. Ưu điểm của Spring Boot.

Spring Boot là gì? Giới thiệu Spring Boot Framework

3. Các features  (tính năng, đặc điểm) của Spring Boot.

3.1. SpringApplication

SpringApplication là một class cung cấp cách thuận tiện để khởi chạy ứng dụng từ hàm main().

Để start ứng dụng, chỉ cần gọi method run().

Ví dụ:

public static void main(String[] args) {
  SpringApplication.run(SpringBootHelloApplication.class, args);
}

3.2. Externalized Configuration

Spring Boot cho phép chúng ta cấu hình từ bên ngoài (externalize), do đó một ứng dụng có thể chạy trên nhiều môi trường khác nhau.

Chúng ta có thể sử dụng file YAML, file properties, các biến môi trường và tham số command-line để thực hiện  externalize configuration.

Các thuộc tính cấu hình có thể inject trực tiếp vào bean bằng cách sử dụng annotation @Value hoặc thông qua object với @ConfigurationProperites

Ví dụ:

import org.springframework.stereotype.*
import org.springframework.beans.factory.annotation.*

@Component
public class MyBean {

    @Value("${name}")
    private String name;

    // ...

}

3.3. Profiles

Spring Boot Profiles cung cấp một cách để phân chia các cấu hình cho mỗi môi trường. Các annotation @Component hoặc@Configuration có thể được đánh dấu @Profile để giới hạn khi nào được tải lên.
Ví dụ chỉ tải trong môi trường product…

@Configuration
@Profile("production")
public class ProductionConfiguration {

  // ...

}

 3.4. Logging

Spring Boot sử dụng common logging cho tất cả các chức năng log nội bộ.

Các depencdeny logging được quản lý mặc định, chúng ta không nên / cần sửa dependency logging nếu khồng có yêu cầu tùy biến (customization) thực sự cần.

3.5. Developing Web Applications

3.6. Security

3.7. Working with SQL Databases

3.8. Working with NoSQL Technologies

3.9. Caching

3.10. Messaging

3.11. Calling REST Services with RestTemplate

3.12. Calling REST Services with WebClient

3.13. Validation

3.14. Sending Email

3.15. Distributed Transactions with JTA

3.16. Hazelcast

3.17. Quartz Scheduler

3.18. Spring Integration

3.19. Spring Session

3.20. Monitoring and Management over JMX

3.21. Testing

3.22. WebSockets

3.23. Web Services

3.24. Creating Your Own Auto-configuration

 

Hầu hết các tính năng trên Spring Boot đều lấy từ Spring Framework và thêm một số tính năng khác.

Các bạn đọc qua để biết các định nghĩa và tính năng, sau đó làm ví dụ thì sẽ hiểu hơn (nhiều cái định nghĩa, liệt kê ra đọc thấy khó hiểu quá  🙄 )

Spring Boot là gì? Giới thiệu Spring Boot Framework

Okay, Done!

Các phần tiếp theo mình sẽ lần lượt làm các ví dụ về các tính năng của Spring Boot.

References:

https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/

https://spring.io/guides/gs/spring-boot/

https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-introducing-spring-boot.html

https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-first-application.html