> 文章列表 > SpringBoot的创建及配置文件

SpringBoot的创建及配置文件

SpringBoot的创建及配置文件

文章目录:一.Spring项目的创建(1)SpringBoot的含义

                                                      (2)SpringBoot的优点

                                                       (3)项目目录的运行和介绍

                                                         

                   二.SpringBoot的配置文件

                                                          (1)配置文件的作用

                                                             (2)两种主要的配置文件:properties、yml语法和优缺点

                                                                        

                   三.设置不同环境的配置文件

一.Spring项目的创建

1.SpringBoot含义

SpringBoot是简化Spring程序开发的脚手架

2.SpringBoot的优点

(1)快速集成框架:SpringBoot在创建的时候提供了添加依赖的功能,不再需要手动往配置文件里添加依赖

(2) 内置运行容器,不需要再配置Tomcat等Web容器,直接运行和部署程序

(3)快速部署项目,无需任何外部容器即可启动并运行项目

(4)可以不再用xml的方式,使用注解和配置的方式进行开发

(5)支持更多的监控的指标,可以更好的了解项目的运行情况

3.Spring项目的创建

(1)安装SpringBoot Helper插件

(2)创建Spring项目 

 

 (2)

注意:第一次打开SpringBoot项目加载可能会比较慢,因为SpringBoot里添加的第三方框架并不在本地仓库,如果长时间加载,或者加载失败,我们需要检查是否配置了国内源

(3)项目目录的介绍和运行

(4)启动类 

下面我们用SpringBoot项目来实现和浏览器和用户的交互 

我们发送一个请求然后最终在客户端上返回个hello

这里@ResponseBody注解表示的是:表示当前类中的所有方法返回的都是非静态页面的数据

 二.SpringBoot的配置文件

1.配置文件的作用:

用于存放数据库的信息(url、用户名、密码)

用于设置项目端口

第三方系统的调用密钥等信息

可用于设置普通日志和异常日志,用于定位和发现问题

如果没有配置文件,那么项目就不能连接数据库,也没法用日志来排查问题

2.SpringBoot的配置文件主要有两种配置文件:

properties配置文件

(1)properties语法

采用键值对的方式,key和Value之间采用=连接

server.port=8080
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/java_114?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=rootjavaclass=106
studentid=3

(2)读取properties配置文件

采用注解@Value  注意使用"${}"格式来读取

public class Bup {@Value("${server.port}")public int port;@Value("${javaclass}")public int javaclass;@Value("${studentid}")public int studentid;@Value("${spring.datasource.url}")public String url;@Value("${spring.datasource.username}")public String username;@Value("${spring.datasource.password}") 
}

(3)properties配置文件优点和缺点

(1)key会出现很多的冗余信息

(2) 只支持java一种编程语言

优点:SpringBoot项目默认的配置文件,且它的优先级比yml文件高,当出现相同的配置项时,以properties配置文件为主。

yml配置文件

(1)yml基本语法

yml是树形结构的配置文件。它的基础是“key: value”,注意key和Value之间使用英文冒号加空格的方式组成,其中的空格不可省略

server:port: 8080
string: java
student:id: 2name: xiohaiage: 18
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/java_114?characterEncoding=utf8username: rootpassword: root

 (2)yml配置读取

和properties配置文件读取一样,都使用注解@Value即可

注意事项:value 值加单双引号

string:str1: hello \\n rootstr2: 'hello \\n root'str3: "hello \\n root"
@RestController
@Component
@ResponseBody
public class Bup {@Value("${string.str1}")public String str1;@Value("${string.str2}")public String str2;@Value("${string.str3}")public String str3;@PostConstructpublic void doPostConstruct(){System.out.println("str1:"+str1);System.out.println("str2:"+str2);System.out.println("str3:"+str3);}}

我们来看一下打印结果:

从结果我们可以看出:字符串 默认不加上单引号或双引号、单引号会转义特殊字符成一个普通的字符,而双引号不会转义特殊字符里面的普通字符,特殊字符表达它本身含义。

配置对象:

student:id: 2name: xiohaiage: 18

或者是行内写法:

student: {id: 2,name: xiaohai,age: 18}

这时候我们不再用Value注解来读取了,而是使用@ConfigurationProperties

@ConfigurationProperties("student")
@Component
@Setter
@Getter
@ToString
public class student {public int id;public String name;public int age;}

 注意原则上这个类里面我们必须写所有属性的Getter和Setter方法,为这个里我们写了Setter和Getter注解,所以可以省去

然后把student对象注入到Bup类里

@RestController
@Component
@ResponseBody
public class Bup {@Autowiredpublic student cup;@PostConstructpublic void doPostConstruct() {System.out.println(cup);}
}

我们看一下打印结果:

(3)yml优点:

可以更好的解决冗余问题 

更具通用性,可以支持多种编程语言

 三.设置不同环境的配置文件

1.创建不同环境的配置文件:

application-dev.tml(开发环境)

application-prod.yml(生产环境)

application-test(测试环境)

2.在application.yml中设置运行环境

spring:profiles:active: dev   //表示当前项目所处的环境为开发环境

我们将开发的环境项目端口号设为 :7089,生产环境端口号设为:8056,测试环境端口号:7077,我们将当前项目的环境设为开发环境:我们看一下用的端口号,

 这表示我们当前确实处在开发的环境。