@ConfigurationProperties注解的使用与@Value的使用

简介:
  • 读取的配置文件application.yml:

    jianshu:
     id: futaosmile

1. 使用@ConfigurationProperties注解注入

@RunWith(SpringRunner.class)
@SpringBootTest
@ConfigurationProperties(prefix = "jianshu")
public class SpringmvcdemoApplicationTests {

    private String id;

    @Test
    public void test10() {
        System.out.println(id);
    }
}
  • 输出null,注入失败
  • 原因:使用@ConfigurationProperties注解的方式注入为每个注入的字段添加setter方法
package com.futao.springmvcdemo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
@ConfigurationProperties(prefix = "jianshu")
public class SpringmvcdemoApplicationTests {

    private String id;

    @Test
    public void test10() {
        System.out.println(id);
    }

    public void setId(String id) {
        this.id = id;
    }
}
  • 输出:
    @ConfigurationProperties注入

2. 使用@Value注解

package com.futao.springmvcdemo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringmvcdemoApplicationTests {

    @Value("${jianshu.id}")
    private String id;

    @Test
    public void test10() {
        System.out.println(id);
    }

}
  • 输出:
    @Value注解

OK

目录
相关文章
|
12月前
|
Kubernetes 应用服务中间件 调度
k8s的Pod常见的几种调度形式
k8s的Pod常见的几种调度形式
179 0
|
11月前
|
存储 SQL 缓存
优化ClickHouse查询性能:最佳实践与调优技巧
【10月更文挑战第26天】在大数据分析领域,ClickHouse 以其卓越的查询性能和高效的列式存储机制受到了广泛的关注。作为一名已经有一定 ClickHouse 使用经验的开发者,我深知在实际应用中,合理的表设计、索引优化以及查询优化对于提升 ClickHouse 性能的重要性。本文将结合我的实践经验,分享一些有效的优化策略。
1220 3
|
Android开发 UED 开发者
Android Activity启动模式详解
Android Activity启动模式详解
525 0
|
算法 Java
【JVM】survivor区的解释
【JVM】survivor区的解释
248 0
|
存储 负载均衡 算法
SpringBoot集成Nacos-服务注册篇
SpringBoot集成Nacos-服务注册篇
1628 0
|
JavaScript 前端开发 索引
[JavaScript] 从数组中删除特定元素
要使用 JavaScript 从数组中删除特定元素,可以使用splice、filter、indexOf等方法
338 0
|
C# C语言 C++
VS2010 Csharp调用非托管Cpp生成的DLL文件
VS2010 Csharp调用非托管Cpp生成的DLL文件
120 0
|
存储 安全 网络协议
合规安全大考核:移动应用安全策略全盘点
移动应用涵盖用户大量个人数据,一旦发生泄漏可能对个人、社会造成重大影响,同时对移动应用产业长远的发展来说也是毁灭性打击。移动应用开发者,也应注意开发过程中的规范性、安全性,敬畏安全问题,防范合规风险。
1211 0
合规安全大考核:移动应用安全策略全盘点
|
算法 Python
[动态规划]Leetcode72.编辑距离(python)
[动态规划]Leetcode72.编辑距离(python)