第一讲我们已经讲解了入门Demo,这一讲我们主要讲解包含以下内容

  1. 项目内一些属性配置
  2. 自定义属性配置
  3. ConfigurationProperties配置

(1)第一个工程创建的时候会自动在工程下创建application.properties文件,如下图,那么该文件有什么作用呢?

            该文件主要用于参数配置,类似于web.xml一样,可以配置不同的参数,而且比web.xml 更强大。首先分析一下,demo首次访问项目地址是  http://localhost:8080/,

            我们并没有加项目路径,其实,这是springboot默认的。如果要加上项目路径,就只要在application.properties中配置即可,接下来我们将加上项目路径以及更改端口访问。

    

在application.properties中配置如下

重启项目访问 http://localhost:8888/hello/hello,结果如下图,正常可以访问。

(2)自定义属性配置,日常开发中,我们知道,有一些参数是需要配置的,比如jdbc参数。那么我们是如何在application.properties中配置以及在程序是获取呢?

首先在application.properties中配置参数如下

在Demo这个类中增加相应代码。获取配置文件中的参数的值。代码如下:

重启服务,然后访问 http://localhost:8888/hello/showDbMsg,结果如下,这就是自定义属性配置。

(3)在上面我们已经获取到配置文件的参数了,但是有一个问题,Demo类使用了这几个参数,如果有上百个类也要引用,还需要定义上百次变量,这可不是好事情。所以我们要通过一种其他的方式来获取,即是抽取变量定义到一个实体类中,

然后使用@ConfigurationProperties注解,自动解析参数给实体类赋值。当然application.properties定义的还是不变。

新增实体类MySqlProperties

package com.example.demo;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; @Component
@ConfigurationProperties(prefix = "mysql")
public class MySqlProperties { private String jdbcName;
private String userName;
private String password;
private String jdbcUrl; public String getJdbcName() {
return jdbcName;
} public void setJdbcName(String jdbcName) {
this.jdbcName = jdbcName;
} public String getJdbcUrl() {
return jdbcUrl;
} public void setJdbcUrl(String jdbcUrl) {
this.jdbcUrl = jdbcUrl;
} 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;
} @Override
public String toString() {
return "MySqlProperties [jdbcName=" + jdbcName + ", jdbcUrl=" + jdbcUrl + ", userName=" + userName
+ ", password=" + password + "]";
} }

demo类改造后如下:

package com.example.demo;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class Demo { @Resource
private MySqlProperties mySqlProperties; @ResponseBody
@RequestMapping("/showDbMsg")
public String showDbMsg() {
return mySqlProperties.toString(); } @ResponseBody
@RequestMapping("/hello")
public String name() {
return "hello spring boot"; }
}

重启容器后访问,http://localhost:8888/hello/showDbMsg,结果如下图,能正常访问。

最新文章

  1. 生产环境常见的HTTP状态码列表
  2. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q21-Q24)
  3. 深入理解图优化与g2o:图优化篇
  4. Direct2D开发:从资源加载位图
  5. css3实现立方体的旋转功能
  6. 九个uname命令获取Linux系统详情的实例
  7. 布隆过滤器(Bloom Filter)详解——基于多hash的概率查找思想
  8. 01.base-v1.js
  9. HBase 和 MongoDB在设计上的区别
  10. Weui 微信网站开发样式插件使用教程
  11. Cocos2d-x MultipleTouch & CCControllButton's confusion
  12. Jquery radio checked
  13. JSP中Filter中访问Spring管理的beans
  14. HDU-1664-Different Digits(BFS)
  15. notepad 是doc 调出记事本文件
  16. Linux 环境编译安装mysql (源码安装包)
  17. CentOS安装Tomcat8
  18. 篇3 安卓app自动化测试-搞定界面元素
  19. ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台
  20. Vue笔记:使用 axios 发送请求

热门文章

  1. TArray<uint8>转FString
  2. forEach循环dom
  3. 170323、Spring 事物机制总结
  4. Java 调用并执行cmd命令
  5. 防止Form中嵌入WebBrowser出错导致程序崩溃
  6. 修改\Servlet和Jsp模板的方法
  7. (转)Java DecimalFormat 用法(数字格式化)
  8. Sparrow - Distributed, Low Latency Scheduling
  9. 【转】浏览器Request Header和Response Header的内容
  10. Django1.6 运行manage.py 报错解决办法(ImportError)