zoukankan      html  css  js  c++  java
  • SpringBoot2 配置

    一.Properties与Yaml

    SpringBoot支持properties与yaml两种配置文件application.properties/application.yml

    yaml简单使用

    1.yaml简介

    yaml是以数据为中心的,比json,xml更适合做配置文件

    2.yaml基本语法

    k: v:形式的键值对,:后面必须有空格
    以空格缩进来控制层级关系
    大小写敏感

    例子:

    server:
      port: 8081 # 设置默认端口号
      servlet:
        path: /init

    值的写法

    k: v 直接书写

    【字符串默认不用加上单引号或者双引号】

    "":双引号;不会转义字符串里面的特殊字符;

    '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

    对象

    k: v:在下一行来写对象的属性和值的关系

    例如:

     persion:
              name: zhangsan
              age: 10

    行内写法:

    persion: {name: zhangsan,age: 10}

    数组(List,Set,Map)

    普通数组,List,Set 使用 -值 来表示数组中的一个元素

    arrays:
      - arrays1
      - arrays2
      - arrays3

    Map使用k: v的形式来表示

    map:
      k1: v1
      k2: v2
      k3: v3

    使用配置文件注入

    在pom.xml引入依赖,用于注释处理器生成自己的元数据

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>

    实体类:

    /**
     * persion类
     */
    @Component
    @ConfigurationProperties(prefix = "persion")
    public class Persion {
    
        private String name;
        private int age;
        private boolean isMan;
        private Date birth;
    
        private String[] hobbys;
        private Map<String,String> skills;
        private List<String> enjoys;
    
        // 省略getter setter toString
    
    }

    yaml配置:

    persion:
      name: zhangsan
      age: 20
      isMan: true
      birth: 1997/11/12
      hobbys:
        - 篮球
        - 足球
        - 乒乓球
      skills:
        java: javase
        python: ai
      enjoys:
        - eating
        - running
        - playgames

    测试类

    @Autowired
        Persion persion;
    
        @Test
        public void contextLoads() {
            System.out.println(persion);
        }

    yaml语法教程 
    http://www.ruanyifeng.com/blog/2016/07/yaml.html

    二.服务器配置

    更改端口:

    server.port=8081

    更改上下文访问路径,SpringBoot默认范文路径为“/”:

    server.servlet.context-path=/base

    常见的服务器配置

    server.port:SpringBoot监听端口
    server.error.path:错误处理路径
    server.servlet.context-path:配置SpringBoot默认上下文路径

    三 日志配置
    定义日志级别
    日志级别 ERROR WARN DEBUF INFO TRACE 级别从高到低

    # 输出日志级别 ERROR WARN DEBUF INFO TRACE,日志只会打印当前级别,以及高于当前级别的日志
    logging.level.root=info

    输出日志到文件

    # 输出日志到文件
    logging.file=/my.log

    定义日志输出格式
    输出到控制台日志格式:

    logging.pattern.console=【%level %date %logger %thread %M %L %m】 %n

    输出到日志文件的日志格式:

    # 定义输出到文件的日志格式
    logging.pattern.file=【%level %date %logger %thread %M %L %m】 %n

    日志格式基本参数

    属性    内容
    %level    表示输出日志级别
    %date    表示日期发生时的时间
    %logger    用于输出Logger名字,包名+类名,{n}限定输出长度
    %thread    当前线程名
    %M    日志发生时方法的名字
    %L    日志调用所在代码行
    %m    日志消息
    %n    日志换行

    日志使用例子:

    public class Hello {
        public static void main(String[] args) {
            Logger logger = LoggerFactory.getLogger(Hello.class);
            logger.debug("Hello World");
        }
    }

    日志的输出格式:

    %d:表示日期时间
    
    %thread:表示线程名
    
    %‐5level:级别从左显示5个字符宽度      
    
    %logger{50}:表示logger名字最长50个字符,否则按照句点分割。   
    
    %msg:日志消息
    
    %n:是换行符 
    
    %d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n

    例子:

    设置application.properties的日志配置

    # 设置日志等级
    logging.level.com.fjut.*=trace
    
    # 设置在控制台输出的日志的格式
    logging.pattern.console=[%d{yyyy‐MM‐dd}]-[%level]-[%msg]-%logger{50}%n
    
    # 指定文件中日志输出的格式
    logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %level === %logger{50} ==== %msg%n
    # 设置输出日志文件
    logging.file=/my.log

    测试:

    //打印五个等级的日志
    @Test
    public void contextLoads() {
    Logger logger = LoggerFactory.getLogger(getClass()); 
    logger.error("error ...");
    logger.warn("warn ...");
    logger.debug("debug ...");
    logger.info("info ...");
    logger.trace("trace ...");
    }





  • 相关阅读:
    ACM学习历程—HDU1719 Friend(数论)
    封装的方法
    MySql-rules
    MySql
    java深入探究07-jsp
    java深入探究06
    Jquery
    Ajax
    java深入探究05
    Oracle——索引,序列,触发器
  • 原文地址:https://www.cnblogs.com/zhenghongxin/p/10395616.html
Copyright © 2011-2022 走看看