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
· 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: 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
领取专属 10元无门槛券
私享最新 技术干货