+9

Bước đầu lập trình Java web - Spring Core và Spring MVC cho người mới

Học lập trình web bắt đầu từ đâu ? Sau đây là một số kiến thức nền tảng cho một Java developer mới chập chững nhập môn lập trình Web. Kiến thức này còn phù hợp cho những bạn muốn ôn lại kiến thức nền tảng, ví dụ như trước nay mình hay dùng các annotation như @Bean @Controller @PathVariable vv. . mình đã thực hiểu nó chạy như nào dưới hệ thống hay chưa hay chỉ coi rồi làm máy móc theo thôi (vậy bạn đang ở đúng nơi rồi đấy). Khóa học hoàn toàn miễn phí trên Youtube có giải thích đầy đủ các kiến thức mà bạn cần biết về Java Spring framework. Mình sẽ code tay từng dòng lệnh để tiện theo dõi, các bạn click vào link màu xanh ở dưới để xem nhé

Phần 1: Học Spring Core

  • Công nghệ sử dụng: Java JDK 8.0, Maven Apache 3.6, Spring Tools Suite STS 2021 4.2
  • Kiến thức cần thiết: java cơ bản, interface

Trong học phần này, ta sẽ được tìm hiểu về nguyên lý Inversion of control(IoC) , Dependency Injection (DI) trong thiết kế code phần mềm. Mình lấy ví dụ ngoài đời thực, mình có laptop dell 7552 gì đó, nó có bản Intel CPU và bản AMD CPU cho khách hàng tha hồ lựa chọn. Ta không nên thiết kế cứng một chiếc laptop sẽ đi với cpu nào cả, mà ta nên thiết kế rằng : giữa Laptop và Cpu có một bản hợp đồng. Các cpu nào ký bản hợp đồng này thì đều được làm việc với laptop. Trong mô hình này, quan hệ giữa chúng là (laptop - has a - cpu) (cpu - is member of - laptop). Bản hợp đồng được nhắc ở đây chính là interface. Nhưng mà sao ta phải phân ra (Laptop has a Cpu) để làm gì, cứ viết code hết vào laptop cũng được mà ? tại vì đây là nguyên lý Single responsibility principle mỗi người một việc phần ai nấy làm, Laptop nó có nhiều việc quá (vừa nhận input từ bàn phím, vừa hiển thị cho user, vừa xử lý tính toán) ta chia bớt việc sang cho thằng Cpu làm tính toán

// không nên
class Laptop{
    AmdCpu cpu;
    void calculate(){
        this.cpu.calculate();
    }
}


// nên
interface ICpu{
    void calculate();
}

class AmdCpu implements ICpu{
    @Override
    void calculate(){
        System.out.println("I am Amd cpu, high performance of Graphic and cheaper");
    }
 }
 
 class Laptop{
     ICpu cpu;
     void calculate(){
         this.cpu.calculate();
     }
     public void setCpu(ICpu newCpu){
         this.cpu = newCpu;
     }
  }
  
  class Main {  
  public static void main(String args[]) { 
      Laptop laptop = new Laptop();
      laptop.setCpu(new AmdCpu()); // Ô yeahhh laptop dễ dàng thay đổi cpu
      laptop.setCpu(new IntelCpu()); // Ô yeahhh laptop dễ dàng thay đổi cpu
  } 
}

Khóa học Spring Core này đang được cập nhật

Phần 2: Học Spring MVC

Công nghệ sử dụng: Java JDK 8.0, Apache Maven 3.6, Tomcat Server Apache 8.5, Jave Eclipse IDE for web developer ver2021

Trong học phần này ta sẽ tìm hiểu về mô hình lập trình web MVC. Bản chất của nó chính là một design pattern mà thôi (MVC .net C# nè, MVC ruby on rails nè, MVC nodeJS nè). Bạn nào học FE cơ bản thì ta biết rằng có thể viết code JS lên HTML với thẻ script đúng không nào, nhưng các bạn thường không làm vậy mà các bạn sẽ tách file riêng ra. Thay vì viết code tại một nơi quá nhiều thì ta nên chia việc ra rõ ràng tại các nơi, file này có nhiệm vụ logic sự kiện, file kia có nhiệm vụ vẽ nên giao diện. MVC Trong đó, M là viết tắt của Model, nhiệm vụ của nó là mô tả và đóng gói dữ liệu truyền gởi giữa VC. Còn V là viết tắt của View, nhiệm vụ là hiển thị dữ liệu cho người dùng, trình bày rõ ràng sạch đẹp. C là viết tắt của Controller, nhiệm vụ nhận yêu cầu từ user và trả về phản hồi tương ứng. Trong tin học có một khái niệm tương tự như vậy đó là Mapping ánh xạ
146320644-35349e71-4fdb-492e-804e-0fb8e2f292fb.png

Khóa học Spring MVC vẫn đang tiếp tục cập nhật
Hãy để lại bình luận góp ý để mình có những bài viết tốt hơn nhé 😘


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí