springboot 静态方法注入bean、使用@value给static变量赋值
首先新建你的方法类:DemoUtil
头部加注解:@Component
@Component
public class DemoUtil {
}
新增静态变量:
static DemoService demoService;
新增@Autowired的bean对象
@Autowired
DemoService demoServiceMapping;
注意这时候还是不能注入
新增@PostConstruct注解方法
@PostConstruct
public void init() {
demoService = demoServiceMapping;
}
当然还需要注意的就是启动类的扫描范围:
不同包下可在启动类加上@ComponentScan配置扫描范围
properties 属性引入
假若在properties文件中配置如下属性:project.author
之前有写到用@value
那么在静态方法中怎么引入呢,直接@value是不可以的,一下介绍两种方法
第一种:如上文注入bean方式,在@PostConstruct方法中配置使用
第二种:
public static String springProfilesActive;
@Value(value = "${spring.profiles.active}")
public void setSpringProfilesActive(String springProfilesActive) {
SystemConfig.springProfilesActive = springProfilesActive;
}
使用set方法赋值,set方法static去掉,这种方法也必须注意启动类的扫描范围。
springboot 静态方法注入bean、使用@value给static变量赋值的更多相关文章
- springBoot 动态注入bean(bean的注入时机)
springBoot 动态注入bean(bean的注入时机) 参考博客:https://blog.csdn.net/xcy1193068639/article/details/81517456
- SpringBoot 中使用 @Value 为 static 变量赋值
原文:https://www.jianshu.com/p/ea477fc9abf7 例如: public class Utils { @Value("${test.host}") ...
- spring boot 中用@value给static变量赋值
需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量. @value("${redis.host}") private static String redisHos ...
- @Value注解无法为static 变量赋值
使用@Value给静态变量赋值时,出现空指针异常.经了解Spring 不允许/不支持把值注入到静态变量中.所以需要另一种方式为该变量赋值. 需要注意set方法也不要加static修饰符!
- springboot 静态方法注入service
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px Arial; color: #3f3f3f; bac ...
- SpringBoot动态注入Bean
目的: 在程序运行期间,动态添加Bean进入到Spring容器. 目前使用到的场景: 对当当网的ElasticJob进行封装,通过自定义注解@ElasticJob的方式开启分布式定时任务. 当所有的B ...
- Springboot依赖注入 Service类中使用静态变量
@Component public class ServerHandler extends IoHandlerAdapter { @Autowired protected HealthDataServ ...
- 静态方法中注入bean
@Componentpublic class ScriptExecuteContent { @Autowired private static SignRepository signRepositor ...
- SpringBoot拦截器中无法注入bean的解决方法
SpringBoot拦截器中无法注入bean的解决方法 在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用 但是如果直接注入会发现无法注入而报空指针异常 解决方法: 在注册 ...
随机推荐
- Application Loader提交ipa文件出现ERROR ITMS-90022问题解决方式
话说在提交app到AppStore时出现了一些问题.网上找了一些资料,但不并具体.因此我做了一个总结,方便我以后遇到时可查询. 也希望能帮助遇到这个问题的提供解决方式. ERROR ITMS-9002 ...
- Java的接口总结
Java最主要的封装是class.除此之外还有接口interface. 这段时间一直在想接口有什么作用呢.有了接口有哪些优点呢.结合网络上各位大神的文章,接口的作用大概体如今下面几个方面. 1.回调 ...
- Button的Click事件与js函数的两种不同顺序触发方式
先运行js.或者先运行Click事件,近期就遇到了这个问题,開始弄了两个button分别运行,那才叫一个蛋疼... 1.先运行js,再运行Button的Click函数 <asp:Button I ...
- 关于 折半查找 while 条件 < , <=
int bin_search(int a[],int len,int key) { int low=0; int high=len-1; while(low<=high) //若为low< ...
- 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)
之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...
- JS,Javascript加载与函数执行过程
Js,Javascript加载与函数执行过程 test.html <!DOCTYPE HTML> <html lang="en"> <head> ...
- 你不知道的JavaScript(六)Box&Unbox
很多语言中都有Box和Unbox的概念,很多书籍把Box翻译为"装箱操作",指的是將基本数据类型包装成对象:Unbox和它相反,把对象类型转换为基本类型. 我们知道JavaScri ...
- c#0218-命名空间
1 namespace 命名空间 可以解决类的重命名问题 可以看做是类的文件夹: 2 跨项目使用类 一个解决方案下有不同的项目,如果想在一个项目中引用另一个项目的类,解决方法是 1 添加引用 2 引用 ...
- PIC c语言
rom类型,对于占内存的类型定义为rom类型,跟标准c中的const不一样,const跟rom不能通用,否则编译会报type qualifier dismatch 有些变量定义成了rom型,那么如果改 ...
- 服务器搭建域控与SQL Server的AlwaysOn环境过程(二) 搭建客户端节点 服务器
1. 修改客户端服务器的计算机名,重启后,如果服务器属于克隆服务器,需要修改服务器SID,如果没有则调过这一步. 命令行方式:启动Windows2008进入系统后,打开“CMD窗口”并进入到" ...