国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?

這篇具有很好參考價(jià)值的文章主要介紹了1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

大家好,我是曉星航。今天為大家?guī)?lái)的是 JavaEE 進(jìn)階導(dǎo)讀 相關(guān)的講解!??

1.為什么要學(xué)框架?

  1. 學(xué)習(xí)框架相當(dāng)于從“小作坊”到“工廠”的升級(jí),小作坊什么都要自己做,工廠是組件式裝配,特點(diǎn)就是高效。
  2. 框架更加易用、簡(jiǎn)單且高效。

框架主要體現(xiàn)在思維方式和編程思想上,與代碼語(yǔ)言無(wú)關(guān)。

易?、簡(jiǎn)單、?效的特性體現(xiàn)在哪些??呢?繼續(xù)往下看。

2.框架的優(yōu)點(diǎn)展示(SpringBoot VS Servlet)

使? Spring Boot 項(xiàng)?演示框架相?于 Servlet 所具備的以下優(yōu)點(diǎn):

  1. ?需配置 Tomcat,點(diǎn)擊“運(yùn)?”按鈕就可以運(yùn)?項(xiàng)?,Spring Boot 內(nèi)置了 Web 容器(可直接運(yùn) ?)。
  2. 快速添加外部 jar 包。
  3. 快速發(fā)布項(xiàng)?(使? java -jar ?式就可以發(fā)布)。
  4. 對(duì)象?動(dòng)裝配。

使? SpringBoot 和 Servlet 對(duì)?,演示?個(gè)?戶(hù)添加的案例,展示以上優(yōu)點(diǎn)。

2.1 Servlet 項(xiàng)?開(kāi)發(fā)

2.1.1 創(chuàng)建項(xiàng)?

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.1.2 添加引?

打開(kāi) https://mvnrepository.com 搜索 servlet 添加框架應(yīng)?到 pom.xml 中,如下圖所示:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

PS:其中還需要注意使?的版本號(hào)。

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

在項(xiàng)?中右鍵添加“源代碼”?件夾,如下圖所示:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.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="false">
</web-app>

添加實(shí)體類(lèi):

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 javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/adduser")
public class AddUser extends HttpServlet {
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
 this.doPost(req, resp);
 }
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp
) throws ServletException, IOException {
 // 1.獲取參數(shù)
 String name = req.getParameter("name");
 //...
 // 2.插?數(shù)據(jù)庫(kù)
 System.out.println("插?數(shù)據(jù)庫(kù)");
 // 3.返回結(jié)果
 resp.setContentType("text/html");
 resp.setCharacterEncoding("utf-8");
 resp.getWriter().println("添加成功:" + name);
 }
}

2.1.4 運(yùn)?項(xiàng)?(配置tomcat)

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.1.5 Maven配置

本地倉(cāng)庫(kù)地址查詢(xún):

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

上圖可以看到,博主的倉(cāng)庫(kù)地址包含中文,因此需要重新選擇倉(cāng)庫(kù)位置,將倉(cāng)庫(kù)進(jìn)行轉(zhuǎn)移,轉(zhuǎn)移倉(cāng)庫(kù)位置方法在后面為大家進(jìn)行講解!?。?/p>

我們把本地倉(cāng)庫(kù)地址拷貝到c盤(pán)中查詢(xún)

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

可以看到我們本地倉(cāng)庫(kù)有這么多的地址

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

例如我們進(jìn)入mysql可以看到我們mysql的Maven配置文件

2.1.5.1修改本地Maven倉(cāng)庫(kù)地址

最初的Maven默認(rèn)地址位置:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.首先找到我們之前的Maven本地地址所在的位置

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.創(chuàng)建好新的文件夾位置并將C盤(pán)中舊的Maven倉(cāng)庫(kù)中的資源全部拷貝過(guò)來(lái)!

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

3.再返回idea的設(shè)置中,找到設(shè)置Maven倉(cāng)庫(kù)位置進(jìn)行更改

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

如此我們便大功告成了?。。?注意文件夾的命名千萬(wàn)不要包含中文,否則日后使用的時(shí)候可能會(huì)報(bào)錯(cuò)!)

2.1.5.2 配置settings.xml文件

從網(wǎng)上下載資源包并解壓放在文件夾中

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

