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

Trong bài viết này, Stanford sẽ giới thiệu để các bạn học lập trình java web hiểu được spring boot là gì và các vấn đề chính, giúp bạn đơn giản hoá sử dụng spring trong phát triển web bằng java.

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.

Spring Boot là gì?

  • Spring Boot là một module của Spring Framework, cung cấp tính năng RAD (Rapid Application Development) – Phát triển ứng dụng nhanh.
  • Spring Boot được dùng để tạo các ứng dụng độc lập dựa trên Spring.
  • Spring Boot không yêu cầu cấu hình XML
  • Nó là một chuẩn cho cấu hình thiết kế phần mềm, tăng cao năng suất cho developer.

Ưu điểm của Spring Boot

  • Có các tính năng của Spring Framework.
  • Tạo ứng dụng độc lập, có thể chạy bằng java -jar (cho cả java web)
  • Nhúng trực tiếp các ứng dụng server (Tomcat, Jetty…) do đó không cần phải triển khai file WAR
  • Cấu hình ít, tự động cậu hình bất kì khi nào có thể (Giảm thời gian viết code, tăng năng suất)
  • Không yêu cầu XML config…
  • Cung cấp nhiều plugin
  • Chuẩn cho Microservices (Cloud support; giảm việc setup, config; các thư viện hỗ trợ…)

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

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);
  • }
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;
  • // ...
  • }
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 {
  • // ...
  • }
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.

Developing Web Applications
Security
Working with SQL Databases
- Spring Boot + Hibernate
- …
Working with NoSQL Technologies
- Redis
- MongoDB
- Neo4j
- LDAP
- Solr
- …
Caching
- EhCache
- JCache
- …
Messaging
Calling REST Services with RestTemplate
Calling REST Services with WebClient
Validation
Sending Email
Distributed Transactions with JTA
Hazelcast
Quartz Scheduler
Spring Integration
Spring Session
Monitoring and Management over JMX
Testing
WebSockets
Web Services
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. Tuỳ theo nhu cầu các bạn có thể học và tìm hiểu từng module mà mình cần khi đó sẽ giúp chúng ta hiểu rõ vấn đề hơn. Hy vọng qua bài viết này đã giúp các bạn hiểu rõ Spring Boot là gì ? Nếu bạn muốn học spring boot cùng chuyên gia Stanford trong khoá Java web nâng cao hãy tham khảo ngay tại đây: khoá java web spring boot.

(Tham khảo java stack)

=============================
☎ STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 - 0866 586 366
Website: https://stanford.com.vn
Facebook: http://bit.ly/2FN0TYb
Youtube: http://bit.ly/2TkKT7I

Tags: Spring Boot là gì, Giới thiệu Spring Boot Framework, học spring boot, học java web, giới thiệu spring boot, đặc điểm spring boot