配置变量/配置数组/比较配置文件/多环境配置/服务器笔记

avatar
作者
猴君
阅读量:6
  • 配置变量

演示错误操作:

  1. application.yml文件中

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/t311
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: false  #使用驼峰命名法


#配置变量
username: 罗学敏

  1. 在controller层

@RestController
public class TestController {

    @Value("${username}")
    private String userName;

    @GetMapping("getUN")
    public String getUserName(){
        return userName;
    }
}

原因:   username会其它同名,运行后会出现本机的名称

所以取一个不与username同名即可

正确操作:

#配置变量
usernames: 罗学敏

@RestController
public class TestController {

    @Value("${usernames}")
    private String userName;

    @GetMapping("getUN")
    public String getUserName(){
        return userName;
    }
}

二、配置数组

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/t311
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: false  #使用驼峰命名法


#配置变量
usernames: 罗学敏

#配置数组
#指定前缀,只有有一个
my:
  arr: [1,2,3]
  address:
    - 益阳
    - 长沙
    - 浏阳

在创建一个实体类

package com.entity;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 配置文件的注入
 */
@Component
@ConfigurationProperties(prefix = "my")  //添加前缀
@Data
public class My {
    private String[] address;

    private int[] arr;
}

在controller层

@RestController
@Slf4j //日志操作
public class TestController {

    @Value("${usernames}")
    private String userName;

    @Autowired
    public My my;  //创建一个对象

    @GetMapping("getUN")
    public String getUserName(){
        log.info(my.toString());
        return userName;
    }
}

运行后

三、比较配置文件

1.Application.properties (1)配置文件 优先于 Application.yml (2)配置文件

2.在resources下建立一个config包(3)   优先于(1) (2)配置文件

运行后

3.在项目下面建立(4)   优先于(1) (2) (3)配置文件

4.在项目下面建立(5)  优先于(1) (2) (3) (4)配置文件

5.在app运行点击下面(6)  优先于(1) (2) (3) (4) (5)配置文件

-Dserver.port=14101

  • 多环境配置

就会出现

profiles:
  active: lxm

就会出现

spring:
  config:
    activate:
      on-profile: lxm

整体如下:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/t311
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
  profiles:
    active: lxm
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: false  #使用驼峰命名法

#配置数组
#指定前缀,只有有一个
my:
  arr: [1,2,3]
  address:
    - 益阳
    - 长沙
    - 浏阳

server:
  port: 10000

--- #区别不同的配置块/不同环境
spring:
  config:
    activate:
      on-profile: lxm
#配置变量
usernames: 罗学敏

---
spring:
  config:
    activate:
      on-profile: lw
#配置变量
usernames: 刘伟

如果更改activate

添加配置文件如下:

在app运行中添加

  -Dspring.profiles.active=lw

                                      

  • 服务器

除了常用的Tomcate 还有jetty  jboss  weblogic

使用jetty服务器

1.添加依赖

运行后

      

                   

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!