springboot读取配置文件的几种方式

1.Value

yml文件(port是端口号)

server:
  port: 8097
name: 张三
#对象
person:
  pname: John
  age: 21
#数组
address:
  - 北京
  - 上海
#纯量
message: '信息 \n 信息'   #不会识别转义字符
message1: "信息 \n 信息"  #会识别转义字符

编写的测试类

@SpringBootTest
public class yamltest {
    @Value("${name}")
    private String name;
    @Value("${person.pname}")
    private String pname;
    @Value("${address[0]}")
    private String address1;
    @Value("${message1}")
    private String message1;
    @Value("${message}")
    private String message;
    @Test
    public void demo1(){
        System.out.println(name);
        System.out.println(pname);
        System.out.println(address1);
        System.out.println(message1);
        System.out.println(message);
    }
}

运行的结果效果图

 2.Environment

注意导包别错(import org.springframework.core.env.Environment;)

测试类代码展示(yml文件还是上面那个)

@SpringBootTest
public class yamltest2 {
    @Autowired
    private Environment environment;
    @Test
    public void demo(){
        System.out.println(environment.getProperty("name"));
        System.out.println(environment.getProperty("person.pname"));
        System.out.println(environment.getProperty("address[0]"));
        System.out.println(environment.getProperty("message"));
        System.out.println(environment.getProperty("message1"));
    }
}

控制层效果:

3.@ConfigurationProperties

 相当于定义一个实体类去接收yml里面的对象

@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String pname;
    private int age;

    public String getPname() {
        return pname;
    }

    public void setPname(String pname) {
        this.pname = pname;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "pname='" + pname + '\'' +
                ", age=" + age +
                '}';
    }
}

yml文件不变

测试代码:

@SpringBootTest
public class yamltest3 {
    @Autowired
    private Person person;
    @Test
    public void demo(){
        System.out.println(person);
    }
}

效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 提供了多种读取配置文件方式,以下是其几种常用的方式: 1. application.properties/application.yml:在 src/main/resources 目录下创建 application.properties 或 application.yml 文件,可以在其设置应用程序的配置信息,例如: ``` server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=123456 ``` 2. @Value 注解:在代码使用 @Value 注解读取配置信息,例如: ``` @Value("${server.port}") private int serverPort; @Value("${spring.datasource.url}") private String dataSourceUrl; @Value("${spring.datasource.username}") private String dataSourceUsername; @Value("${spring.datasource.password}") private String dataSourcePassword; ``` 3. @ConfigurationProperties 注解:通过 @ConfigurationProperties 注解将配置文件的属性值注入到 Bean ,例如: ``` @ConfigurationProperties(prefix = "spring.datasource") public class DataSourceProperties { private String url; private String username; private String password; // getter/setter } ``` 4. Environment 接口:通过 Environment 接口读取配置信息,例如: ``` @Autowired private Environment env; int serverPort = env.getProperty("server.port", Integer.class); String dataSourceUrl = env.getProperty("spring.datasource.url"); String dataSourceUsername = env.getProperty("spring.datasource.username"); String dataSourcePassword = env.getProperty("spring.datasource.password"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值