香港網(wǎng)站做購物商城會罰款嗎/網(wǎng)頁設計與網(wǎng)站建設教程
一、什么是框架
框架是整個或部分應用的可重用設計,是可定制化的應用骨架。它可以幫開發(fā)人員簡化開發(fā)過程,提高開發(fā)效率。
項目里有一部分代碼:和業(yè)務無關,而又不得不寫的代碼==>框架
項目里剩下的部分代碼:實現(xiàn)業(yè)務功能需要的邏輯代碼
簡而言之,框架是一個應用系統(tǒng)的半成品,開發(fā)人員在框架的基礎上,根據(jù)業(yè)務需求開發(fā)功能。即:別人搭臺,你唱戲。
二、為什么要學框架
1. 學習框架相當于從 “ 小作坊 ” 到 “ 工廠 ” 的升級,小作坊什么都要自己做,工廠是組件式裝配,特點就是高效。
2. 框架更加易用、簡單且高效。
三、框架優(yōu)點展示(SpringBoot VS Servlet)
使用 Spring Boot 項目演示框架相比于 Servlet 所具備的以下優(yōu)點:
1. 無需配置 Tomcat ,點擊 “ 運行 ” 按鈕就可以運行項目, Spring Boot 內(nèi)置了 Web 容器(可直接運行)。2. 快速添加外部 jar 包。3. 快速發(fā)布項目(使用 java -jar 方式就可以發(fā)布)。4. 對象自動裝配。5. ......
使用 SpringBoot 和 Servlet 對比 ,演示一個用戶添加的案例,展示以上優(yōu)點。
3.1 Servlet 項目開發(fā)
3.1.1 創(chuàng)建項目

3.1.2 添加引用
打開 https://mvnrepository.com 搜索 servlet 添加框架應用到 pom.xml 中,如下圖所示:
?PS:其中還需要注意使用的版本號
?在項目中右鍵添加“源代碼”文件夾,如下圖所示:
?
?
3.1.3 添加業(yè)務代碼
配置路由文件 web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>user</servlet-name>
<servlet-class>UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>user</servlet-name>
<url-pattern>/user</url-pattern>
</servlet-mapping>
</web-app>
添加實體類:
public class User {
private Integer id;
private String name;
private Integer age;
private String password;
// 其他屬性...
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return String.format("{id:%d,name:%s,age:%d,password:%s}",
id,name,age,password);
}
}
添加控制器:
import java.io.IOException;
public class UserServlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws
javax.servlet.ServletException, IOException {
this.doGet(request,response);
}
protected void doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws
javax.servlet.ServletException, IOException {
User user = new User();
user.setId(Integer.parseInt(request.getParameter("id")));
user.setName(request.getParameter("name"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setPassword(request.getParameter("password"));
// 獲取其他字段.....
System.out.println(user.toString());
response.setContentType("text/html");
response.getWriter().println(user.toString());
}
}
3.1.4 運行項目(配置tomcat)

?
?
3.1.5 Servlet 痛點分析
1. 添加外部 jar 不方便,容易出錯,比如添加了一個不匹配的外部 jar 版本;2. 運行和調(diào)試的時候需要配置 tomcat 不方便;3. 發(fā)布不方便, servlet 項目必須依靠外置的 tomcat (外置的 web 容器)運行。4. 路由配置不方便,一個訪問地址對應一個 Servlet 類。
而以上痛點問題,都可以通過 JavaEE 進階框架解決,接下來我們一起來看。
3.2 SpringBoot 項目開發(fā)
3.2.1 創(chuàng)建并添加引用

?選擇 SpringBoot 版本和添加外部引用:
?3.2.2 添加代碼并運行程序
用戶實體:
import lombok.Data;
@Data
public class User {
private Integer id;
private String name;
private Integer age;
private String password;
}
添加控制器:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/user")
@RestController
public class UserController {
@RequestMapping("/add")
public String add(User user){
return user.toString();
}
}
點擊調(diào)試按鈕即可運行項目:

訪問地址: http://localhost:8080/user/add?id=1&age=18&name=java&password=123
即可運行項目,如下圖所示

3.2.3 發(fā)布程序
使用 jar -jar xxx.jar 直接發(fā)布程序:
3.2.4 SpringBoot VS Servlet
SpringBoot 相比于 Servlet 的優(yōu)點總結:
1. 添加外部 jar 更容易,不易出錯(版本問題無需關注);
2. 調(diào)試項目更加方便,無需配置 Tomcat ;
3. 發(fā)布項目更加方便,無需配置 Tomcat ;
4. 添加路由更加方便,無需每個訪問地址都添加一個類。
現(xiàn)在我們已經(jīng)知道了框架的優(yōu)點了,哪怎么去學呢?
四、怎么學框架?
- 先從基礎框架 Spring 開始(工具箱)
- Spring Boot 快速開發(fā) Spring 腳手架
- MyBatis 快速操作數(shù)據(jù)庫
- 其他:日志、事務、攔截器....
框架學習中需要注意什么呢?
四、框架學習中的難點
1. 配置比較多。
2. 需要大量的外部 jar 包,在下載時容易出錯。
3. 會涉及簡單的軟件工程的設計思想(分層思想:前、后端的分層思想,及后端工程的分層思想)。
4. 知識點相對來說比之前的知識更加的分散,要仔細學習才能搞懂各個知識點的邏輯關系。
5. 要記的東西很多,所以要大量地重復練習才能記住,比如各種注解。