天天看點

SpringBoot+Vue3打造企業級一體化SaaS系統-萬條垂下綠絲縧

作者:大道至簡91
SpringBoot+Vue3打造企業級一體化SaaS系統-萬條垂下綠絲縧

SpringBoot+Vue3打造企業級一體化SaaS系統

download:https://www.sisuoit.com/4147.html

一、入門

1.簡介

Spring Boot是一個簡化Spring開發的結構。用來監護spring運用開發,約定大于裝備,去繁就簡,just run 就能創立一個獨立的,産品級的運用。樂位元組。

咱們在運用Spring Boot時隻需求裝備相應的Spring Boot就能夠用所有的Spring元件,簡單的說,spring boot便是整合了許多優秀的結構,不用咱們自己手動的去寫一堆xml裝備然後進行裝備。從本質上來說,Spring Boot便是Spring,它做了那些沒有它你也會去做的Spring Bean裝備。

2.長處

3.單體運用與微服務

單體運用是把所有的運用子產品都寫在一個運用中,導緻項目越寫越大,子產品之間的耦合度也會越來越高。微服務是一種架構風格,用微服務能夠将運用的子產品單獨布置,對不同的子產品進行不同的辦理操作,不同的子產品生成小型服務,每個功用元素最後都能夠成為一個能夠獨立替換、獨立晉級的功用單元,各個小型服務之間經過http進行通訊。

4.Spring Boot的核心特色

·微服務:

運用Spring Boot能夠生成獨立的微服務功用單元

·主動裝備:

針對許多Spring運用程式常見的運用功用,Spring Boot能主動供給相關裝備

·起步依靠:

告知Spring Boot需求什麼功用,它就能引進需求的庫。

·指令行界面:

這是Spring Boot的可選特性,借此你隻需寫代碼就能完結完好的運用程式,無需傳統項目建構。

·Actuator:

讓你能夠深入運轉中的Spring Boot運用程式。

5.簡單事例:運用maven創立HelloWorld項目

第一步:首要要裝備Spring Boot 依靠

org.springframework.bootspring-boot-starter-parent1.5.9.RELEASESpring Boot的版别仲裁中心;以後咱們導入依靠默許是不需求寫版别。(沒有在dependencies裡面辦理的依靠自然需求聲明版别号)org.springframework.bootspring-boot-starter-web

spring-boot-starter-web:

spring-boot-starter:spring-boot場景發動器。幫咱們導入了web子產品正常運轉所依靠的元件。

Spring Boot将所有的功用場景都抽取出來,做成一個個的starters(發動器),隻需求在項目裡面引進這些starter 相關場景的所有依靠都會導入進來。要用什麼功用就導入什麼場景的發動器

·第二步:建立包結構如下圖

·第三步:編輯相對應的類代碼

·HelloController.java

@RestController//标示是一個Controller類 并且支撐json資料格式輸出public class HelloController { //經過 http://localhost:8080/sayHello拜訪該辦法 @RequestMapping("/sayHello") public String hello(){ return "hello world"; } }

·MainTest.java

@SpringBootApplication//代表springboot的發動類 用來标示主程式類 說明是一個springboot運用public class MainTest { public static void main(String[] args) { //将springboot運用驅動起來 SpringApplication.run(MainTest.class); } }

·第四步:運轉main辦法

運轉main辦法,等到主動布置伺服器完結,然後經過位址就能夠拜訪到相應的資料。

6.事例解析---相應的問題

·為什麼隻裝備一個Spring Boot依靠:

·AutoConfigurationPackage:

主動掃描問題@ SpringBootApplication符号的主類,在主類地點包或許地點的子包下面找相應的操控類,然後依據相應的注解主動裝備相應的項目所需的bean

7.怎麼快速建立Spring Boot項目

留意創立Spring Boot時留意網絡連接配接的問題,堅持網絡疏通。點選New File,挑選Project挑選Spring Initializr,加載完結後檢視相應的JDK版别是否合适,保證後點選next

設定項目的GroupID和Artifact。挑選相應的言語和要生成的jar包或許war包以及JDK版别

勾選創立項目所需求的依靠,比方資料庫,web等依靠,這兒咱們簡單的介紹,不做詳細的詳解,就挑選一個web依靠

挑選結束後,點選finish完結建立項目等待項目建立完結。

創立結束後,堅持創立的結構是這個形式即可。

創立項目結束後,依據上面的事例簡單的創立一個項目測驗一下,測驗經過即可。

運用Spring Boot裝備檔案首要需求有JavaBean類,然後才能在相應的裝備檔案中為javabean中的特點指派

想要向JavaBean類中指派,需求在javabean的類中添加相應的注解@Component和@ConfigurationProperties(prefix = "person")。@Component将類添加進容器,@ConfigurationProperties裝備檔案中的資料注入到類中

· Dog.java

public class Dog {private String name; private String age;}

· Person.java

