發布時間: 2020-06-24 11:34:50
【Java技術】SpringBoot入門基礎?
一、 SpringBoot誕生的背景
1. 在SpringBoot出現以前,使用spring框架配置web應需要大量的xml配置。
2. 隨著web項目集成軟件的不斷增多,xml配置文件也在不斷地增多,項目的依賴管理也越發的復雜。
3. xml配置文件不但復雜,而且絕大部分屬于模板配置,很多的配置是不斷重復的。對新手非常的不友好。
二、 SpringBoot改變了什么?
1. SpringBoot的目標不在為已解決的問題提供新的解決方案,簡化對已有技術的開發體驗。
2. 使配置更加簡單
3. 使開發變得簡單
4. 使部署變得簡單
三、 SpringBoot的主要特性
1. 遵循約定大于配置的原則,簡化配置
2. 脫離XML配置文件,使用注解實現配置
3. 內嵌Servlet容器,項目打包成jar包,運行更加方便
4. 提供啟動器,使得配置場景化,方便包管理,簡化配置
5. 快速與第三方類庫整合,方便易用
四、 SpringBoot與Spring,SpringMVC對比
1. SpringBoot項目并不是替換Spring、SpringMVC,而是使他們用起來更加簡單
2. Spring框架最核心的特性就是依賴注入DI和控制反轉IOC
3. Spring MVC提供了一種友好的方式來開發Web應用程序,可以輕松開發web
4. Spring 和 Spring MVC較大的弊病在于重量級的配置,并且這些配置有很高的相似性。
5. Spring Boot期望通過結合自動配置和啟動器來解決模板化問題
6. Spring Boot提供了豐富的第三方集成,簡化開發體驗
五、 什么是SpringBoot Starter?
是一組被依賴的第三方類庫的集合:
如:引入spring-boot-starter-web,就會自動引入以下與其對應的依賴包
1. Spring核心,beans,context上下文,AOP面向切面
2. SpringMVC
3. Jackson
4. Validation參數校驗
5. 內嵌Servlet容器
6. 日志框架
六、 Spring Boot Starter Parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
所有的Spring Boot項目默認使用spring-boot-starter-parent作為應用程序的父項目
方便統一管理Java版本與依賴版本
七、 內嵌Servlet容器
1. SpringBoot默認打包為jar
2. 使用java -jar即可運行
3. 使得部署變得簡單,有利于服務的構建,啟動和擴容
4. 支持其他容器作為web容器
八、 使用idea快速構建SpringBoot項目
九、 構建模塊化SpringBoot工程
1. 通過idea快速創建SpringBoot項目,刪除src目錄,并修改pom文件<!--定義全局版本號-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--父工程屬性-->
<groupId>cn.codermk</groupId>
<artifactId>springbootall</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--子工程繼承父工程,父工程需要打包成pom-->
<packaging>pom</packaging>
<name>springbootall</name>
<description>Spring Boot2.3全家桶案例</description>
<!--加載子工程-->
<modules>
<module>helloword</module>
</modules>
2. 編寫第一個入門案例
1. 新建helloword模塊,并修改pom文件<!--繼承父模塊-->
<parent>
<groupId>cn.codermk</groupId>
<artifactId>springbootall</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<!--子工程屬性-->
<groupId>cn.codermk</groupId>
<artifactId>helloword</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--子模塊打包成jar-->
<packaging>jar</packaging>
<name>helloword</name>
<description>HelloWord第一個測試案例</description>
2. 編寫一個controller
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello(String name){
return "你好?。? + name;
}
}
3. 瀏覽器測試訪問