右鍵使用vscode或者其他文本編輯器打開(kāi)查看(因?yàn)槲谋揪庉嬈骺梢园汛a部分高亮表示出來(lái),方便我們查看以及修改)

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

從圖中我們可以發(fā)現(xiàn),這個(gè)settings.xml 文件使用的是阿里云的鏡像倉(cāng)庫(kù)

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

最后我們需要選擇一下,讓我們以后的新項(xiàng)目都會(huì)自動(dòng)配置到我們Maven的新倉(cāng)庫(kù)去下載

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

可以看到打開(kāi)后還是我們的setting設(shè)置中

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

找到Maven設(shè)置出發(fā)現(xiàn)我們新項(xiàng)目的Maven倉(cāng)庫(kù)位置還是默認(rèn)的C盤(pán)

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

重復(fù)之前的操作將此處的位置更改到我們更改的文件夾中,點(diǎn)擊Apply然后OK即可

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

此時(shí)便配置完成了,我們的代碼會(huì)優(yōu)先從阿里云中下載所需的依賴(lài),如果阿里云沒(méi)有的話才會(huì)轉(zhuǎn)而找到中央倉(cāng)庫(kù)去下載。

2.1.5.3項(xiàng)目 本地倉(cāng)庫(kù) 中央倉(cāng)庫(kù) 私服 區(qū)別與聯(lián)系

本地倉(cāng)庫(kù):自己電腦上存儲(chǔ)資源的倉(cāng)庫(kù),連接遠(yuǎn)程倉(cāng)庫(kù)獲取資源。

遠(yuǎn)程倉(cāng)庫(kù):非本機(jī)電腦上的倉(cāng)庫(kù),為本地倉(cāng)庫(kù)提供資源。
遠(yuǎn)程倉(cāng)庫(kù)又分私服和中央倉(cāng)庫(kù):

中央倉(cāng)庫(kù):Maven 團(tuán)隊(duì)維護(hù),存儲(chǔ)所有資源的倉(cāng)庫(kù)。

私服:部門(mén)/公司范圍內(nèi)存儲(chǔ)資源的倉(cāng)庫(kù),從中央倉(cāng)庫(kù)獲取資源;

項(xiàng)目 本地倉(cāng)庫(kù) 中央倉(cāng)庫(kù) 關(guān)系圖:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

項(xiàng)目 本地倉(cāng)庫(kù) 中央倉(cāng)庫(kù) 私服 關(guān)系圖:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

項(xiàng)目 本地倉(cāng)庫(kù) 中央倉(cāng)庫(kù) 私服 鏡像倉(cāng)庫(kù) 關(guān)系圖:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.1.5.4Maven包下載不下來(lái)

1.確認(rèn)包是否存在

2.如果包存在,就多下幾次

3.如果下載了很多次,都下載不下來(lái)

1)是否配置了國(guó)內(nèi)源 setting.xml

2)目錄是否是全英文 存在中文的話,修改路徑

3)刪除本地倉(cāng)庫(kù)的jar包,重新下載
可能存在的一個(gè)原因是,上次下載時(shí),因?yàn)榫W(wǎng)絡(luò)原因,造成jar包下載了一半
解決方法是刪除指定沒(méi)下載完的jar包就可以啦

2.1.5.5快捷修改文件名

shift + F6可以快捷改文件夾的名字

不要直接修改文件名,通過(guò)idea提供的方式修改文件名的好處:
1.idea 會(huì)幫我們查找相關(guān)的代碼
2.idea 會(huì)進(jìn)行提示
3.idea 會(huì)幫我們把關(guān)聯(lián)的文件名相關(guān)的代碼
全部修改

2.1.6 Servlet 痛點(diǎn)分析

  1. 添加外部 jar 不?便,容易出錯(cuò),?如添加了?個(gè)不匹配的外部 jar 版本;
  2. 運(yùn)?和調(diào)試的時(shí)候需要配置 tomcat 不?便;
  3. 發(fā)布不?便,servlet 項(xiàng)?必須依靠外置的 tomcat(外置的 web 容器)運(yùn)?。
  4. 路由配置不?便,?個(gè)訪問(wèn)地址對(duì)應(yīng)?個(gè) Servlet 類(lèi)。

