Spring Boot và tất tần tật tất cả mọi thứ liên quan tới nó, bạn đều có thể tìm kiếm tại đây.
Mỗi module đều có hướng dẫn chi tiết đi kèm.
🍆 loda.me 🍌
Spring Boot | Java | Github
Nguồn: Xem bài viết đầy đủ tại đây
Trước khi nói Spring Boot, chúng ta nói về nền tảng của nó, chính là Java.
Java ra đời năm 1991, tới nay thì đã gần 30 năm rồi. Và có một điều mà có lẽ ít lập trình viên biết, đó là tính tới năm 2018, nó vẫn là ngôn ngữ phổ biến nhất thế giới.
Cá nhân mình, thì mình thích cái cú pháp của Java, nó rõ ràng, dễ hiểu và dễ đọc. Ngoài ra, khái niệm OOP trong Java là chuẩn mực, kế thừa và interface đã khiến các dòng code trở nên đáng yêu hơn rất nhiều.
Khi được chạm tay vào những đoạn code siêu sao, cảm giác cực kì, cực kì khó tả ==' phê k tả được. Mặc dù quy tắc của Java rất đơn giản và không nhiều biến thể được hỗ trợ bởi thông dịch như Javascript
hay Python
, nhưng bạn vẫn không thể nào hết ngạc nhiên với Java được, bạn sẽ còn trầm trồ dù học nó bao lâu đi nữa.
Java được sử dụng trong nhiều lĩnh vực khác nhau, có thể là Frontend, có thể là Backend, có thể viết Game, Desktop App, Mobile App, xử lý dữ liệu lớn, Microservices, ML, AI, v.v.. nó len lỏi từng ngóc nghách của lập trình. Vì vậy, có kiến thức nền tảng là Java thì bạn rất rất có lợi, làm được rất nhiều thứ, mà dù cho có không sử dụng đến, nó vẫn sẽ giúp bạn học được các ngôn ngữ khác nhanh hơn.
Với một cộng đồng cực kì đông đảo và ngôn ngữ luôn cải thiện trong các version JDK về sau, mình tỉn rằng Java vẫn luôn là một khởi điểm tốt cho mọi lập trình viên.
Spring là một Framework, nên dù bạn có học nó, hay không học nó, bạn vẫn biết code Java thôi 😆
Nhưng nếu không học Spring hay Spring Boot thì bạn đã bỏ lỡ đi những điều thú vị mà Java có thể làm được. Chưa kể tới bỏ lỡ hàng tỉ cơ hội về nghề nghiệp, lương tỉ đô 😂 mặc dù mình biết nghề nghiệp cũng là phụ thôi, phải không các bạn, chúng ta làm vì đam mê! 😗
Spring là một framework java mãnh mẽ và phổ biến nhất hiện nay dành cho doanh nghiệp. Hoạt động trên nguyên lý Dependency Injection (DI) và IoC, nó giúp rút ngắn thời gian lập trình và test, giảm sự rườm rà trong code, giảm thiểu bottleneck.
Hệ sinh thái Spring hỗ trợ mọi layer từ frontend, backend, persistence, third-paty, hỗ trợ mọi kiến trúc từ củ chuối tới microservice, code thì lại dễ dàng, nâng cao hiệu năng của lập trình viên. Nó là ánh sáng le lói chọc xuyên đêm đen, giúp cuộc đời của một Java Developer có chút hi vọng lay lắt, và tiếp túc tồn tại (nghe cứ sai sai vấn đề 😂)
Còn rất nhiều thứ có thể kể về Spring nhưng vì bạn chưa biết thực ra nó là gì, nên có kể nữa cũng không tác dụng. Bây giờ bạn chỉ cần biết Spring và thằng con của nó (vâng, đặc biệt là thằng con của nó), Spring Boot là thứ bạn PHẢI HỌC khi tới với Java.
Để trả lời cho câu hỏi "học như lào?" thì bạn xem ở dưới.
Repository này chứa hàng tỉ code liên quan tới Spring Boot, mỗi thư mục đều có bài viết hướng dẫn chi tiết (Tiếng việt).
Bạn nên fork
hoặc star
repository này để nó lưu vào tài khoản Github của bạn. Lúc cần có thể đem ra học hoặc xem lại bất cứ lúc nào công việc yêu cầu.
Nên đọc bài viết dưới đây để biết bắt đầu từ đâu:
Lướt dạo rồi té :'(
🎄 Xem chi tiết hướng dẫn bằng video: https://www.youtube.com/watch?v=fEzH_08iti4
- Clone hoặc Download dự án này về máy
- Cài đặt IntelliJ IDEA
- Cài đặt Lombok Plugin
- Open folder
- Cấu hình Preferences | Build, Execution, Deployment | Compiler | Annotation Processors
- basic-dependency-loosely-coupled: Hướng dẫn loosely coupled
- spring-boot-1-helloworld-@Component-@Autowired: 「SP-#1」Hướng dẫn @Component và @Autowired
- spring-boot-2-helloworld-@Primary - @Qualifier: 「SP-#2」@Autowired - @Primary - @Qualifier
- spring-boot-3-bean-life-cycle-@PostConstruct-@PreDestroy: 「SP-#3」Spring Bean Life Cycle + @PostConstruct và @PreDestroy
- spring-boot-4-@Component-@Service-@Repository: 「SP-#4」@Component vs @Service vs @Repository
- spring-boot-5-Component-Scan: 「SP-#5」Component Scan là gì?
- spring-boot-6-@configuration-@Bean: 「SP-#6」@Configuration và @Bean
- spring-boot-7-spring-application-properties-@Value: 「SP-#7」Spring Boot Application Config và @Value
- spring-boot-8-@Controller-web-helloworld: 「SP-#8」Tạo Web Helloworld với @Controller
- spring-boot-9-thymeleaf: 「SP-#9」Hướng dẫn chi tiết làm Web với Thymeleaf + Demo Full
- spring-boot-10-@PostMapping-@ModelAttribute-thymeleaf: 「SP-#10」@RequestMapping + @PostMapping + @ModelAttribute + @RequestParam + Web To-Do với Thymeleaf
- spring-boot-11-JPA-MySQL: 「SP-#11」Hướng dẫn Spring Boot JPA + MySQL
- spring-boot-12-jpa-method-and-@Query-@Param: 「SP-#12」Spring JPA Method + @Query
- spring-boot-13-spring-boot-thymeleaf-mysql-web: ⚡️「SP-#13 Special」 Chi tiết Spring Boot + Thymeleaf + MySQL + i18n + Web Demo
- spring-boot-14-restful-api-@RestController-@RequestBody-@PathVariable: 「SP-#14」 Restful API + @RestController + @PathVariable + @RequestBody
- spring-boot-15-@ControllerAdvice-@RestControllerAdvice-@ExceptionHandler-@ResponseStatus: 「SP-#15」 Exception Handling @ExceptionHandler + @RestControllerAdvice / @ControllerAdvice + @ResponseStatus
- spring-boot-16-@ConfigurationProperties: 「SP-#16」 Hướng dẫn sử dụng @ConfigurationProperties
- spring-boot-17-spring-profiles: 「SP-#17」 Chạy nhiều môi trường với Spring Profile
- spring-boot-18-testing-in-spring-boot: 「SP-#18」 Hướng dẫn chi tiết Test Spring Boot
- spring-boot-19-testing-in-spring-boot-2: 「SP-#19」 Hướng dẫn chi tiết Test Spring Boot (Phần 2)
- spring-boot-@Conditional: Hướng dẫn tạo Bean có điều kiện với @Conditional
- spring-boot-@Conditional-2-custom-conditional: Hướng dẫn tự tạo custom @Conditional
- spring-boot-@Lazy-Anotation: Annotation @Lazy trong Spring Boot
- spring-boot-webflux: Xây dựng ứng dụng Reactive với Spring 5 Webflux
- spring-configuration-properties: Hướng dẫn sử dụng Spring Properties
- spring-redis: Hướng dẫn Spring Boot Data + Redis cơ bản
- spring-boot-@EventListener-@Async: Xử lý sự kiện với @EventListener + @Async
- spring-boot-application-context-events: Các sự kiện của ApplicationContext
- spring-boot-swagger2: RESTful API Document Tạo với Spring Boot + Swagger
- spring-boot-swagger3-openapi3: RESTful API Document với Spring Boot + OpenApi 3.0
- spring-cloud-config-server + spring-cloud-config-client: Hướng dẫn cấu hình nhiều properties bằng Spring Cloud Config Server
- spring-boot-jpa-auditing: Hướng dẫn Auditing với Hibernate + JPA
- jpa-hibernate-one-to-one: Hướng dẫn sử dụng @OneToOne
- jpa-hibernate-one-to-many: Hướng dẫn sử dụng @OneToMany và @ManyToOne
- jpa-hibernate-many-to-many: Hướng dẫn sử dụng @ManyToMany
- jpa-hibernate-pageable: Hướng dẫn Query phân trang bằng Pageable (Phần 1)
- jpa-hibernate-criteria: Hướng dẫn sử dụng Criteria API trong Hibernate (Phần 2)
- jpa-hibernate-specifications: [Spring JPA] Hướng dẫn sử dụng Specification (Phần 1)
- jpa-hibernate-custom-validation: Hướng dẫn tự tạo Validator để kiểm tra Model & Entity
- spring-security-example: Hướng dẫn Authorization với Spring Security (căn bản)
- spring-security-hibernate: Hướng dẫn Spring Boot + Security + H2 Database
- spring-security-hibernate-jwt: Hướng dẫn String Security + JWT (Json Web Token)
- test-mockito-basic: [Test] Hướng dẫn toàn tập Mockito
Có rất nhiều bài viết khác liên quan tới lập trình không nằm trong repo này, bao gồm hàng tỉ thứ xung quanh hệ sinh thái Java, Spring tại Loda.me
Trong nhiều năm qua, tôi nhìn thấy sự xâm lăng đáng sợ của "nước láng giềng" trong lĩnh vực lập trình.
Tôi gần như có thể tìm kiếm hàng tá repository xịn xò của họ khi Explore
trên Github
. Thì đúng, là Github mà, không tìm thấy repo thì tìm thấy gì :))) nhưng cái điểm khác biệt đó là toàn bộ repo đều là tiếng Trung!
Tôi nghĩ đây cũng là một trong những yếu tố chính khiến "nước láng giếng" lại có nguồn Developer đông và giỏi chuyên môn như vậy (tạm bỏ qua yếu tố đông dân, xã hội, điều kiện sống, nền tảng giáo dục, v.v.. đúng là có ảnh hưởng lớn cực lớn đấy, nhưng các bạn đọc tiếp đã).
Họ chia sẻ tài liệu với nhau rộng rãi, hướng dẫn lập trình, open-source hàng tá những project lớn nhỏ, và tất cả đều viết bằng tiếng Trung, comment tiếng trung, quy tắc, mô tả, giải thích, v.v.. mọi thứ đều là ngôn ngữ bản địa. Nó giúp cho bất kì ai trong đất nước họ đều có thể tiếp cận và học tập được những kiến thức này, dễ hiểu mà lại cực kì nhanh.
Tôi không nói rằng Tiếng Anh là không đủ, nhưng nếu cầm trên tay 2 quyển sách tương đương về kiến thức, một tiếng việt, một tiếng anh. Bạn đọc quyển nào trước?
Thế đấy, tôi sẽ bắt đầu chỉa sẽ những repo tiếng việt lên Github
để tất cả những developer là người Việt có thể tìm hiểu, đọc được và cùng nhau đóng góp. Xây dựng lên một cộng đồng developer Việt Nam ngày càng tốt hơn.
Hi vọng việc này sẽ giúp đỡ cho các tân binh mới vào nghề dễ dàng tiếp cận kiến thức mới và có lộ trình rõ ràng.
Nếu có bất kỳ nội dung nào liên quan tới Spring Boot còn thiếu,hãy tạo issues cho nó, tôi sẽ theo dõi và cải thiện。
Mọi thông tin xin liên hệ: https://loda.me/about