“@Value 用法”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第1行: | 第1行: | ||
+ | === $ 注入配置文件参数 === | ||
UserService.java<syntaxhighlight lang="java"> | UserService.java<syntaxhighlight lang="java"> | ||
package io.github.jihch.service; | package io.github.jihch.service; |
2024年7月23日 (二) 12:48的版本
$ 注入配置文件参数
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}
直接注入字符串常量
如果是:@Value("name"):
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);
}
}
那就直接把“name”作为一个字符串注入到字符串属性 test 中,输出:name