Chúng ta cùng tiếp tục với phần quan trọng nhất nha. Chúng ta cần phải nắm vững về OOP, nếu không trả lời được về phần này thì khả năng fail là rất cao nhé. Bắt đầu nào!!! Câu 1: Constructor để làm gì? Constructor mặc định là gì? Constructor để khởi tạo đối tượng. Constructor mặc định là constructor không có tham số và nó dùng để khởi tạo các giá trị mặc định cho đối tượng. Câu 2: …
Author: Nguyen Minh Quan
Chúng ta bắt đầu với phần học về Java Core. Phần này bao gồm khá nhiều lý thuyết khôn khan và khó nhớ. Nên khi phỏng vấn cũng khá ít hỏi về cái này. Nhưng quân tử phòng thân, vậy nên chúng ta cũng cần phải ôn qua xem những nội dung chính của Java Core có những gì nha. Câu 1: Sự khác nhau giữa JDK, JRE và JVM JVM là một thiết bị máy ảo giúp Java có …
Hôm nay mình sẽ hướng dẫn mọi người cách sử dụng environment variable trong Spring Boot và sẽ có những bạn đọc tiêu đề bài này của mình sẽ hỏi là environment variable này được dùng để làm gì. Mình xin được giải thích sơ qua việc vì sao nên sử dụng environment variable như sau đó là mọi chuyện sẽ không có khó khăn gì nếu bạn chỉ code và chạy ứng dụng ở trên máy của mình khi …
Xin chào mọi người. Lớp của mình là C0619G1 đã bắt đầu chuẩn bị đi phỏng vấn về lập trình Java. Mình thấy các bạn trong lớp mình khá lo lắng vì chưa có chuẩn bị gì nhiều cho đợt phỏng vấn này. Và đây cũng chắc chắn cũng là tâm lý chung của những bạn sắp tốt nghiệp của CodeGym hay những bạn đi phỏng vấn ở những nơi khác. Vì vậy mình quyết định viết một vài blog …
Ở bài viết trước mình đã hướng dẫn một cách để có thể truy cập những api bị giới hạn quyền truy cập bằng cách sử dụng jwt. Và ở bài viết này mình sẽ hướng dẫn mọi người truy cập những api đó bằng cách sử dụng Oauth2 Trước hết chúng ta sẽ khởi tạo dự án và chọn những thư viện như sau: +) Chúng ta tạo dự án mới và chọn Spring Initializr sau đó chọn next …
JWT Tạo file JwtRespone như sau: JwtService @Service public class JwtService { private static final String SECRET_KEY = "11111111111111111111111111111111"; private static final long EXPIRE_TIME = 86400000000L; private static final Logger logger = LoggerFactory.getLogger(JwtService.class.getName()); public String generateTokenLogin(Authentication authentication) { UserPrinciple userPrincipal = (UserPrinciple) authentication.getPrincipal(); return Jwts.builder() .setSubject((userPrincipal.getUsername())) .setIssuedAt(new Date()) .setExpiration(new Date((new Date()).getTime() + EXPIRE_TIME * 1000)) .signWith(SignatureAlgorithm.HS512, SECRET_KEY) .compact(); } public boolean validateJwtToken(String authToken) { try { …
Ở bài viết này mình sẽ hướng dẫn mọi người cách sử dụng Spring Security Trước hết chúng ta sẽ tìm hiểu JWT là gì? JWT là viết tắt của từ Json Web Token là một chuỗi mã hóa được gửi kèm trong Header của client request có tác dụng giúp phía server xác thực request người dùng có hợp lệ hay không. Được sử dụng phổ biến trong các hệ thống API ngày nay. Cấu hình: chúng ta sẽ …
Bài viết này mình sẽ hướng dẫn dùng automation test bằng travis Đầu tiên các bạn truy cập trang web https://travis-ci.org/ Sau đó các bạn click vào sign in with github để đăng nhập Sau khi đăng nhập thành công các bạn chọn activate all repositories using GitHub Apps như sau Sau khi tất cả repository của bạn trên github đã được kết nối với travis thì các bạn vào trong dự án của mình trên máy tạo một file …
Ở bài trước mình đã hướng dẫn cho mọi người cách viết test Controller đối với phương thức findAll và create có security trong Spring Boot và bài này mình sẽ hướng dẫn mọi người viết test với phương thức findById, update và delete trong ExamController Đầu tiên chúng ta sẽ viết đoạn code test cho phương thức findById như sau Ở đoạn code trên chúng ta cung cấp mock object exam 1 cho đoạn test qua phương thức given …
Để tiến hành test Controller trong SpringBoot trước hết ta phải thêm thư viện spring-boot-starter-test, spring-security-test, spring-boot-starter-web, spring-security-test Cấu hình file SecurityConfig Tiến hành test controller với @SpringBootTest như sau Đầu tiên tạo một file có tên là ExamControllerTest: Sau khi tạo xong class trên, ta thêm các mock object vào trong class như hình dưới đây: Bây giờ ta sẽ tiến hành viết đoạn test đầu tiên với phương thức findAll() trong ExamController, ở đoạn code bên dưới thì …
Ở những bài viết trước mình có đăng những bài viết hướng dẫn về viết các test case trong Repository, Service và Controller và ở bài viết này mình sẽ giải thích tại sao chúng ta lại phải viết những bộ test case đó trước khi code. Có thể ở trong những bài viết trước của mình có thể những bạn chưa biết đến test case sẽ đặt ra những câu hỏi tại sao lại phải viết những bộ test …
Trong bài viết này mình sẽ hướng dẫn mọi người cách viết test service trong Spring Boot bằng cách sử dụng Mockito Trước hết chúng ta tạo CategoryRepository và CategoryService như sau: Sau khi tạo xong 2 class như trên chúng ta bắt đầu tiến hành test Service trong Spring Boot Trước hết chúng ta sẽ tạo một class có tên là CategoryServiceTest trong đó có phương thức init() với annoutation @BeforeEach Ở hình trên chúng ta khai báo một …
Trong bài viết trước mình đã hướng dẫn mọi người cách test GET và POST của controller trong SpringBoot với @WebMvcTest và ở bài viết này mình sẽ hướng dẫn cách test 2 phương thức PUT và DELETE với @WebMvcTest Chúng ta lại chuẩn bị thư viện và class test như bài viết mình đã hướng dẫn lần trước https://blog.codegym.vn/2020/02/14/huong-dan-test-controller-trong-spring-boot-voi-webmvctest-phan-1/?fbclid=IwAR3BJyRh9nfhlKmMVKSNV1veVKcm92e5U883YvwP-7PrwpsHcBfU3GCQ148 Sau khi đã chuẩn bị xong các thư viện và class cần thiết chúng ta bắt đầu test PUT trong …
Ở bài viết này mình sẽ hướng dẫn mọi người test với GET và POST của Controller trong Spring Boot với @WebMvcTest Thêm những thư viện sau vào file build.gradle: Sau đó ta tạo class có tên ExamControllerTest như sau: Sau khi chúng ta chuẩn bị xong 2 bước trên sẽ tiến hành viết đoạn code test cho GET như sau: Đoạn code trên ta sử dụng given(…).willReturn để tạo ra một mock object và sử dụng phương thức mvc.perform() …
Nếu chúng ta chỉ biết về những dòng code khô khan thì chúng ta vẫn chỉ là những coder hay dev quèn thôi. Vậy chúng ta cần làm gì để trở thành dev xịn. Để trở thành dev xịn, chúng ta cần phải tìm hiểu thêm nhiều các nguyên lý, cách tổ chức code,… Và SOLID là 1 trong những nguyên lý mà các dev cần phải biết và có thể sử dụng khi phỏng vấn. Chúng ta cùng tìm …
String là kiểu chuỗi mà được sử dụng khá phổ biến trong khi chúng ta lập trình. Nhưng bên cạnh String, chúng ta còn có StringBuffer và StringBuilder. 2 khái niệm này gần gần như nhau. Vì vậy, bài viết này sẽ nói đến sự khác nhau giữa String và String Buffer. Kiểu Object Kiểu Object của String là bất biến (immutable) còn của StringBuffer là có thể sửa đổi (mutable). Có thể các bạn chưa rõ bất biến là …
Bài viết này mình sẽ hướng dẫn mọi người cách test Repository trong Spring Boot với @DataJpaTest Để tiến hành test Repository trong SpringBoot trước hết ta phải thêm thư viện spring-boot-starter-test và com.h2database testCompile group: ‘org.springframework.boot’, name: ‘spring-boot-starter-test’, version: ‘2.2.0.RELEASE’ testCompile group: ‘com.h2database’, name: ‘h2’, version: ‘1.4.200’ Ta sẽ làm việc với entity là Category: @Id @GeneratedValue(strategy =GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String name; Sau đó tạo một repository như sau: @Repository public interface CategoryRepository extends …
Bài viết này mình sẽ hướng dẫn mọi người upload file bằng Firebase Bước 1: Vào https://console.firebase.google.com/ chọn thêm dự án Bước 2: Điền tên dự án, sau đó chọn tiếp tục, cuối cùng, chọn tài khoản mặc định rồi chọn ‘tạo dự án’ Bước 3: Chọn mục cài đặt dự án Bước 4: Chọn như hình để tạo ứng dụng web, sau đó điền tên ứng dụng Sau đó các bạn vào phần Storage chọn thẻ Rule và cấu …