@@tayjava bài giảng hay quá ạ, hóng phần unit test của anh vì em nghĩ nó là cái cơ bản nhưng mà rất quan trọng với dev java
@hinhtongvan2006Ай бұрын
Em đang xem đến phần này nhưng chưa biết cách tạo ra thư mục Resource Bundle. Nhờ anh hướng dẫn em ạ.
@tayjavaАй бұрын
Resource Bundle là thư mục mặc định của của Spring Boot mà e
@hinhtongvan2006Ай бұрын
@@tayjava Em kiểm tra trong project của em không thấy có. Giờ nếu em muốn thêm thì có cách nào không a.
@hinhtongvan2006Ай бұрын
@@tayjava Em có tao lại project thử vẫn chưa có thư mục này anh ạ.
@lecongthanh67384 ай бұрын
Làm về cache với redis đi anh
@tayjava4 ай бұрын
Có rồi đó e, e xem trong danh sách phát nhé, a mới ra video cách đây 2 tuần nha
@on6118 ай бұрын
Còn nếu data lưu trong database mà multiple language thì mình triển khai như thế nào ạ?
@tayjava8 ай бұрын
E có thể tích hợp một số công cụ dịch thuật của google, aws, chatgpt, hoặc thuê người dịch e ạ
@menesduong12479 ай бұрын
Mong anh làm về sorting, paging, filtering ạ.
@tayjava9 ай бұрын
Bài thứ 13 trở đi sẽ là jpa e nhé
@nvtentertainment40987 ай бұрын
Làm về Kafka với Microservice đi anh ơi
@MenDuongDuy9 ай бұрын
anh ơi khi em push file tiếng việt lên git xong pull về nó bị lỗi font ạ
@tayjava9 ай бұрын
E phải để định dạng file là utf-8 nhé
@tutran69159 ай бұрын
Hay chú ơi! Cuốn quá :D. Bao giờ có microservice vs message queue chú ơi?
@tayjava9 ай бұрын
Hết jpa thì tới nhé, với cả chú phải soạn giáo trình đã nhé! Chú có code rồi nhưng chưa có ý tưởng về việc nên trình bày thế nào cho mọi người dễ hiều :p
@duyhoangta79888 ай бұрын
A cho e hỏi ngu chỗ này phát. E thấy nhiều a e inject như a. Trong file Translator được Inject resource Bundle nhưng các func toLocale thì lại là static. Vậy khi sử dụng toLocale thì nó là func static thuộc class Translator chứ không thuộc về Object Translator, còn resource bundle inject thì lại thuộc về Object Translator đúng không ạ? Vậy sao khi sử dụng Translator.toLocale thì nó lại hiểu được giá trị messageSource của Object Translator a nhỉ?
@tayjava8 ай бұрын
Khi áp dụng static cho field và method thì điều đó có nghĩa là các giá trị và đối tượng đó sẽ đc cấp phát nộ nhớ lâu dài trong memory cho nên có thể sử dụng nhiều lần mà ko cần khởi tạo với toán tử new. Tuy nhiên điều này cũng gây ra việc chiếm dụng tài nguyên của JVM. Túm lại hiều cái này mới nên dùng static nhé
@hunghong96328 ай бұрын
bởi vì Translator có Anotation @Component, và LocalResolver có @Configuration, khi mình chạy chương trình, Spring sẽ scan các class đánh dấu @Component, .. và nó còn scan các class đánh dấu @Configuration, nó sẽ tìm các method có @Bean. Scan được cái nào là nó sẽ tạo đối tượng cho cái đó, và đưa vào Spring IoC container để quản lí(các đối tượng đó gọi là Bean). Vì thế, để giải đáp thắc mắc của anh thì Spring nó tạo đối tượng Bean từ hàm messageSource khi nó quét tới @Bean trong class LocaleResolver , sau đó , khi nó tạo đối tượng Translator thì nó tiêm MessageSource vào constructor. Khi đó biến static messageSource có được giá trị thông qua constructor. (Giải thích dựa trên 2 lớp Translator và LocaleResolver trong video)
@hunghong96328 ай бұрын
Tới đây thì trong Spring IoC container đã có đối tượng Translator, mình có 2 cách để sử dụng toLocale, một là gọi trực tiếp Translator.toLocale nếu dùng static, nếu k dùng static thì Inject Translator vào class mong muốn rồi lấy đối tượng đó gọi hàm toLocale là được
@hunghong96329 ай бұрын
Em đọc docs của Spring thì nếu dùng constructor injection thì @Autoweird hay @Inject có thể bỏ. Em hay dùng @AllArgConstructor của Lombok để inject Dependency. Anh thấy như vậy có ổn không ạ, hay là không nên làm thế.
@tayjava9 ай бұрын
Phổ biến và đc khuyến khích là dùng constructor những bài jpa a sẽ dùng @RequiredArgsConstructor để khởi tạo bean, cái annotation này chính là constructor có tham số đó e