当前位置: 首页 > wzjs >正文

那些市区做网站群深圳网站搭建找谁

那些市区做网站群,深圳网站搭建找谁,深圳著名设计网站大全,网络促销方案文章目录 一、前言二、Value 注解简介三、Value 注解的常见用法1. 读取 application.properties 或 application.yml 配置值(1)配置文件示例(2)Java 代码示例(3)测试输出 2. 使用 Value 设置默认值3. 读取系…

文章目录

  • 一、前言
  • 二、@Value 注解简介
  • 三、@Value 注解的常见用法
    • 1. 读取 `application.properties` 或 `application.yml` 配置值
      • (1)配置文件示例
      • (2)Java 代码示例
      • (3)测试输出
    • 2. 使用 `@Value` 设置默认值
    • 3. 读取系统环境变量和 Java 运行时参数
    • 4. 结合 Spring Expression Language (SpEL)
      • (1)基本 SpEL 表达式
      • (2)引用 Bean 的属性
    • 5. 读取数组、集合和 Map 类型数据
      • (1)读取数组
      • (2)读取 `List`
      • (3)读取 `Map`
  • 四、@Value 和 `@ConfigurationProperties` 对比
  • 五、总结


一、前言

在 Spring Boot 项目中通常需要从 application.propertiesapplication.yml 配置文件中读取配置信息。@Value 注解提供了一种简单的方式来将配置值注入到 Spring 组件中。


二、@Value 注解简介

@Value 是 Spring 提供的一个注解,用于从配置文件或其他来源(如系统环境变量、SpEL 表达式)中读取值并注入到 Bean 的字段或方法参数中。其基本语法如下:

@Value("${property.key}")
private String propertyValue;

三、@Value 注解的常见用法

1. 读取 application.propertiesapplication.yml 配置值

(1)配置文件示例

application.properties

app.name=Spring Boot Demo
app.version=1.0.0

application.yml

app:name: Spring Boot Demoversion: 1.0.0

(2)Java 代码示例

@Component
public class AppConfig {@Value("${app.name}")private String appName;@Value("${app.version}")private String appVersion;public void printConfig() {System.out.println("Application Name: " + appName);System.out.println("Application Version: " + appVersion);}
}

(3)测试输出

Application Name: Spring Boot Demo
Application Version: 1.0.0

2. 使用 @Value 设置默认值

如果配置文件中未定义某个属性,则 @Value 注解可以提供一个默认值。默认值的语法是 :${defaultValue}

@Component
public class DefaultValueExample {@Value("${app.author:Unknown Author}")private String author;public void printAuthor() {System.out.println("Application Author: " + author);}
}

如果 application.propertiesapplication.yml 中未配置 app.author,则输出:

Application Author: Unknown Author

3. 读取系统环境变量和 Java 运行时参数

@Value 也可以用于读取系统环境变量或 -D 方式传递的 JVM 运行参数:

@Component
public class EnvConfig {@Value("${JAVA_HOME}")private String javaHome;@Value("${user.name}")private String userName;public void printSystemProperties() {System.out.println("JAVA_HOME: " + javaHome);System.out.println("User Name: " + userName);}
}

如果运行环境变量设置了 JAVA_HOME=/usr/lib/jvm/java-11-openjdk,则输出:

JAVA_HOME: /usr/lib/jvm/java-11-openjdk
User Name: admin

4. 结合 Spring Expression Language (SpEL)

@Value 注解支持 Spring 表达式语言(SpEL),可用于动态计算值。

(1)基本 SpEL 表达式

@Component
public class SpELExample {@Value("#{2 * 5}")private int result;public void printResult() {System.out.println("Result: " + result);}
}

输出:

Result: 10

(2)引用 Bean 的属性

@Component
public class AnotherBean {private String message = "Hello from AnotherBean";public String getMessage() {return message;}
}@Component
public class BeanReferenceExample {@Autowiredprivate AnotherBean anotherBean;@Value("#{anotherBean.message}")private String messageFromAnotherBean;public void printMessage() {System.out.println(messageFromAnotherBean);}
}

