无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

springboot@value注解的使用详解1

Java dancy 1年前 (2023-11-28) 223次浏览 已收录 0个评论 扫描二维码
springboot@value注解的使用详解1

对于从事java开发工作的小伙伴来说,spring框架肯定再熟悉不过了。spring给开发者提供了非常丰富的api,满足我们日常的工作需求。如果想要创建bean实例,可以使用@Controller、@Service、@Repository、@Component等注解。如果想要依赖注入某个对象,可以使用@Autowired和@Resource注解。如果想要开启事务,可以使用@Transactional注解。如果想要动态读取配置文件中的某个系统属性,可以使用@Value注解。等等,还有很多。。。今天咱们重点聊聊@Value注解,因为它是一个非常有用,但极其容易被忽视的注解,绝大多数人可能只用过它的一部分功能,这是一件非常遗憾的事情。所以今天有必要和大家一起,重新认识一下springboot@value。

普通字符串

直接把字符串赋值给当前字段

@Configuration
public class MyConfig {

    @Value("ijunfu")
    private String author;

    public String author() {
        return author;
    }
}

占位符

先进行占位符的替换,然后将替换后的字符串赋值给当前字段

//application.yml
author: ijunfu
@Configuration
public class MyConfig {

    @Value("${author}")
    private String author;

    public String author(){
        return author;
    }
}

可根据操作系统环境变量、JVM环境变量、properties文件作为数据源。

需要注意的是,如果对应的值不存在,比如:

@Value("${author2}")
private String author;

启动Spring则直接报错:

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'XXX' Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'author2' in value "${author2}"
点击展开
喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

表情 贴图 加粗 删除线 居中 斜体 签到