zoukankan      html  css  js  c++  java
  • 【Spring Boot学习之七】自定义参数&多环境配置&修改端口号&yml

    环境
      eclipse 4.7
      jdk 1.8
      Spring Boot 1.5.2

    一、自定义参数
    通过注解直接获取配置文件application.properties中配置key的value
    1、application.properties

    wjykey=hahahatest

    2、注解取值

    package com.wjy.controller;
    
    import org.apache.log4j.Logger;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class UserController {
    
        private static Logger log = Logger.getLogger(UserController.class);
        
        @Value("${wjykey}")
        private String wjykey;
        
        @RequestMapping("/getkey")
        public String getkey() {
            return wjykey;
        }
        
    }

    3、APP

    package com.wjy;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class APP {
    
        public static void main(String[] args) {
            SpringApplication.run(APP.class, args);
        }
    
    }

    4、测试验证:http://localhost:8080/getkey

    hahahatest

    二、多环境配置
    在src/main/resources下面
    主配置文件
    application.propertie ==> spring.profiles.active=pre
    附属不同环境配置:
    application-test.properties:本地开发环境
    application-sit.properties:测试环境
    application-pre.properties:生产环境
    application-prd.properties:生产环境

    根据spring.profiles.active配置的后缀 取不同配置文件,从而切换不同环境


    三、修改端口号
    Spring Boot默认端口号是8080,这是可以修改的:
    server.port=8888
    应用上下文也可以修改:
    server.context-path=/wjy

    四、yml配置文件

    1、优点:体现配置结构,减少字符数;以后主流都是yml类型配置;
    2、语法:
      (1)k:(空格)v:表示一对键值对(空格必须有);
      (2)以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
      (3)属性和值也是大小写敏感;
    3、值的写法
    (1)字面量:普通的值(数字,字符串,布尔),​ k: v:字面直接来写;
    ​字符串默认不用加上单引号或者双引号;
    "":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
    name: “zhangsan lisi”:输出;zhangsan 换行 lisi
    '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
    name: 'zhangsan lisi':输出;zhangsan lisi

    (2)对象、Map(属性和值)(键值对):k: v:在下一行来写对象的属性和值的关系;注意缩进
    对象还是k: v的方式

    friends:
            lastName: zhangsan
            age: 20        

    行内写法:

    friends: {lastName: zhangsan,age: 18}

    (3)数组(List、Set):
    用- 值表示数组中的一个元素

    pets:
        - cat
        - dog
        - pig

    行内写法

    pets: [cat,dog,pig]

    4、properties和yml文件共存,可以一起使用


    eclipse 安装Spring IDE 编辑yml配置 进行自动提示换行等等:

    参考:https://blog.csdn.net/qq_37909141/article/details/86612342

  • 相关阅读:
    一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
    接口中定义的变量为什么是常量
    关于String s = new String("xyz");创建了几个字符串对象?的问题
    java面试题之----JVM架构和GC垃圾回收机制详解
    Object中的clone方法
    C/S与B/S架构的区别和优缺点
    EJB是什么?
    JNDI是什么,怎么理解
    java中什么是上下文(servletContext)
    java面试题----String、StringBuffer、StringBudder区别
  • 原文地址:https://www.cnblogs.com/cac2020/p/11236561.html
Copyright © 2011-2022 走看看