`
kanpiaoxue
  • 浏览: 1781692 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring @Value的用法

 
阅读更多

 

 

参考:

 https://blog.csdn.net/hry2015/article/details/72353994

https://blog.csdn.net/hry2015/article/details/72453920


为@Value设置默认值。

【注意】不设置默认值的时候,而且配置文件中找不到配置项,spring启动的时候会报错。

设置默认值的方法:

 

@Value("$(person.name:kanpiaoxue)");
private String name;

 如上:这段代码会去classpath中配置文件中找person.name,如果找不到则用默认值kanpiaoxue。

 

 

 

 

 

 

The @Value annotation can be placed on fields, methods and method/constructor parameters to specify a default value.

Here is an example to set the default value of a field variable.

public static class FieldValueTestBean

    @Value("#{ systemProperties['user.region'] }")
    private String defaultLocale;

    public void setDefaultLocale(String defaultLocale) {
        this.defaultLocale = defaultLocale;
    }

    public String getDefaultLocale() {
        return this.defaultLocale;
    }

}

The equivalent but on a property setter method is shown below.

public static class PropertyValueTestBean

    private String defaultLocale;

    @Value("#{ systemProperties['user.region'] }")
    public void setDefaultLocale(String defaultLocale) {
        this.defaultLocale = defaultLocale;
    }

    public String getDefaultLocale() {
        return this.defaultLocale;
    }

}

Autowired methods and constructors can also use the @Value annotation.

public class SimpleMovieLister {

    private MovieFinder movieFinder;
    private String defaultLocale;

    @Autowired
    public void configure(MovieFinder movieFinder,
            @Value("#{ systemProperties['user.region'] }") String defaultLocale) {
        this.movieFinder = movieFinder;
        this.defaultLocale = defaultLocale;
    }

    // ...
}
public class MovieRecommender {

    private String defaultLocale;

    private CustomerPreferenceDao customerPreferenceDao;

    @Autowired
    public MovieRecommender(CustomerPreferenceDao customerPreferenceDao,
            @Value("#{systemProperties['user.country']}") String defaultLocale) {
        this.customerPreferenceDao = customerPreferenceDao;
        this.defaultLocale = defaultLocale;
    }

    // ...
}

 

为@Value设置默认值

@Value("#{systemProperties['pop3.port'] ?: 25}")

This will inject a system property pop3.port if it is defined or 25 if not.

 

 

@Autowired@Inject@Resource, and @Value annotations are handled by Spring BeanPostProcessor implementations which in turn means that you cannot apply these annotations within your own BeanPostProcessor or BeanFactoryPostProcessor types (if any). These types must be 'wired up' explicitly via XML or using a Spring @Bean method.

 

 

 

 

分享到:
评论

相关推荐

    基于Spring boot @Value 注解注入属性值的操作方法

    本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置文件中的属性值以及如何利用SpEL(Spring Expression Language)进行动态注入。 ### 配置文件注入 1. **基本使用**:在`application.properties`或...

    static静态变量使用@Value注入方式.md

    通过上述分析和示例,我们可以看到,在Spring框架中,虽然不能直接使用`@Value`注解为静态变量注入值,但可以通过定义一个非静态方法并使用`@Value`注解来间接实现这一目标。这种方法不仅避免了潜在的警告和错误,还...

    Spring Boot技术知识点:如何理解@Value注解

    在Spring Boot框架中,`@Value`注解是Spring的核心组件之一,用于注入配置属性值到Bean中。这个注解提供了灵活的方式,让我们能够从不同的来源(如.properties或.yml文件,环境变量,命令行参数等)获取并注入值。...

    Spring@Value属性注入使用方法解析

    Spring @Value 属性注入使用方法解析 Spring 框架中,@Value 注解是使用频率非常高的一种注解,它的作用是将配置文件中 key 对应的值赋值给它标注的属性。在日常使用中,我们常用的功能都比较简单,本篇文章系统的...

    spring-demo13-注解-@Value.zip

    在Spring框架中,`@Value`注解是一个非常实用的工具,它允许我们在bean的属性或者方法参数中直接注入配置属性值,极大地提高了代码的可读性和灵活性。本项目"spring-demo13-注解-@Value.zip"显然是一个关于如何使用`...

    Spring @value和@PropertySource注解使用方法解析

    Spring @Value 和 @PropertySource 注解使用方法解析 @Value 注解是 Spring 框架中用于将值注入到 Bean 中的注解。该注解可以用于注入基本字符串、EL 表达式、从配置文件读取数据等。例如,在上面的示例代码中,...

    spring中@value注解需要注意的问题

    当使用`#{configProperties['t1.msgname']}`这样的表达式时,Spring会从`t1.properties`文件中查找`t1.msgname`对应的值,并将其注入到`@Value`注解的目标字段或方法参数中。 2. `@Value("${t1.msgname}")` 这种...

    Spring EL表示式的运用@Value说明

    在 Spring 框架中,我们可以使用 @Value 注解来实现资源的注入。@Value 注解可以用来注入各种类型的资源,包括字符串、数字、布尔值、对象等。 在示例代码中,我们可以看到使用 @Value 注解来实现资源的注入,例如...

    属性赋值@Value1

    下面我们将详细探讨`@Value`注解的使用方法和相关知识点。 1. **注解基本用法** `@Value`注解可以直接应用在字段、setter方法、构造函数参数上,其基本格式如下: ```java @Value("${property.name}") private ...

    Springboot @Value获取值为空问题解决方案

    在 Springboot 框架中,我们经常使用 `@Value` 注解来从 `application.properties` 文件中获取配置值,例如: ```java @Value("${property}") private String property; ``` 然而,在某些情况下,我们可能会遇到 `...

    Springboot在有参构造方法类中使用@Value注解取值

    在有参构造方法类中使用 @Value 注解取值需要我们构建一个 Config 类,并使用 SpringUtil 类来获取对应的 Bean。只有这样,我们才能使 @Value 注解生效,并获取到配置文件中的值。 在实际开发中,我们经常会遇到...

    Springboot @Value使用代码实例

    Springboot @Value注解使用详解 在 Spring Boot 框架中,@Value 注解是一个非常重要的组件,它可以将外部...通过上面的实例,我们可以看到 @Value 注解的基本使用和高级使用方法,以及它在 Controller 中的使用方法。

    SpringValue注解

    本文介绍了 Spring Value 注解的使用方法和注意事项。@Value 注解是 Spring 框架中的一种重要注解,用于简化读取配置文件的操作。通过使用 @Value 注解,可以避免手动读取配置文件的复杂操作,并实现松耦合的系统...

    Spring4如何自定义@Value功能详解

    在Spring框架中,`@Value`注解是一个非常实用的功能,它允许我们注入配置属性、引用Bean的方法或执行简单的计算。在Spring 4.3.10.RELEASE版本中,`@Value`提供了多种方式来注入和处理数据。在本文中,我们将深入...

    示例代码-SpringBoot踩坑记录:玩转@Value注解-自定义PropertySourcesPlaceHolderConfigurer.zip

    在Spring Boot应用中,`@Value`注解是开发者经常使用的工具,用于注入配置属性值。这个注解可以从`application.properties`或`application.yml`等配置文件中读取值,并将其注入到字段、方法参数或者构造函数参数中。...

    Spring中利用配置文件和@value注入属性值代码详解

    在Spring框架中,配置文件和@Value注解是两个常用的注入属性值的方法。本文将详细介绍如何使用配置文件和@Value注解注入属性值,并提供了代码示例。 一、简单属性值注入 在Spring中,我们可以使用@Value注解来注入...

    Spring Boot使用Value注解给静态变量赋值的方法

    Spring Boot 使用 Value 注解给静态变量赋值的方法 在 Spring Boot 框架中,我们经常需要将配置文件中的值注入到静态变量中,但是默认情况下,Spring Boot 不支持将值注入到静态变量中。这是因为静态变量是属于类的...

    Spring 读取properties文件key+value方式.rar

    Spring框架提供了强大的属性配置管理,能够帮助开发者轻松地读取和使用properties文件中的key-value对。本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,...

    详解Spring通过@Value注解注入属性的几种方式

    在Spring框架中,`@Value`注解是一个非常实用的工具,它允许我们在不编写复杂的配置文件的情况下,直接在Java类中注入属性值。本文将详细介绍通过`@Value`注解注入属性的几种常见方式。 ### 1. 基于属性文件注入 #...

    spring-data-keyvalue-2.5.5-API文档-中文版.zip

    赠送jar包:spring-data-keyvalue-2.5.5.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

Global site tag (gtag.js) - Google Analytics