springboot入門以及分裝類
1. springboot簡介
1.1什麼是SpringBoot
Spring Boot 是所有基於 Spring 開發的項目的起點。Spring Boot 的設計是爲了讓你儘可能快的跑起來 Spring 應用程序並且儘可能減少你的配置文件。簡單來說就是SpringBoot其實不是什麼新的框架,它默認配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道這樣比喻是否合適)。
1.2、SpringBoot四個主要特性
-
1、SpringBoot Starter:他將常用的依賴分組進行了整合,將其合併到一個依賴中,這樣就可以一次性添加到項目的Maven或Gradle構建中;
-
2、自動配置:SpringBoot的自動配置特性利用了Spring4對條件化配置的支持,合理地推測應用所需的bean並自動化配置他們;
-
3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI發揮了Groovy編程語言的優勢,並結合自動配置進一步簡化Spring應用的開發;
-
4、Actuatir:它爲SpringBoot應用的所有特性構建一個小型的應用程序。但首先,我們快速瞭解每項特性,更好的體驗他們如何簡化Spring編程模型。
2. 如何創建springboot項目
對比我們之前創建的SSM項目,搭建的過程是真的多
1、配置web.xml,加載spring和spring mvc
2、配置數據庫連接、配置spring事務
3、配置加載配置文件的讀取,開啓註解
。。。
配置完成之後部署tomcat 調試
一不小心就容易搞錯!springboot就好多了
而使用 Spring Boot 來開發項目則只需要非常少的幾個配置就可以搭建起來一個 Web 項目,並且利用 IDEA 可以自動生成生成,這簡直是太爽了…
華麗的分割線---------------------------------------------------------------------------------------------------------------------------
1、file->new project 在彈出的窗口選擇Spring Initializr
2、修改項目信息
3、選擇版本及項目需要的依賴
然後點擊Next—>點擊finall就OK了
4、最終目錄結構
項目結構還是看上去挺清爽的,少了很多配置文件,我們來了解一下默認生成的有什麼:
- EurekaServerApplication: 一個帶有 main() 方法的類,用於啓動應用程序
- EurekaServerApplicationTests:一個空的 Junit 測試了,它加載了一個使用 Spring Boot 字典配置功能的 Spring 應用程序上下文
- application.properties:裏面存放的是項目的全局配置信息
- pom.xml: Maven 構建說明文件
然後直接運行那個main方法就可以直接啓動這個項目了,出現這個就說明啓動成功了。哈哈哈哈
你們肯定好奇爲什麼啓動的是localhost就可以了,端口號呢?這個耐心的看下去下面會有詳細的解釋
3. spring配置文件
內置屬性
注意:實際項目開發的時候Port=80,Context-path=/,以下配置只爲講解相關知識點
application.propertieslimain裏面有很多的內置屬性,這兩個比較實用就拿出來講了喲!
java代碼:
server:
port: 80
servlet:
context-path: /
自定義屬性
這裏自定義了user屬性
user:
uname: zs
pwd: 123
age: 22
sex: 男
方法:
@RestController 註解: 該註解是 @Controller 和 @ResponseBody 註解的合體版
@RestController
public class HelloController {
@Value("${user.uname}")
private String uname;
@Value("${user.pwd}")
private String pwd;
@Autowired
private User user;
@RequestMapping("/hello1")
public String hello1(){
return "helloword 你大爺!!!";
}
@RequestMapping("/hello2")
public Map hello2(){
Map map = new HashMap();
map.put("code",200);
map.put("msg","Springboot訪問成功!!!");
return map;
}
@RequestMapping("/hello3")
public Map hello3(){
Map map = new HashMap();
map.put("code",uname);
map.put("msg",pwd);
return map;
}
@RequestMapping("/hello4")
public User hello4(){
return user;
}
}
瀏覽器訪問結果
屬性封裝類
定義屬性封裝類
package com.hu.springboot01.entity;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @author hu
* @site www.huguiyun.xzy
* @company xxx公司
* @create 2019-11-07 16:23
*/
@ConfigurationProperties(
prefix = "user"
)
@Component
@Data
public class User {
private String uname;
private String pwd;
private String age ;
private String sex;
}
點擊右上角,添加pom依賴,解決報紅問題
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
測試結果如下:
這裏需要提的一點就是中文它不能編碼!!所以就會有亂碼的情況