博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot学习(2) SpringBoot 项目属性配置
阅读量:6623 次
发布时间:2019-06-25

本文共 3973 字,大约阅读时间需要 13 分钟。

第一节:项目内置属性

application.properties配置整个项目的,相当于以前的web.xml;
注意到上一节的访问HelloWorld时,项目路径也没有加;直接是http://localhost:8080/helloWorld;
因为它默认的server.servlet.context-path=/
修改如下:
src/main/resource/application.properties:
server.port=8888server.servlet.context-path=/HelloWorld

重新启动,输入http://localhost:8888/HelloWorld/helloWorld,页面显示spring boot你好;

1.port端口变成了8888;

2.项目根路径变了,context-path是/HelloWorld了;

 

第二节:自定义属性

可以在application.properties中配置一些自定义属性:xx.xx也行:

使用@Value("${key}")来注入到属性值中;

server.port=8888server.servlet.context-path=/HelloWorldhelloWorld=spring boot hello!mysql.jdbcName=com.mysql.jdbc.Drivermysql.dbUrl=jdbc:mysql://localhost:3306/db_rootmysql.userName=rootmysql.password=123456

com.cy.controller.HelloWorldController.java:

package com.cy.controller;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic 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("/helloWorld")    public String say(){        return helloWorld;    }        @RequestMapping("/showJdbc")    public String showJdbc(){        return "mysql.jdbcName:"+jdbcName+"
" +"mysql.dbUrl:"+dbUrl+"
" +"mysql.userName:"+userName+"
" +"mysql.password:"+password+"
"; }}

浏览器http://localhost:8888/HelloWorld/helloWorld,显示:spring boot hello!

浏览器http://localhost:8888/HelloWorld/showJdbc,显示:

mysql.jdbcName:com.mysql.jdbc.Driver

mysql.dbUrl:jdbc:mysql://localhost:3306/db_root
mysql.userName:root
mysql.password:123456

 

第三节:ConfigurationProperties 配置
上面自定义属性,如果写了很多呢,在多个地方用到,那么还一个一个的写,@Value("${key}"),就很麻烦了。
使用封装。
com.cy.properties.MysqlProperties.java:
package com.cy.properties;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;/** * mysql属性配置文件 * @author CY * */@Component@ConfigurationProperties(prefix="mysql")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;    }        }

HelloWorldController.java中使用它:

package com.cy.controller;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import com.cy.properties.MysqlProperties;@RestControllerpublic class HelloWorldController {        @Resource    private MysqlProperties mysqlProperties;        @Value("${helloWorld}")    private String helloWorld;        @RequestMapping("/helloWorld")    public String say(){        return helloWorld;    }        @RequestMapping("/showJdbc")    public String showJdbc(){        return "mysql.jdbcName:"+mysqlProperties.getJdbcName()+"
" +"mysql.dbUrl:"+mysqlProperties.getDbUrl()+"
" +"mysql.userName:"+mysqlProperties.getUserName()+"
" +"mysql.password:"+mysqlProperties.getPassword()+"
"; }}

浏览器http://localhost:8888/HelloWorld/showJdbc,显示之前一样;

 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/tenWood/p/8641387.html

你可能感兴趣的文章
4.1 在SELinux中客体类存在的目的
查看>>
如何用iPad运行Python代码?
查看>>
PHP学习3——数组
查看>>
E-HPC支持多队列管理和自动伸缩
查看>>
Maven的插件:命令行执行
查看>>
各种设备的CSS3MediaQuery整理及爽歪歪写法
查看>>
CVE-2017-8464远程命令执行漏洞(震网漏洞)复现
查看>>
Java 12 将于3月19日发布,8 个最终 JEP 一览
查看>>
基础为重,Python的基础,成就月薪过万
查看>>
索罗斯的反身理论和汇率分析
查看>>
Linux登录那点事
查看>>
angular项目中bootstrap-datetimepicker时间插件的使用
查看>>
通过网络仓库建立本地的yum仓库
查看>>
【web端权限维持】利用ADS隐藏webshell
查看>>
Linux下gdb的安装及使用入门
查看>>
Java 程序执行过程的内存分析
查看>>
灾难恢复-boot分区的恢复方法
查看>>
小游戏-猜数字
查看>>
深度学习到顶,AI寒冬将至!
查看>>
【投资】欧盟区块链创业公司投资超500万欧元
查看>>