修改端口

在main/resources/application.properties修改端口

server.port=8088

此时启动访问localhost:8088/hello 就会看到

Hello Spring Boot!

使用yml文件替换properties 文件

(1)在main/resources 文件下新建一个application.yml 文件

(2)在yml文件中修改端口

server:
port: 8099

(3) 删除掉application.properties文件,只保留yml文件

(4) 运行程序,此时访问8099端口即可

获取配置文件的值

(1) 在application.yml 文件中,编写上其他内容

server:
port: 8099
name: maomao
age: 18

(2) 利用@Value 注解

@RestController
public class HelloController { @Value("${name}")
private String name; @Value("${age}")
private int age;
@RequestMapping(value = {"/hello"},method = RequestMethod.GET)
public String say(){
return name+age;
}
}

(3)访问8099端口,就获取到值

maomao 18

使用自定义配置类

如果属性很多,我们每个属性都需要写,显得有些费事,我们可以利用自定义配置类进行获取

(1) 修改yml 文件

server:
port: 8099
girl:
name: maomao
age: 18

(2) 创建properties/GirlProperties.java

@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties { private String name; private int age; //get和set方法省略
}

(3) 我在使用@ConfigurationProperties 这个注解时,提示找不到class,需在pom文件中引入

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

(4) 修改controller文件

@RestController
public class HelloController { @Resource
private GirlProperties girlProperties;
@RequestMapping(value = {"/hello"},method = RequestMethod.GET)
public String say(){
return girlProperties.getName();
}
}

(5)验证结果

maomao

开发环境和生成环境配置不同的问题

这个问题经常见,比如我们开发环境 name 是maomao ,生成环境是 毛毛,我们大部分都是修改配置文件,但是这样还是很麻烦。

(1) 复制2个yml文件,分别是application-dev.yml (开发环境) application-prod.yml(生产环境)

(2) 修改application-prod.yml(生产环境)文件

server:
port: 8088
girl:
name: 毛毛
age: 18

(3) application-dev.yml (开发环境)文件内容

server:
port: 8099
girl:
name: maomao
age: 18

(4)application.yml文件内容,这个就代表使用dev的配置文件

spring:
profiles:
active: dev

(5)上篇文章讲过java -jar 的启动方式

  • 先执行 mvn install
  • 在执行启动 java -jar girl-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

(6)此时就是访问的prod 的配置8088,(注意我们配置的application.yml 中用的是dev 这个配置文件,但是我们启动的时候加上后面的参数就自动切换到 prod 文件上)

总结

在使用yml进行配置更加简单方便,使用java -jar 启动 加上参数,就可以避免我们来回修改配置文件,有漏掉的情况。

源码下载:github

SpringBoot(二)_项目属性配置的更多相关文章

  1. SpringBoot 入门:项目属性配置

    开发一个SpringBoot 项目,首当其冲,必然是配置项目 一.项目属性配置 1. SpringBoot自带了Tomcat服务器,通过使用项目配置文件来修改项目的配置,如图配置了部署在80端口,目录 ...

  2. springboot快速入门(二)——项目属性配置(日志详解)

    一.概述 application.properties就是springboot的属性配置文件 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring ...

  3. VS项目属性配置实验过程

    (原创,转载注明出处:http://www.cnblogs.com/binxindoudou/p/4017975.html ) 一.实验背景 cocos2d-x已经发展的相对完善了,从项目的创建.编译 ...

  4. VS IDE 中Visual C++ 中的项目属性配置

    VS IDE 中Visual C++ 中的项目属性配置 一. Visual C++ 项目系统基于 MSBuild. 虽然可以直接在命令行上编辑 XML 项目文件和属性表,我们仍建议你使用 VS IDE ...

  5. Spring Boot项目属性配置

    接着上面的入门教程,我们来学习下Spring Boot的项目属性配置. 1.配置项目内置属性 属性配置主要是在application.properties文件里配置的(编写时有自动提示)这里我们将se ...

  6. SpringBoot项目属性配置-第二章

    SpringBoot入门 1. 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了 ...

  7. 转载:VS项目属性配置总结

    本文来自:http://www.mamicode.com/info-detail-232474.html       https://www.cnblogs.com/alinh/p/8066820.h ...

  8. VS项目属性配置总结

    以下是针对VS2013下的VC++项目: Debug和Release说明: Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进 ...

  9. [02] SpringBoot的项目属性配置

    1.application.properties 简述 配置文件的使用和调整都非常方便,直接在项目默认的classpath下的application.properties文件中做调整即可.例如Spri ...

随机推荐

  1. nginx简单安装设置

    1.Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二 ...

  2. LR性能测试结果样例分析

    http://www.cnblogs.com/hyzhou/archive/2011/11/16/2251316.html   测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可 ...

  3. YOLO_Online 将深度学习最火的目标检测做成在线服务实战经验分享

    YOLO_Online 将深度学习最火的目标检测做成在线服务 第一次接触 YOLO 这个目标检测项目的时候,我就在想,怎么样能够封装一下让普通人也能够体验深度学习最火的目标检测项目,不需要关注技术细节 ...

  4. 【Java入门提高篇】Day16 Java异常处理(下)

    今天继续讲解java中的异常处理机制,主要介绍Exception家族的主要成员,自定义异常,以及异常处理的正确姿势. Exception家族 一图胜千言,先来看一张图. Exception这是一个父类 ...

  5. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  6. shell脚本头,#!/bin/sh与#!/bin/bash的区别.

    因为今天写了个小脚本,死活不成功,总是报文件或者目录不存在,问了一下我们马同学的正常写法,发现只有脚本头的区别,也就是今天本文要讲的#!/bin/sh与#!/bin/bash. 本文参考:https: ...

  7. 关于office在卸载了某一应用之后无法试图使用的功能所在的网络位置

    我出现这个问题是在卸载了某一个微软的办公软件之后,所有的办公软件都会产生这个问题. 处理的方法是将之前的安装包解压,然后找到所出现的msi文件,点击确定就ok了. 所以说,安装文件最好还是放在一个地方 ...

  8. Linux下gcc和g++的区别

    首先编写了第一个C++程序,Hello,world! #include <iostream> using namespace std; void main() ...{ cout < ...

  9. springboot+redis实现分布式session共享

    官方文档,它是spring session项目的redis相关的一个子文档:https://docs.spring.io/spring-session/docs/2.0.0.BUILD-SNAPSHO ...

  10. redHat linux 修改防火墙设置简略版

    1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables sta ...