?以上痛點(diǎn)問(wèn)題,都可以通過(guò) JavaEE 進(jìn)階框架解決,接下來(lái)我們?起來(lái)看。

2.2 SpringBoot 項(xiàng)?開(kāi)發(fā)

各個(gè)目錄文件夾解析:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.2.1 創(chuàng)建并添加引?

還可以通過(guò)
start.spring.io
網(wǎng)址來(lái)創(chuàng)建項(xiàng)目,通過(guò)網(wǎng)頁(yè)編程,然后將文件保存知道本地

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

由于博主是專(zhuān)業(yè)版idea因此不需要額外安裝插件來(lái)導(dǎo)入SpringBoot

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

這里Java版本無(wú)8,jdk使用1.8不適應(yīng)Java17的版本要求不能創(chuàng)建項(xiàng)目,因此我們先默認(rèn)創(chuàng)建進(jìn)去之后再改jdk版本和Java版本,之后文章會(huì)教,注意閱讀噢?。?!(這里我們選用Java17版本,jdk17,SpringBoot版本3)

springboot3.0更新后,idea創(chuàng)建springboot2.x項(xiàng)目 - CSDN App

選擇 SpringBoot 版本和添加外部引?:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.2.2 添加代碼并運(yùn)?程序

?戶(hù)實(shí)體:

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ǎn)擊調(diào)試運(yùn)行按鈕即可運(yùn)?項(xiàng)?:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

程序2:

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java
package org.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
/**
 * Created with IntelliJ IDEA
 * Description
 * User: 曉星航
 * Date: 2024 -03 -04
 * Time: 16:13
 */
public class HelloController {
    @RequestMapping("/sayhi")
    public String sayHi() {
        return "hello,SpringBoot";
    }

}

寫(xiě)好代碼后,我們找到下圖中的運(yùn)行程序類(lèi)直接運(yùn)行,即可將程序跑到網(wǎng)頁(yè)上,不需要再去花大量時(shí)間配置Tomcat了。

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

注: @RequestMapping("/sayhi") 這里代碼意為將上述代碼放入了sayhi這個(gè)文件夾中

我們輸入 127.0.0.1:8080/sayhi 即可成功訪問(wèn)并展示我們剛才所寫(xiě)的代碼

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

關(guān)閉運(yùn)行,再次訪問(wèn)

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

可以發(fā)現(xiàn)我們程序運(yùn)行了了

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

如果我們?cè)偌右粋€(gè)網(wǎng)頁(yè)進(jìn)來(lái),我們?nèi)匀恢恍枰匦路祷?img src="https://imgs.yssmx.com/Uploads/2024/04/851852-37.png" alt="1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java" referrerpolicy="no-referrer" />
中點(diǎn)擊重新運(yùn)行就可

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.2.3 發(fā)布程序

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.2.4 Tomcat啟動(dòng)失敗

1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?,JavaEE進(jìn)階,java-ee,學(xué)習(xí),spring boot,后端,java

2.2.5 SpringBoot VS Servlet

SpringBoot 相?于 Servlet 的優(yōu)點(diǎn)總結(jié):

  1. 添加外部 jar 更容易,不易出錯(cuò)(版本問(wèn)題?需關(guān)注);
  2. 調(diào)試項(xiàng)?更加?便,?需配置 Tomcat;
  3. 發(fā)布項(xiàng)?更加?便,?需配置 Tomcat;
  4. 添加路由更加?便,?需每個(gè)訪問(wèn)地址都添加?個(gè)類(lèi)。

現(xiàn)在我們已經(jīng)知道了框架的優(yōu)點(diǎn)了,哪怎么去學(xué)呢?

3.怎么學(xué)框架?

  • 先從基礎(chǔ)框架 Spring 開(kāi)始(?具箱)
  • Spring Boot 快速開(kāi)發(fā) Spring 腳?架
  • MyBatis 快速操作數(shù)據(jù)庫(kù)
  • 其他:?志、事務(wù)、攔截器…

框架學(xué)習(xí)中需要注意什么呢?

