zoukankan      html  css  js  c++  java
  • spring boot学习(2) SpringBoot 项目属性配置

    第一节:项目内置属性

    application.properties配置整个项目的,相当于以前的web.xml;
    注意到上一节的访问HelloWorld时,项目路径也没有加;直接是http://localhost:8080/helloWorld;
    因为它默认的server.servlet.context-path=/
    修改如下:
    src/main/resource/application.properties:
    server.port=8888
    server.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=8888
    server.servlet.context-path=/HelloWorld
    
    helloWorld=spring boot hello!
    
    mysql.jdbcName=com.mysql.jdbc.Driver
    mysql.dbUrl=jdbc:mysql://localhost:3306/db_root
    mysql.userName=root
    mysql.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;
    
    @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("/helloWorld")
        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+"<br/>";
        }
    }

    浏览器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;
    
    @RestController
    public 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()+"<br/>"
                  +"mysql.dbUrl:"+mysqlProperties.getDbUrl()+"<br/>"
                  +"mysql.userName:"+mysqlProperties.getUserName()+"<br/>"
                  +"mysql.password:"+mysqlProperties.getPassword()+"<br/>";
        }
    }

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

     
     
     
     
     
     
     
  • 相关阅读:
    image 和 barplot 的组合
    par函数mgp 参数-控制坐标轴的位置
    R语言绘图时的边界碰撞问题
    R语言绘制花瓣图flower plot
    mothur 计算稀释性曲线
    R语言 vegan包计算物种累计曲线
    R语言数据框小技巧
    tophat-fusion 鉴定融合基因
    FusionCancer-人类癌症相关的融合基因的数据库
    rrnDB数据库简介-16S基因多拷贝数的证据
  • 原文地址:https://www.cnblogs.com/tenWood/p/8641387.html
Copyright © 2011-2022 走看看