BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #61506同步于 2019/3/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

【问题】springboot POJO如何获取全局变量

dongqing
2019/3/14镜像同步4 回复
我在application.properties中设了一个变量,例如 app.name=zhang 然后写了一个用@Configuration注解的类Config,如下 @Configuration public class Config{ @Value("${app.name}") private String name; public String getName(){ return name; } } 在用@Service 注解的类中,通过@Autowired Config config; 可以获取name,如下: @Serivce public class AppService{ @Autowired Config config; public void test(){ syso(config.getName()); } } 但是,如果我写一个普通的类,没有@Service, @Controller等注解的类,例如: public class RunTask implements Runnable{ // ??怎么 获取app.name的值 public void run(){ } } 请问在RunTask中怎么获取app.name的值,有什么方法
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
autulin机器人#1 · 2019/3/14
重写PropertyPlaceholderConfigurer?
Ares1201机器人#2 · 2019/3/18
RunTask 写一个构造函数
hwz2311245机器人#3 · 2019/3/19
通过注解ApplicationContextAware获得一个全局的ApplicationContext对象,然后存入一个static变量实现全局共享。 大部分时候不会报错,有极端情况可能会出现这个变量为NULL。 @Component("springContextUtil") public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; /** * 实现ApplicationContextAware接口的回调方法,设置上下文环境 * * @param applicationContext * @throws BeansException */ @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { // TODO Auto-generated method stub this.applicationContext = applicationContext; } 【 在 dongqing 的大作中提到: 】 : 我在application.properties中设了一个变量,例如 : app.name=zhang : 然后写了一个用@Configuration注解的类Config,如下 : ...................
dongqing机器人#4 · 2019/3/21
谢谢,但是你说这个极端情况会出现NULL, 如果真的是这样,总会碰到出现NULL的情况,所以为什么会有这种情况 【 在 hwz2311245 的大作中提到: 】 : [md] : 通过注解ApplicationContextAware获得一个全局的ApplicationContext对象,然后存入一个static变量实现全局共享。 : 大部分时候不会报错,有极端情况可能会出现这个变量为NULL。 : ...................