SpringBoot项目的parent依赖和配置文件*.properties、*.yml详解

1.idea建立SpringBoot项目

  • idea建立SpringBoot项目应该对不少人来讲已是菜到不能到菜的操做了,可是对于初学者小白来讲,仍是要讲解一下的。打开idea,而后选择Spring Initializr直接点击next,这里须要说一下的是这个界面上有一个http://start.spring.io连接,这个连接就是SpringBoot的官网连接,你们能够到SpringBoot官网建立项目而后导入到idea中,这个操做就自行百度了,我想直接能够在idea中操做,为何还要到官网上呢?可能太闲了吧
    在这里插入图片描述在这里插入图片描述
  • 而后就是填写相关的信息,包括:
  • Group(组织名)
  • Artifact(为项目名称,即项目对惟一标识符)
  • Packaging:jar(打包方式)
  • Package(包名)
  • Java Version(java版本名)
    而后点击next,进入下一步
    在这里插入图片描述在这里插入图片描述
  • 而后在这里选择你须要的依赖的模块,而后点击next
    在这里插入图片描述在这里插入图片描述
  • 最后选择你的项目在本地的位置,点击完成
    在这里插入图片描述在这里插入图片描述

2.SpringBoot项目的parent

  • 最后建立的SpringBoot的项目结构以下,打开pom文件
  • 这里定义了一个SpringBoot项目的父级项目依赖
  • 按住Ctrl键配合鼠标的左键点击进去
    在这里插入图片描述在这里插入图片描述
  • 进去后重要的看红框里面的,这里又定义了一个parent父级,为spring-boot-dependencies,从名字上就大概能看出这是SpringBoot的依赖管理

而后第二个红框内所说明的内容大概以下:java

  1. 定义了java的编译版本为1.8
  2. 使用UTF-8格式编码
  3. 打包操做的时候的配置
  4. 而后就是红框下面的就是插件的配置,和资源的过滤
    在这里插入图片描述在这里插入图片描述
    而后Ctrl+鼠标左键点击spring-boot-dependencies,如图
  5. 这里就是SpringBoot的依赖和依赖版本的管理,能够看到一堆的版本号
  6. 主要使用的是properties和dependencyManagement来进行版本号和依赖的管理,这既是为何咱们在SpringBoot项目引入大部分的依赖时不用写版本号,由于这是maven的依赖传递的关系,父级已经帮你定义好了版本号了
  7. 另外咱们也能够使用properties和dependencyManagement在咱们本身的项目中自定义本身的版本号,不使用父级帮咱们提供的版本号,参考以下:
<dependencyManagement>
 <dependencies>
    <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-releasetrain</artifactId>
    <version>Fowler-SR2</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency> 
  <dependency>
    <!-- Import dependency management from Spring Boot -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.1.2.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
 </dependencies>
</dependencyManagement>

在这里插入图片描述在这里插入图片描述nginx

3.SpringBoot的配置文件

在SpringBoot项目中的配置文件的格式有两种properties和yml,文件的位置以下(优先级由高到低,这里解释一下优先级的意思就是,在项目加载jvm的时候会优先加载哪一个位置的配置文件):spring

  • 当前项目根目录下的 config 目录下
  • 当前项目的根目录下
  • resources 目录下的 config 目录下
  • resources 目录下
    在这里插入图片描述在这里插入图片描述
  • 另外除了SpringBoot给咱们默认配的配置文件的位置,咱们也能够本身指定配置文件的位置。如图所示,即为在项目的resources目录下建立一个myconfig目录,而后把application.properties文件放在这个目录下
    在这里插入图片描述在这里插入图片描述
  • 另外咱们也能够在启动项目的时候,指定配置文件的位置,这个的操做主要针对于已经打包好的项目,没法修改配置文件了
java -jar demo.jar --spring.config.location=classpath:/myconfig/

最后是修改application.properties/application.yml配置文件的名字,由于咱们的默认配置文件的名字也能够不叫做这个默认的名字,例如修改成myconfig.properties/myconfig.yml.如图,在启动项目的时候经过spring.config.name=myconfig来指定配置文件的名字数组

在这里插入图片描述在这里插入图片描述
另外在已经打包好的项目的时候也能够经过下面的启动命令来指定配置文件的名字安全

 

java -jar demo.jar --spring.config.name=myconfig

最后能够同时执行多条命令,以下:bash

java -jar demo.jar --spring,config.name=myconfig;spring.config.location=classpath:/myconfig/

3.SpringBoot的配置文件语法

  • properties的语法
    properties的语法是基于key和value形式的,键与值之间经过等号链接,例如:
person.name=李依依
person.age=18
  • properties中值的注入,经过@Value注解注入值,注意也要加上@Component注解将对象交给Spring容器管理
@Component
public class Person{
    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age;
    //省略getter/setter
}
  • 类型安全的属性注入,另外SpringBoot提供了另外一种注入的方式,主要解决要注入不少属性的时候,要写不少次的@Value
@Component
@PropertySource("classpath:person.properties")
@ConfigurationProperties(prefix = "person")
public class Book {
    private String name;
    private Integer age;
    //省略getter/setter
}
  • yml的语法
    相对比properties的语法yml的语法简洁明了,主次分明,语法以下:yml是以:分割的。
    数组的值的注入:
type:
    color:
        - white
        - black

这段数据绑定到一个bean对象中,以下代码:app

@ConfigurationProperties(prefix="type")
@Component
public class Config{
    private List<String> color = new ArrayList<String>()
    public List<String> getColor(){
        return this.color
    }
}

当yml配置文件中取单个值的时候,以下jvm

type:
    color:white

取值maven

@Value("${type.color}")
private String color

更多的教程请关注:非科班的科班,如果以为教程对你有帮助的请点个赞,谢谢ide

 

最后分享一波java的资源,资源包括java从入门到开发的全套视频,以及java的26个项目,资源比较大,大小大概是290g左右,连接容易失效,获取的方式是关注公众号:非科班的科班,让后回复:java项目便可得到,祝你们学习愉快

相关文章
相关标签/搜索