1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide 4 spring beans

32 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Conceive Design Implement Operate SPRING BEANS GIẢNG VIÊN: AGENDA BASIC SPRING BEANS UNDERSTANDING @AUTOWIRED SPRING BEANS, DI AND IOC INJECTING AND USERING BUILT-IN SPRING BEANS BUILDING UTILITY SPRING BEANS (UPLOAD, COOKIE, SESSION) ADVANCED SPRING BEANS BEAN SCOPES UNDERSTANDING DEEPER IOC BUILDING SHOPPINGCARTSERVICE UNDERSTANDING @AUTOWIRED TẠI SAO BIẾN REQUEST KHÔNG NULL? -Spring tìm kiếm đối tượng (bean) mơi trường có kiểu tương ứng với biến liến kết biến với đối tượng tìm thấy báo lỗi khơng tìm thấy SPRING BEAN AND DI ❑Spring Bean bean Spring quản lý Các bean gồm: ❖Bean hệ thống (built-in) ➢ HttpServletRequest ➢ HttpServletResponse ➢ HttpSession ➢ ServletContext ➢… ❖Bean người sử dụng (user-defined) nạp vào ❑DI (Dependence Injection = “Tiêm đối tượng cần thiết”) cách thức liên kết Spring Bean vào biến cần thiết chương trình ❑Ví dụ: ❖@Autowired HttpSession session; ❖@Autowired ServletContext application; SPRING BEANS Spring Beans Bean Classes Bean Bean DI Bean Bean MetaData (@Configaration) Bean … @Autowired @Qualifier(id) BeanType var; @Component @Controller @Service @Repository Bean IoC Container ❑Spring Beans = + ❑ID (tiêm) = liên kết đến bean cần thiết ❑IoC Container (Inversion of Control = “Đảo ngược điều khiển”) engine làm nhiệm vụ nạp bean từ bên vào hệ thống nhằm cho phép điều khiển theo mã tùy biến bean bên ngồi USER-DEFINED SPRING BEAN ❑Có thể yêu cầu IoC Container nạp bean cách ❖Cách 1: Tạo lớp có đính kèm annotation sau ➢ @Controller ➢ @Component ➢ @Service ➢ @Repository ❖Cách 2: Tạo lớp viết phương thức tạo bean kèm @Bean khai báo file cấu hình @Configuration ❑Khi khởi động ứng dụng, Spring tìm kiếm annotation định nghĩa lớp phương thức với @Scope để tạo nạp đối tượng vào thời điểm phù hợp USER-DEFINED SPRING BEAN – WAY #1 use ❑Spring IoC Container tạo đối tượng từ lớp Company (vì có @Component) nạp vào hệ thống Vì DIController sử dụng @Autowired để tiêm vào sử dụng USER-DEFINED SPRING BEAN – WAY #2 use use Phương thức getCompany() thích @Bean bên lớp thích @Configuration đối tượng trả phương thức đượng Spring nạp vào Spring Beans BUILDING SESSIONSERVICE Conceive Design Implement Operate SPRING BEANS GIẢNG VIÊN: THỰC CHẤT CỦA IOC LÀ ĐỂ LÀM GÌ? ❑Đối với ứng dụng có độ tùy biến cao, có nhiều lời gọi phương thức chương trình mà khơng biết thực chức cịn phụ thuộc nhiều yếu tố tương lai ❑Để tránh phụ thuộc vào mã nguồn class, tiêm người ta sử dụng Interface Điều có nghĩa thay lớp lớp khác ứng dụng thực chức theo mong muốn lớp (đây mục tiêu IoC – đảo ngược điều khiển) ❑Xét ví dụ đơn gian: ❖Xây dựng phương thức sayGreeting() để xuất lời chào theo ngôn ngữ địa phương nơi cài đặt phần mềm ❖Rõ ràng lúc xây dựng phần mềm phải viết code cho phương thức này, đến bán cài đặt cho khách hàng biết phải viết mã IOC IMPLEMENTATION use Thay lớp ứng dụng hoạt động theo ý bạn SPRING BEAN SCOPES ❑Mặc định khai báo bean cách cấu hình annotation bean tạo đối tượng (singleton) nạp vào hệ thống từ đầu phục vụ cho toàn ứng dụng ❑Spring cung cấp số annotation cho phép khai báo bean để yêu cầu hệ thống nạp quản lý vòng đời chúng ❖@ApplicationScope ➢ Tạo bean từ đầu, chia sẻ phạm vi application giải phóng ứng dụng kết thúc ❖@SessionScope ➢ Tạo bean từ lúc bắt đầu phiên, chia sẻ phạm vi session giải phóng session timeout ❖@RequestScope ➢ Tạo bean từ lúc bắt đầu request, chia sẻ phạm vi request giải phóng request kết thúc SPRING BEAN SCOPES GIỎ HÀNG ĐIỆN TỬ ❑Giỏ hàng điện tử thành phần thiếu nhà phát triển ứng dụng web ❑Với tên gọi giỏ hàng (Shopping Cart) làm người học dễ nhầm tưởng bán hàng xây dựng giỏ hàng Cần hiểu rộng kỹ thuật lập trình lưu tạm thời liệu chọn Nhờ dễ dàng ứng dụng vào số lĩnh vực khác cách hiệu ❑Ví dụ ❖Chứa mặt hàng chọn (web bán hàng) ❖Chứa khóa học chọn (đào tạo) ❖Chứa dịch vụ tour tự chọn (du lịch) ❖… GIỎ HÀNG ĐIỆN TỬ ❑Có nhiều cách để thực việc lưu giữ tạm thời này, tùy thuộc vào phân tích tình lựa chọn phù hợp ❖HttpSession (lưu phía server): kết thúc phiên bị giải phóng ❖sessionStorage (lưu phía client): kết thúc phiên bị giải phóng Cần phải gửi lên server đặt hàng ❖Database: trì xóa Tuy nhiên cần tính đến giải pháp thu gom rác ❖localStorage (lưu phía client): trì xóa, xem lại máy Cần phải gửi lên server đặt hàng ❖Cookie (lưu phía client tự động truyền thơng với server có request): Duy trì theo thời hạn, kích thước lưu trữ hạn chế ❑Trong phạm vi môn học, sử dụng HttpSession (server-side) BUILDING SHOPPINGCARTSERVICE ❑Nghiệp vụ giỏ hàng: ❖Thêm vào giỏ ❖Thay đổi số lượng ❖Xóa khỏi giỏ ❖Xóa giỏ ❖Tính tổng tiền ❖Tính tổng số lượng ❖Liệt kê mặt hàng SHOPPINGCARTSERVICEIMPL SUMMARY UNDERSTANDING @AUTOWIARED SPRING BEANS, DI AND IOC INJECTING AND USERING BUILT-IN SPRING BEANS BUILDING UTILITY SPRING BEANS  UPLOADSERVICE  COOKIESERVICE  SESSIONSERVICE BEAN SCOPES UNDERSTANDING DEEPER IOC BUILDING SHOPPINGCARTSERVICE

Ngày đăng: 21/11/2023, 07:24

Xem thêm: