香港網(wǎng)站做購物商城會罰款嗎/網(wǎng)頁設(shè)計與網(wǎng)站建設(shè)教程
一、什么是框架
框架是整個或部分應(yīng)用的可重用設(shè)計,是可定制化的應(yīng)用骨架。它可以幫開發(fā)人員簡化開發(fā)過程,提高開發(fā)效率。
項目里有一部分代碼:和業(yè)務(wù)無關(guān),而又不得不寫的代碼==>框架
項目里剩下的部分代碼:實現(xiàn)業(yè)務(wù)功能需要的邏輯代碼
簡而言之,框架是一個應(yīng)用系統(tǒng)的半成品,開發(fā)人員在框架的基礎(chǔ)上,根據(jù)業(yè)務(wù)需求開發(fā)功能。即:別人搭臺,你唱戲。
二、為什么要學(xué)框架
1. 學(xué)習(xí)框架相當(dāng)于從 “ 小作坊 ” 到 “ 工廠 ” 的升級,小作坊什么都要自己做,工廠是組件式裝配,特點就是高效。
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 添加框架應(yīng)用到 pom.xml 中,如下圖所示:
?PS:其中還需要注意使用的版本號
?在項目中右鍵添加“源代碼”文件夾,如下圖所示:
?
?
3.1.3 添加業(yè)務(wù)代碼
配置路由文件 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. 路由配置不方便,一個訪問地址對應(yīng)一個 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)點總結(jié):
1. 添加外部 jar 更容易,不易出錯(版本問題無需關(guān)注);
2. 調(diào)試項目更加方便,無需配置 Tomcat ;
3. 發(fā)布項目更加方便,無需配置 Tomcat ;
4. 添加路由更加方便,無需每個訪問地址都添加一個類。
現(xiàn)在我們已經(jīng)知道了框架的優(yōu)點了,哪怎么去學(xué)呢?
四、怎么學(xué)框架?
- 先從基礎(chǔ)框架 Spring 開始(工具箱)
- Spring Boot 快速開發(fā) Spring 腳手架
- MyBatis 快速操作數(shù)據(jù)庫
- 其他:日志、事務(wù)、攔截器....
框架學(xué)習(xí)中需要注意什么呢?
四、框架學(xué)習(xí)中的難點
1. 配置比較多。
2. 需要大量的外部 jar 包,在下載時容易出錯。
3. 會涉及簡單的軟件工程的設(shè)計思想(分層思想:前、后端的分層思想,及后端工程的分層思想)。
4. 知識點相對來說比之前的知識更加的分散,要仔細學(xué)習(xí)才能搞懂各個知識點的邏輯關(guān)系。
5. 要記的東西很多,所以要大量地重復(fù)練習(xí)才能記住,比如各種注解。