前面我们讲解了SpringBoot HelloWorld实现

今天具体来讲解上那个application.properties项目配置文件

打开是空白 里面可以配置项目,所以配置项目我们 alt+/ 都能提示出来

上一讲tomcat默认端口8080 默认路径是根目录/

我们现在改成 端口8080 以及上下文路径/HelloWorld

改完后保存,启动HelloWorldApplication类

页面输入:http://localhost:8888/HelloWorld/hello

结果出来了

SpringBoot支持自定义属性

我们在application.properties中加一个helloWorld属性,属性值spring Boot大爷你好

server.port=8888

server.context-path=/HelloWorld

helloWorld=spring Boot\u5927\u7237\u4F60\u597D

当然对中文字节编码处理了

 

 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class HelloWorldController {
 
    @Value("${helloWorld}")
    private String helloWorld;
     
    @RequestMapping("/hello")
    public String say(){
        return helloWorld;
    }
}

 

 

页面里 我们定义然后配置一个属性值,调用请求,可以直接返回配置的值。

这个是一个很好的功能,比较方便;

我们重启HelloWorldApplication类,

页面输入:http://localhost:8888/HelloWorld/hello

显示:

假如我们要配置一个类别下的多个属性,

比如mysql的jdbc连接配置

mysql.jdbcName=com.mysql.jdbc.Driver

mysql.dbUrl=jdbc:mysql://localhost:3306/db_diary

mysql.userName=root

mysql.password=123456

我们贴到application.properties

然后按照前面的方案,我们在Controller里写四个属性;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class HelloWorldController {
 
    @Value("${helloWorld}")
    private String helloWorld;
     
    @Value("${mysql.jdbcName}")
    private String jdbcName;
     
    @Value("${mysql.dbUrl}")
    private String dbUrl;
     
    @Value("${mysql.userName}")
    private String userName;
     
    @Value("${mysql.password}")
    private String password;
     
    @RequestMapping("/hello")
    public String say(){
        return helloWorld;
    }
     
    @RequestMapping("/showJdbc")
    public String showJdbc(){
        return "mysql.jdbcName:"+jdbcName+"<br/>"
              +"mysql.dbUrl:"+dbUrl+"<br/>"
              +"mysql.userName:"+userName+"<br/>"
              +"mysql.password:"+password;
               
    }
}
 

重启启动类,

页面输入:http://localhost:8888/HelloWorld/showJdbc

上面那种 假如属性很多 要写一大串 假如多个地方使用 每个地方都得写这么多 不可取

下面我们介绍ConfigurationProperties配置方式

新建一个MysqlProperties类 把所有属性都配置上去

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.stereotype.Component;
 
/**
 * Mysql属性配置文件
 * @author user
 *
 */
@Component
@ConfigurationProperties(prefix="msyql")
public class MysqlProperties {
 
    private String jdbcName;
     
    private String dbUrl;
     
    private String userName;
     
    private String password;
 
    public String getJdbcName() {
        return jdbcName;
    }
 
    public void setJdbcName(String jdbcName) {
        this.jdbcName = jdbcName;
    }
 
    public String getDbUrl() {
        return dbUrl;
    }
 
    public void setDbUrl(String dbUrl) {
        this.dbUrl = dbUrl;
    }
 
    public String getUserName() {
        return userName;
    }
 
    public void setUserName(String userName) {
        this.userName = userName;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
     
     
     
     
}

执行前缀msyql

以及加上@Component作为组件 方便其他地方注入

当然这里会提示,

需要引入依赖到pom.xml

我们点下即可

pom.xml里会自动多了一个依赖,自动下载jar包

HelloWorldController里改下

import javax.annotation.Resource;

 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class HelloWorldController {
 
    @Value("${helloWorld}")
    private String helloWorld;
     
    @Autowired
    private MysqlProperties mysqlProperties;
     
    @RequestMapping("/hello")
    public String say(){
        return helloWorld;
    }
     
    @RequestMapping("/showJdbc")
    public String showJdbc(){
        return "mysql.jdbcName:"+mysqlProperties.getJdbcName()+"<br/>"
              +"mysql.dbUrl:"+mysqlProperties.getDbUrl()+"<br/>"
              +"mysql.userName:"+mysqlProperties.getUserName()+"<br/>"
              +"mysql.password:"+mysqlProperties.getPassword();
               
    }
}

只需要定义MysqlProperties即可 方便很多 运行就不演示了和前面一样

1-2SpringBoot项目属性配置的更多相关文章

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

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

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

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

  3. Spring Boot项目属性配置

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

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

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

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

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

  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 ...

  10. spring boot学习(2) SpringBoot 项目属性配置

    第一节:项目内置属性 application.properties配置整个项目的,相当于以前的web.xml: 注意到上一节的访问HelloWorld时,项目路径也没有加:直接是http://loca ...

随机推荐

  1. WLC-Right to Use Licensing

    1.RTU的介绍 RTU licensing是没有和UDI(unique device identifier)或SN绑定的一种模型.在你接受了最终用户许可协议(EULA)后,使用RTU license ...

  2. Nexus-配置vPC 实验三

    配置EvPC(增强的vPC),下面两个FEX可以同时被两个N5K管理.注意:FEX只支持静态的Channel-group(mode on) N5K-1配置:配置FEXN5K-1(config)#fea ...

  3. 洛谷P2758编辑距离(线性DP)

    题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1.删除一个字符: 2.插入一个字符: 3.将一个字符改为另一个字符: !皆为小写字 ...

  4. C++中的sort函数和⾃定义cmp函数

    写在最前面,本文摘录于柳神笔记: sort 函数在头⽂件 #include ⾥⾯,主要是对⼀个数组进⾏排序( int arr[] 数组或 者 vector 数组都⾏), vector 是容器,要⽤ v ...

  5. Python中利用for表达式创建列表

    1.for表达式语法格式及用法 for表达式利用可迭代对象创建新的列表,for表达式也称为列表推导式,具体语法格式如下: [表达式 for 循环计数器 in 可迭代对象] 例: a = [ i + i ...

  6. 华水开学第一课&微信支付

    由于疫情的延续,导致我们不能及时开学.只能在网上观看华水开学第一课,但是好像正常开学也没有这个哈哈(不记得了) 昨天没有玩到很晚,12点就睡下.大约半个小时睡着了.定了8点的闹钟.起来的时候那是真的困 ...

  7. python中解方程

    from sympy import * import numpy as np from numpy import linalg # 方程中的符号 x = Symbol('x') # 计算 result ...

  8. 第二周之Hadoop学习(二)

    这篇博客根据http://dblab.xmu.edu.cn/blog/install-hadoop-in-centos/中的教程进行学习: 首先按照教程的操作的第一步的时候,电脑直接蓝屏了. 但是依然 ...

  9. Oracle Parallel使用方法

    一. 并行查询 并行查询允许将一个sql select语句划分为多个较小的查询,每个部分的查询并发地运行,然后将各个部分的结果组合起来,提供最终的结果,多用于全表扫描,索引全扫描等,大表的扫描和连接. ...

  10. 16 JavaScript计时事件&显示时钟

    计时事件:JavaScript设定一定的时间间隔之后来执行代码 window.setInterval("JavaScript function",millisecons):间隔指定 ...