/**

* 将裝備檔案中裝備的每一個特點的值,映射到這個元件中

* @ConfigurationProperties:告知SpringBoot将本類中的所有特點和裝備檔案中相關的裝備進行綁定;

* prefix = "person":裝備檔案中哪個下面的所有特點進行一一映射

* 隻要這個元件是容器中的元件,才能容器供給的@ConfigurationProperties功用;

**/

@Component@ConfigurationProperties(prefix = "person") public class Person { private String name; private Integer age; private Boolean sex; private Date birthday; private Listlist; private Map map;private Dog dog;}

·裝備檔案:

裝備檔案名是固定的 application.properties 或application.yml

·裝備檔案的效果:

修改SpringBoot主動裝備的默許值;SpringBoot在底層都給咱們主動裝備好。

·application.properties詳解

示例:

#設定端口号為9999 server.port=9999

在application.properties中裝備相應的特點之後,從頭運轉項目,發現伺服器的端口發動号變成了9999,證明該段代碼能夠修改默許的8080端口。

· application.properties

person.age=80 person.birthday=2019/02/5 person.list=a,b,c person.name=旺财 person.sex=false person.map.v1=k1 person.map.v2=k2 person.dog.name=jjj person.dog.age=6

留意:在運用application.properties檔案向裝備檔案可能會出現亂碼,留意改變編碼格式為UTF-8

·application.yml詳解

·1.YAML檔案詳解

(1) YAML檔案界說:

YAML(YAML Ain’t Market Language)言語檔案,以資料為中心,比json、XML等檔案更加适合做裝備檔案

(2) YAML檔案的根本文法:

1. 運用縮進表示層級關系

2. 縮進時不允許運用Tab鍵,隻允許運用空格

3. 縮進的空格的數目不重要,隻要相同層級的元素左對齊即可

4. 大小寫靈敏

(3) YAML的值的寫法:

1. k: v:字面直接來寫;

2. 字元串默許不用加上單引号或許雙引号;

3. "":雙引号;不會轉義字元串裡面的特别字元;特别字元會作為本身想表示的意思

4. name: "zhangsan \n lisi":輸出;zhangsan 換行 lisi

5. '':單引号;會轉義特别字元,特别字元終隻是一個普通的字元串資料

6. name: ‘zhangsan \n lisi’:輸出;zhangsan \n lisi

(4) YAML支撐三種資料格式:對象,數組,根本資料類型

·2.YAML的常用寫法示例

· application.xml

person:name: 張三 age: 20 sex: false birthday: 2019/01/11 list: - a - b map: -k1: v1 -k2: v2 -dog: {name: ww,age: 12} dog: name: ww age: 2

相應的裝備檔案和類編寫結束後,編輯測驗類,運轉,測驗經過。

9.Spring Boot中的特别注解

這兒就解說幾個常用的注解吧,究竟時刻有限,我們能夠到網上查一下,詳細的注解

@SpringBootApplication注解剖析

@SpringBootApplication是一個複合注解,包括@ComponentScan,@SpringBootConfiguration,@EnableAutoConfiguration。

1.@SpringBootConfiguration承繼自@Configuration,二者功用也一緻,标示當時類是裝備類,并會将當時類内聲明的一個或多個以@Bean注解符号的辦法的執行個體歸入到srping容器中,并且執行個體名便是辦法名。

2.@EnableAutoConfiguration的效果發動主動的裝備。

3.@EnableAutoConfiguration注解的意思便是Springboot依據你添加的jar包來裝備你項目的默許裝備,比方依據spring-boot-starter-web,來判斷你的項目是否需求添加了webmvc和tomcat,就會主動的幫你裝備web項目中所需求的默許裝備。在下面部落格會詳細剖析這個注解,快速入門的demo實際沒有用到該注解。

4.@ComponentScan,掃描當時包及其子包下被@Component,@Controller,@Service,@Repository注解符号的類并歸入到spring容器中進行辦理。是曾經的(曾經運用在xml中運用的标簽,用來掃描包裝備的平行支撐)。是以本demo中的User為何會被spring容器辦理

@ResponseBody

表示該辦法的回來結果直接寫入HTTP response body中,一般在異步擷取資料時運用,用于建構RESTful的api。在運用@RequestMapping後,回來值通常解析為跳轉途徑,加上@esponsebody後回來結果不會被解析為跳轉途徑,而是直接寫入HTTP response body中。比方異步擷取json資料,加上@Responsebody後,會直接回來json資料。該注解一般會合作@RequestMapping一起運用

@Controller

用于界說操控器類,在spring項目中由操控器擔任将使用者發來的URL請求轉發到對應的服務接口(service層),一般這個注解在類中,通常辦法需求合作注解@RequestMapping

@RestController

用于标示操控層元件(如struts中的action),@ResponseBody和@Controller的合集。

@Service

一般用于潤飾service層的元件

@Repository

運用@Repository注解能夠保證DAO或許repositories供給反常轉譯,這個注解潤飾的DAO或許repositories類會被ComponetScan發現并裝備,一起也不需求為它們供給XML裝備項。

@Bean

用@Bean标示辦法等價于XML中裝備的bean。

@Value