4.框架學(xué)習(xí)中的難點(diǎn)

  1. 配置?較多。
  2. 需要?量的外部 jar 包,在下載時(shí)容易出錯(cuò)。
  3. 會(huì)涉及簡(jiǎn)單的軟件?程的設(shè)計(jì)思想(分層思想:前、后端的分層思想;后端?程的分層思想)。
  4. 知識(shí)點(diǎn)相對(duì)來(lái)說(shuō)?之前的知識(shí)更加的分散,要仔細(xì)聽(tīng)才能搞懂各個(gè)知識(shí)點(diǎn)的邏輯關(guān)系。
  5. 要記的東?很多,所以要?量地重復(fù)練習(xí)才能記住,?如各種注解。

感謝各位讀者的閱讀,本文章有任何錯(cuò)誤都可以在評(píng)論區(qū)發(fā)表你們的意見(jiàn),我會(huì)對(duì)文章進(jìn)行改正的。如果本文章對(duì)你有幫助請(qǐng)動(dòng)一動(dòng)你們敏捷的小手點(diǎn)一點(diǎn)贊,你的每一次鼓勵(lì)都是作者創(chuàng)作的動(dòng)力哦!??文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-851852.html

到了這里,關(guān)于1.JavaEE進(jìn)階篇 - 為什么要學(xué)習(xí)SpringBoot呢?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 有了Spring為什么還需要SpringBoot呢

    有了Spring為什么還需要SpringBoot呢

    目錄 一、Spring缺點(diǎn)分析 二、什么是Spring Boot 三、Spring Boot的核心功能 3.1 起步依賴(lài) 3.2 自動(dòng)裝配 1. 配置文件和依賴(lài)太多了!??! spring是一個(gè)非常優(yōu)秀的輕量級(jí)框架,以IOC(控制反轉(zhuǎn))和AOP(面向切面)為思想內(nèi)核,極大簡(jiǎn)化了JAVA企業(yè)級(jí)項(xiàng)目的開(kāi)發(fā)。雖然Spring的組件代碼是輕

    2024年02月08日
    瀏覽(24)
  • 【Golang】Golang進(jìn)階系列教程--為什么說(shuō) Go 語(yǔ)言字符串是不可變的?

    【Golang】Golang進(jìn)階系列教程--為什么說(shuō) Go 語(yǔ)言字符串是不可變的?

    最近有讀者留言說(shuō),平時(shí)在寫(xiě)代碼的過(guò)程中,是會(huì)對(duì)字符串進(jìn)行修改的,但網(wǎng)上都說(shuō) Go 語(yǔ)言字符串是不可變的,這是為什么呢? 這個(gè)問(wèn)題本身并不困難,但對(duì)于新手來(lái)說(shuō)確實(shí)容易產(chǎn)生困惑,今天就來(lái)回答一下。 首先來(lái)看看它的底層結(jié)構(gòu): 和切片的結(jié)構(gòu)很像,只不過(guò)少了一個(gè)

    2024年02月14日
    瀏覽(98)
  • springboot~InvocationHandler中為什么不能使用@Autowired

    @Autowired 是 Spring Framework 中用于自動(dòng)注入依賴(lài)的注解,通常情況下可以正常工作,但有一些情況下可能無(wú)法獲取到 bean 對(duì)象: Bean未定義或未掃描到 :如果要注入的 bean 沒(méi)有在 Spring 上下文中定義或者沒(méi)有被正確掃描到, @Autowired 將無(wú)法找到要注入的 bean。確保你的 bean 配置正

    2024年02月10日
    瀏覽(22)
  • SpringBoot有的時(shí)候引入依賴(lài)為什么不用加版本號(hào)

    有的小伙伴做項(xiàng)目時(shí)候,引入新的包時(shí)候,會(huì)有疑問(wèn),為什么有些依賴(lài)需要加版本號(hào),有些依賴(lài)不需要加版本號(hào)?不加版本號(hào)的依賴(lài),版本號(hào)都寫(xiě)在哪里了呢? 內(nèi)置的依賴(lài)可以不加版本號(hào) 這是因?yàn)镾pringBoot內(nèi)置了很多依賴(lài),引入這些內(nèi)置的依賴(lài)時(shí)不需要加版本號(hào),相反,如果

    2024年01月19日
    瀏覽(26)
  • SpringBoot 日志文件:日志的作用?為什么要寫(xiě)日志?

    SpringBoot 日志文件:日志的作用?為什么要寫(xiě)日志?

    日志、日志,日志就是記錄發(fā)生了什么。為啥要記錄發(fā)生了什么呢?想象?下,如果程序報(bào)錯(cuò)了,不讓你打開(kāi)控制臺(tái)看?志,那么你能找到報(bào)錯(cuò)的原因嗎?因此我們需要記錄程序的行為,通過(guò)這些行為能讓我們更好的發(fā)現(xiàn)和定位錯(cuò)誤所在位置。 除了發(fā)現(xiàn)和定位問(wèn)題之外,還可

    2024年02月11日
    瀏覽(28)
  • SpringBoot復(fù)習(xí):(34)@EnableWebMvc注解為什么讓@WebMvcAutoconfiguration失效?

    SpringBoot復(fù)習(xí):(34)@EnableWebMvc注解為什么讓@WebMvcAutoconfiguration失效?

    它導(dǎo)入了DelegatingWebMvcConfiguration 它會(huì)把容器中的類(lèi)型為WebMvcConfigurer的bean注入到類(lèi)型為WebMvcConfigurerComposite的成員變量configurers中。 可以看到它繼承了WebMvcConfigurerSupport類(lèi) 而WebMvcConfigureAutoConfiguration類(lèi)定義如下 可以看到一個(gè)@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)注解。 所

    2024年02月13日
    瀏覽(43)
  • 深度剖析SpringBoot自動(dòng)配置原理,為什么SpringBoot能為我們做那么多東西

    深度剖析SpringBoot自動(dòng)配置原理,為什么SpringBoot能為我們做那么多東西

    本文基于 spring-boot-2.2.6.RELEASE 版本的源碼進(jìn)行說(shuō)明,不同版本的源碼可能會(huì)有一些區(qū)別。 要清楚SpringBoot自動(dòng)配置原理,就要明白 @SpringBootApplication 注解的組成,此注解主要是這三個(gè)注解組成: @SpringBootConfiguration , @EnableAutoConfiguration , @ComponentScan 。 下面是源碼: @SpringBo

    2024年02月13日
    瀏覽(23)
  • SpringBoot數(shù)據(jù)源——為什么平時(shí)默認(rèn)線程池是Hikari

    本文主要對(duì)DataSourceAutoConfiguration類(lèi)進(jìn)行講解,然后對(duì)這個(gè)類(lèi)的注解做一個(gè)解釋?zhuān)灾苯哟蜷_(kāi)這個(gè)類(lèi),開(kāi)始看…… ps:我用的版本是2.3.0.RELEASE 目錄 DataSourceAutoConfiguration類(lèi)注解 @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) @ConditionalOnMis

    2024年02月06日
    瀏覽(56)
  • 【Golang】Golang進(jìn)階系列教程--為什么 Go for-range 的 value 值地址每次都一樣?

    循環(huán)語(yǔ)句是一種常用的控制結(jié)構(gòu),在 Go 語(yǔ)言中,除了 for 以外,還有一個(gè) range ,可以使用 for-range 循環(huán)迭代數(shù)組、切片、字符串、map 和 channel 這些數(shù)據(jù)類(lèi)型。 但是在使用 for-range 循環(huán)迭代數(shù)組和切片的時(shí)候,是很容易出錯(cuò)的,甚至很多老司機(jī)一不小心都會(huì)在這里

    2024年02月15日
    瀏覽(22)
  • 為什么要學(xué)習(xí)算法

    我們每個(gè)人可能都會(huì)有過(guò)的經(jīng)歷: 是不是從學(xué)校開(kāi)始,你就覺(jué)得數(shù)據(jù)結(jié)構(gòu)難學(xué),然后一直沒(méi)認(rèn)真學(xué)? 工作中,一遇到數(shù)據(jù)結(jié)構(gòu)這個(gè)坑,你又發(fā)自本能地迅速避讓?zhuān)驗(yàn)槟阌X(jué)得自己不懂,所以也不想深究,反正看起來(lái)無(wú)關(guān)大局? 當(dāng)你想換工作面試,或者研究某個(gè)開(kāi)源項(xiàng)目源碼

    2024年02月01日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包