欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

boot打包

程序员文章站 2022-05-03 15:53:11
...

boot项目打包

项目结构:
boot打包

配置文件application.yml


bp:
  datasource:
    username: root
    password: 1234
    url: jdbc:mysql://localhost:3306/test

spring:
  profiles:
    active: dev

配置文件application-dev.yml

bp:
  datasource:
    username: root-dev
    password: 1234-dev

简单的访问

@RestController
public class ConfigController {

    @Autowired
    private DataSourceConfig dataSourceConfig;

    @RequestMapping("/getConfig")
    public Map<String, Object> getConfig(){
        Map<String,Object> map = new HashMap<>();
        map.put("userName", dataSourceConfig.getUserName() );
        map.put("password", dataSourceConfig.getPassword());
        map.put("url", dataSourceConfig.getUrl());
        return map;
    }

}

打包项目

pom.xml所在的目录下运行clean package -Dmaven.test.skip=true -f pom.xml

可以发现生成了两个jar包: boot-package-0.0.1-SNAPSHOT.jarboot-package-0.0.1-SNAPSHOT.jar.original

运行java -jar boot-package-0.0.1-SNAPSHOT.jar

访问

在浏览器*问http://localhost:8080/getConfig:

{
    "password": "1234-dev",
    "userName": "root-dev",
    "url": "jdbc:mysql://localhost:3306/test"
}

可以发现虽然在application.yml中指明加载dev配置文件,但是,boot还是会先加载application.yml中的属性,然后,加载application-dev.yml,用application-dev.yml中的属性覆盖,如果application.yml中有而application-dev.yml中没有属性,那么也会加载application.yml中的属性

相关标签: boot