专栏首页RabbitMQ实战@ConfigurationProperties注解的使用与@Value的使用

@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;
    }
}
  • 输出:

# 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);
    }

}
  • 输出:

OK

本文分享自微信公众号 - 喜欢天文(AllUnderControl),作者:Niubist

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SpringBoot 2.x Redis缓存乱码问题/自定义SpringBoot-Cache序列化方式

    喜欢天文的pony站长
  • Springboot国际化

    源代码: https://github.com/FutaoSmile/springbootFramework

    喜欢天文的pony站长
  • Springboot整合redis从安装到FLUSHALL

    参考 https://www.cnblogs.com/jaign/articles/7920588.html

    喜欢天文的pony站长
  • SpringBoot如何整合多个数据源,看这篇就够了

    SpringBoot现在是很多很多公司应用的后端框架,因为它搭建快,能更好、更快速的整合其他第三方。那么随着业务的不断扩展,业务量的增加,这时候就会牵扯到分库分...

    一个程序员的成长
  • Spring Boot 如何整合多个数据源?

    SpringBoot现在是很多很多公司应用的后端框架,因为它搭建快,能更好、更快速的整合其他第三方。那么随着业务的不断扩展,业务量的增加,这时候就会牵扯到分库分...

    Java_老男孩
  • springBoot 入门(四)—— 使用 纯注解方式的junit整合测试

    配置类——用来替换xml配置文件 其中的@ComponentScan ,可以加载多个包下spring管理的bean,每个用分号“”和逗号,隔开,如果没有组件...

    MickyInvQ
  • SpringCloud微服务实战系列(十五)分布式链路跟踪Sleuth与Zipkin实现

    分布式链路追踪,是一种用于分析和监控应用程序的方法,尤其是那些使用微服务架构的那些应用。分布式链路跟踪有助于查找故障发生位置和导致性能低下的原因。

    品茗IT
  • 项目中HandlerMethodReturnValueHandler的应用

    相信很多同学在项目开发,会遇到这种问题,就是某些字段如果为null,返回给前台,然后前端会各种null判断? 或者后端同学在返回之前对null之进行判空,然后返...

    奕仁
  • MyBatis多表查询

    MyBatis的多表查询只需要DAO接口和sql语句即可,主要的是mapper里的返回字段要正确

    用户3112896

扫码关注云+社区

领取腾讯云代金券