28 October 2018

Spring framework là gì? Các chức năng của Spring framework?


Q: Spring framework là gi ?
Spring framework là một framework có mã nguồn mở, gọn nhẹ, theo kiến trúc lớp và module, hỗ trọ các ứng dụng java enterprise. sử dụng nhiều nhất trong Java EE framework.

Q: Các chức năng của Spring ?
Spring AOP:
Aspect oriented programming dịch là lập trình hướng khía cạnh. AOP giúp module hóa ứng dụng, biến chương trình thành các module hoạt động độc lập, mỗi module làm một chức năng riêng, từ đó dễ bảo trì và nâng cấp. Các module có thể áp dụng chung tính năng logging, transaction, data validation, authentication, …

Spring ORM: 
Là từ viết tắt của Object / Relational mapping. là phương pháp lập trình chuyển đổi ánh xạ từ mô hình database sang mô hình đối tượng. 

Spring Web: 
Spring Web là 1 phần của Spring Web application development, bao gồm MVC

Spring DAO: 
Data Access Object để truy cập dữ liệu như JDBC, Hibernate và JPA một cách nhất quán và dễ dàng.

Spring Context: 
Cung cấp cách để truy cập đối tượng. Kết thừa các đặc tính từ bean package và thêm vào chức năng đa ngôn ngữ (I18N), truyền sự kiện, resource-loading

Spring MVC: 
Triển khai MVC cho các ứng dụng web.

Spring Core: 
Chứa những thành phần IoC, DI BeanFactory
  • DI: Dependency Injection là khả năng liên kết giữa các thành phần lại với nhau, thuộc tính trong một đối tượng được “tiêm” tham chiếu lần lượt đến các đối tượng khác quản lý bởi Spring container.
  • IoC: Inversion of Control dịch là đảo ngược điều khiển (hơi khó hiểu)
    Ý của nó là làm thay đổi luồng điều khiển của ứng dụng. ví dụ như ở trên việc thay đổi thông tin trong file config.properties đã làm thay đổi luồng chạy của ứng dụng..
  • BeanFactory: cho phép móc nối giữa các đối tượng trong file cấu hình.
Các câu hỏi thêm

Q: Lợi ích của việc sử dụng Spring là gì?
  • Trọng lượng nhẹ: có lợi cho việc phát triển và triển khai các ứng dụng trên các máy tính có bộ nhớ và tài nguyên CPU hạn chế.
  • Inversion of Control (IoC): Spring container chăm sóc các phụ thuộc dây của các đối tượng khác nhau, thay vì tạo hoặc tìm kiếm các đối tượng phụ thuộc
  • Lập trình hướng Aspect (AOP): Spring hỗ trợ AOP để tách logic nghiệp vụ khỏi các dịch vụ hệ thống
  • IoC container: nó quản lý vòng đời Spring Bean và các cấu hình cụ thể của dự án
  • Khung MVC: được sử dụng để tạo các ứng dụng web hoặc các dịch vụ web RESTful, có khả năng trả về các phản hồi XML / JSON
  • Quản lý Transaction: giảm số lượng mã tấm nồi hơi trong các hoạt động JDBC, tải lên tệp, v.v. bằng cách sử dụng chú thích Java hoặc tệp cấu hình Spring Bean XML
  • Xử lý ngoại lệ: Spring cung cấp một API thuận tiện để dịch ngoại lệ dành riêng cho công nghệ thành các ngoại lệ không được kiểm soát
Q: Các phương pháp thực hiện Dependency Injection? 
  • Constructor Injection: Các dependency sẽ được truyền vào (inject vào) 1 class thông qua constructor của class đó. Đây là cách thông dụng nhất. (ví dụ trên mình dùng theo cách này)
  • Setter Injection: Các dependency sẽ được truyền vào 1 class thông qua các hàm Setter/Getter
Q: Một số Design Patterns được sử dụng trong Spring Framework?
  • Singleton Pattern: Singleton-scoped beans
  • Factory Pattern: Bean Factory classes
  • Prototype Pattern: Prototype-scoped beans
  • Adapter Pattern: Spring Web and Spring MVC
  • Proxy Pattern: Spring Aspect Oriented Programming support
  • Template Method Pattern: JdbcTemplate, HibernateTemplate, etc.
  • Front Controller: Spring MVC DispatcherServlet
  • Data Access Object: Spring DAO support
  • Model View Controller: Spring MVC
Q. @RequestMapping làm việc thế nào?
  • @RequestMapping - chú thích được sử dụng để map các yêu cầu web với các Controller, sử dụng nó để ánh xạ các tiêu đề HTTP.
  • @RequestParam - được sử dụng để truy cập (lấy) giá trị của parameters trên URL(kiểu query string)
  • @PathVariable - được sử dụng để lấy giá trị trên URI theo template (còn gọi là URI template).
Thêm chi tiết về @RequestMapping có sẵn ở đây .

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang