返回信息流我在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的值,有什么方法
这是一条镜像帖。来源:北邮人论坛 / java / #61506同步于 2019/3/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】springboot POJO如何获取全局变量
dongqing
2019/3/14镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
通过注解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,如下
: ...................
谢谢,但是你说这个极端情况会出现NULL, 如果真的是这样,总会碰到出现NULL的情况,所以为什么会有这种情况
【 在 hwz2311245 的大作中提到: 】
: [md]
: 通过注解ApplicationContextAware获得一个全局的ApplicationContext对象,然后存入一个static变量实现全局共享。
: 大部分时候不会报错,有极端情况可能会出现这个变量为NULL。
: ...................