Bài đăng

Đang hiển thị bài đăng từ Tháng 12, 2020

Dialect là gì?

     Dialect means "the variant of a language "     Each database has native SQL variations and SQL standard implementations.     The Dialect class allows Hibernate to generate optimized and appropriate SQL statements for the chosen database .     Some Hibernate Dialects: org.hibernate.PostgreSQLDialect org.hibernate.dialect.MySQLDialect org.hibernate.dialect.OracleDialect org.hibernate.dialect.DB2Dialect

Driver là gì?

     Driver nó là một properties bắt buộc của Hibernate. "A JDBC driver is a software component enabling a Java application to interact with a database "" " Every database has its own driver class" "Every database driver needs to implement the Driver interface " Some JDBC Drivers: com.mysql.jdbc.Driver oracle.jdbc.driver.OracleDriver com.ibm.db2.jdbc.net.DB2Driver org.apache.derby.jdbc.ClientDriver

JPA là gì?

 Java Persistence API "One Approach of ORM" JPA là một cách tiếp cận của ORM "Can map, store, update, and retrieve data from relational databases to Java objects and vice versa." JPA ko chỉ có mapping, mà còn có thể store, update, truy vấn dữ liệu từ Relation DB và ngược lại. "Hibernate is one popular JPA implementation" Hibernate là một hình thức implement phổ biến của JPA

ORM là gì?

Object Relational Mapping "Converting between data records in RDBMS and object in (object-oriented) programming languages" Quá trình biến đổi giữa một data record trong database sang một object trong một ngôn ngữ lập trình hướng đối tượng nào đó ORM nó chỉ là 1 specification trong số rất nhiều specification khác Hibernate có thể đc xem là ORM framework phổ biến nhất trong Java

Phân biệt Junior/Mid/Senior Developer?

 Junior Developer Làm việc được dựa trên hướng dẫn của Senior ... Mid Level Developer Có thể làm việc một cách độc lập được ... Senior Developer Có thể làm việc một cách độc lập được Có thể hướng dẫn Junior làm việc được ...  

Spring Configuration

Spring sử dụng XML để configuration Sau đó, Java giới thiệu @annotation từ Java Version 5 Spring đã đưa thêm Spring @annotation vào để các lập trình viên có thêm nhiều lựa chọn. Từ Spring Version 4.1, Spring cho phép thêm một loại cấu hình nữa (Java-based configuration)  

Beans là gì?

Hình ảnh
 Java Beans Có hàm khởi tạo ko tham số (public) Có các getter & setter Implement java.io.Serilizable  ========================================================================  Spring Beans Là các Object đc quản lý bởi Spring Bất cứ Object nào đc khởi tạo, cấu hình và quản lý bởi Spring đc gọi là Spring Framework Container Chúng có thể đc định nghĩa và khai báo trong những configuration file, @annotation hoặc thông qua các reference Spring Bean ko nhất thiết phải là Java Bean Có một câu hỏi phỏng vấn đó là: phân biệt giữa POJO, Java Beans và Spring Beans???

POJO là gì?

Plain Old Java Object (POJO) Khái niệm này gặp rất nhiều ở tài liệu Java & tài liệu Design System ... POJO đơn giản nó là: Một Object: Nó không có bất cứ ràng buộc nào (Ngoại trừ các ràng buộc của Java) POJO không nên thừa kế các Class (Ngoại trừ Class mặc đinh trong gói Java lang) POJO có thể override lại các method của Object như là: equal hashCode toString Và nên có hàm khởi tạo của nó POJO không nên thừa kế các Interface, để tránh việc phụ thuộc POJO không nên có các @annotation POJO là một Object không có bất cứ một ràng buộc nào cả, ngoại trừ những ràng buộc mặc định của Java.

Constructor and Setter Injections

Hình ảnh
 Chúng ta xem ví dụ sau đây: Một class A có thuộc tính B Class A phụ thuộc vào Class B Chúng ta có thể tạo ra một Object của B thông qua khai báo thuộc tính và khởi tạo luôn: Trong trường hợp này, chúng ta ko sử dụng Dependency Injection để khởi tạo thuộc tính B ở trong Class A. Điều này, dẫn đến Hardcode & High Coupling trong Design ============================================================ Constructor Injection     Khi chúng ta truyền giá trị của B vào Class A thông qua Hàm khởi tạo có tham số của Class A Đây là Constructor Injection ============================================================ Setter Injection Tương tự như Constructor Injection Khi chúng ta truyền giá trị của B vào Class A thông qua Setter của Class A Đây là Setter Injection Trong Spring Framework, chúng ta gặp hai khái niệm này rất nhiều, nên chúng ta cần phải hiểu nó là gì.

Dependency injection (DI) là gì?

 DI nó là một dạng của IoC  Các Object đc truyền vào thông qua các Constructor/Setter/Service lookups Service lookups Có thể thông qua các Namespace hoặc các Confirguration  Spring Framework sử dụng cơ chế DI cụ thể là IoC Container để tạo ra các Object Hay còn gọi là Spring Bean   

Inversion of Control (IoC) là gì?

    IoC có nghĩa là: một Object ko tạo ra các Object khác nếu muốn sử dụng     Thay vào đó,  nó sẽ sử dụng các Object thông qua việc truyền vào từ bên ngoài     Ví dụ: các thuộc tính của một Class đc truyền vào thông qua Constructor/Setter.  Thay vì khởi tạo trực tiếp bên trong Class     Hoặc là các giá trị của các Object thuộc tính đc khai báo trong file XML     Hoặc truyền vào trong Class thông qua cơ chế Confirguration     IoC là 1 khái niệm trừu tượng, bạn có thể tham khảo thêm. Tuy nhiên nếu đc hỏi, bạn nên trả lời một cách ngắn gọn, dễ hiểu.