@Value 用法

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2024年7月23日 (二) 12:38的版本
跳到导航 跳到搜索

UserService.java

package io.github.jihch.service;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class UserService {

	@Value("${name}")
	private String test;
	
	public void test() {
		System.out.println(test);
	}
	
}

AppConfig.java

package io.github.jihch;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;

@ComponentScan("io.github.jihch")
@PropertySource("classpath:spring.properties")
public class AppConfig {

}

spring.properties

name=zhangsan

Test.java

package io.github.jihch;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import io.github.jihch.service.UserService;

public class Test {

	public static void main(String[] args) {
		
		AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
	
		UserService userService = applicationContext.getBean("userService", UserService.class);
		
		userService.test();
		
	}

}

输出:zhangsan 如果对应的 key 在 spring.properties 中不存在:

#name=zhangsan

则输出:${name}