输出:

Hello from AnotherBean

5. 读取数组、集合和 Map 类型数据

(1)读取数组

app.servers=192.168.1.1,192.168.1.2,192.168.1.3
@Component
public class ArrayConfig {@Value("${app.servers}")private String[] servers;public void printServers() {System.out.println(Arrays.toString(servers));}
}

输出:

[192.168.1.1, 192.168.1.2, 192.168.1.3]

(2)读取 List

@Component
public class ListConfig {@Value("#{'${app.servers}'.split(',')}")private List<String> serverList;public void printServerList() {System.out.println(serverList);}
}

输出:

[192.168.1.1, 192.168.1.2, 192.168.1.3]

(3)读取 Map

app.db.config=username:admin,password:123456,url:jdbc:mysql://localhost:3306/test
@Component
public class MapConfig {@Value("#{${app.db.config}}")private Map<String, String> dbConfig;public void printDbConfig() {System.out.println(dbConfig);}
}

输出:

{username=admin, password=123456, url=jdbc:mysql://localhost:3306/test}

四、@Value 和 @ConfigurationProperties 对比

特性@Value@ConfigurationProperties
作用范围适用于单个值注入适用于整个配置对象映射
支持的数据类型主要用于 String、基本类型、数组可绑定复杂对象(如 List、Map、自定义对象)
代码简洁性适用于少量配置参数适用于大量配置参数
是否支持 SpEL支持不支持

示例:@ConfigurationProperties 用法

app.name=Spring Boot Demo
app.version=1.0.0
@Configuration
@ConfigurationProperties(prefix = "app")
public class AppProperties {private String name;private String version;// getter & setter
}

五、总结

  • @Value 注解用于将配置文件中的值注入到 Spring 组件中。
  • @Value 可用于读取 application.propertiesapplication.yml 中的值,并支持默认值。
  • @Value 还能用于读取环境变量、JVM 运行参数和 SpEL 表达式。
  • @Value 可以解析数组、List、Map 等数据结构。
  • 对于复杂配置推荐使用 @ConfigurationProperties,而 @Value 适用于简单值注入。
http://www.dtcms.com/wzjs/557077.html

相关文章:

  • 工业部网站备案网站开发和游戏开发哪个好
  • h5个人网站源码WordPress内容页面加边框
  • 江门城乡建设局官方网站列出一些现有电子商务网站
  • 专做国外采购的网站做视频类型的网站
  • 旅游网站网页设计论文网站会员收费怎么做
  • 英国人买服务器网站中科 网站会员注册系统建设
  • 网站百度收录批量查询网站做镜像
  • 网站一直建设中上海高端网站定制开发
  • 黑客做的网站好用不如何建立一个自己的网站
  • 怎么开网站 第一步怎么做展馆在线设计平台
  • 网站规划步骤大型网站开发用什么语言
  • 建设项目网站备案wordpress 3.6漏洞
  • 清远佛冈住房和城乡建设局网站淘客怎样做网站
  • 北京三屏网站制作五一电子网站建设
  • 微网站开发软件做网站合肥哪家公司好
  • 虹口北京网站建设合肥做网站维护的公司
  • 常州网站建设企业网站社区网站建设方案ppt
  • 新浪博客网站想制作一个网站要多少钱
  • python网站开发 django网站建设吕凡科技
  • 做网站的费用想做个自己的网站
  • 大连网站网页设计公司如何建立网站 个人
  • 免费个人网站2018wordpress4.0下载
  • 黑客做网站wordpress 主题制作 导航条
  • 快速做网站关键词排名中国摄影在线官网
  • 淘宝联盟的网站怎么做的井冈山保育院网站建设
  • 外贸平台网站建设wordpress主题整个删除
  • 制作公司网站教程上海住房和城乡建设部网站首页
  • 商城网站大全搭建专业网站服务器
  • 宝安营销型网站费用怎么入驻京东商家平台
  • 郑州老牌做企业网站唐山百度推广