Spring中如何使用@Value注解与@PropertySource注解加载配置文件呢?

戚薇 Spring 发布时间:2023-05-01 20:26:56 阅读数:6825 1
下文笔者讲述Spring中使用@Value注解和@PropertySource注解加载配置文件的方法分享,如下所示

@Value注解简介

Spring框架中对外提供@Value注解
 
 @Value注解的功能:
  将外部的值动态注入到Bean中
   @Value注解可用在字段、构造器参数和方法参数上
   @Value可指定属性取值的表达式,支持通过#{}使用SpringEL来取值
          也支持使用${}来将属性来源中(Properties文件、本地环境变量、系统属性等)值注入到Bean的属性中

@Value注解使用场景

1.注入普通字符
2.注入操作系统属性
3.注入表达式运算结果
4.注入其他Bean的属性
5.注入文件内容
6.注入网址内容
7.注入属性文件

@PropertySource注解简介

@PropertySource注解
   可加载指定的属性文件
      (*.properties)到Spring中Environment
   可配合@Value和@ConfigurationProperties使用

@PropertySource注解使用示例

@PropertySource(value = "classpath:com/java265/config/user.properties",encoding = "UTF-8")
public class UserInfo
{
}
例:使用@Value注解和@PropertySource注解加载配置文件
1.创建用户信息属性文件(user.properties)

user.userId=1
user.userName=adeal
user.blogUrl=https://www.java265.com
user.remark=世界上最优秀的Java教程

2.创建用户信息实体类(UserInfo.java)

使用@PropertySource注解加载配置文件信息,然后使用@Value注解注入属性值。

package com.java265.el;
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
 
/**
 * 用户信息实体类

 **/
@Component
@PropertySource(value = "classpath:com/java265.com/el/user.properties",encoding = "UTF-8")
public class UserInfo
{
    //用户ID
    @Value("${user.userId}")
    private int userId;
 
    //用户姓名
    @Value("${user.userName}")
    private String userName;
 
    //博客地址
    @Value("${user.blogUrl}")
    private String blogUrl;
 
    //备注
    @Value("${user.remark}")
    private String remark;
 
    //省略getter与setter方法...
}


//运行测试代码
public static void main(String[] args)
{
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ElConfig.class);
    UserInfo userInfo = context.getBean(UserInfo.class);
 
    //打印用户信息
    System.out.println("用户编号:" + userInfo.getUserId());
    System.out.println("用户姓名:" + userInfo.getUserName());
    System.out.println("博客地址:" + userInfo.getBlogUrl());
    System.out.println("备注信息:" + userInfo.getRemark());
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202305/6322.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者