静态变量setter注入
1.java中静态方法调用非静态成员变量、非静态方法
- public class Circle {
- private double radius = 1.0;
- double getAre() {
- return radius * radius * Math.PI;
- }
- public static void main(String[] args) {
- Circle myCircle = new Circle();
- System.out.println("radius is " + myCircle.radius); //radius不是静态的,静态方法可以通过类对象调用非静态成员变量、非静态方法
- }
- }
2.不new对象,只能访问静态成员变量。而静态成员变量注入只能使用set注入,原因是静态变量/类变量不是对象的属性,而是一个类的属性,spring则是基于对象层面上的依赖注入.
private static MqttServerProxy mProxy;
private static DeviceStateService devStateService;
public static void main(String[] args) {
SpringApplication.run(App.class, args);
//启动,自动连接mqtt
LOGGER.info("APP: run().start to connect mqtt...");
devStateService.setMqttProxy(mProxy);
devStateService.startService();
}
@Autowired
public void setMqttServerProxy(MqttServerProxy proxy) {
mProxy = proxy;
}
@Autowired
public void setDeviceStateService(DeviceStateService service) {
devStateService = service;
}
静态变量setter注入的更多相关文章
- SpringBoot项目给静态变量static注入@Value
@value不能直接注入值给静态属性,spring 不允许/不支持把值注入到静态变量中:spring支持set方法注入,我们可以利用非静态setter 方法注入静态变量 @Component publ ...
- 解决Spring对静态变量无法注入问题(转)
问题今天在学习的过程中想写一个连接和线程绑定的JDBCUtils工具类,但测试时发现一直报空指针异常,上网查了之后Spring并不支持对静态成员变量注入,所以光试用@Autowired肯定是不行的.可 ...
- SpringMvc通过@Value( ) 给静态变量注入值
spring 不允许/不支持把值注入到静态变量中,如: @Value("${ES.CLUSTER_NAME}")private static String CLUSTER_NAME ...
- spring boot 静态变量注入配置文件
spring 静态变量注入 spring 中不支持直接进行静态变量值的注入,我们看一下代码: @Component(value = "KafkaConfig") @Configur ...
- SpringBoot @Autowired中注入静态方法或者静态变量
注:用static去定义一个注入的方法或者配置文件值变量,编译时不会有任何异常,运行时会报空指针. Spring官方不推荐此种方法. 原理: https://www.cnblogs.com/chenf ...
- spring中使用@value注入static静态变量
@Value("${meeting.private_key}")public static String PRIVATE_KEY;发现没有数据,null 分析 Spring是不能直 ...
- Spring不支持依赖注入static静态变量
在springframework里,我们不能@Autowired一个静态变量,使之成为一个spring bean,例如下面这样: 可以试一下,yourClass在这种状态下不能够被依赖注入,会抛出运行 ...
- Spring它不支持依赖注入static静态变量
在springframework在,我们不能@Autowired静态变量,制作spring bean,例如,没有那么: @Autowired private static YourClass your ...
- Spring注入静态变量的方法,以及CXF如何获取客户端IP
1.如果使用@Resource注解来注入静态变量的,服务器启动就会报错的.可以新增一个set方法,同时在set方法上用@Resource注解来注入. 2.或者直接在Spring的配置文件中使用< ...
随机推荐
- ASP.NET Core 判断请求是否为Ajax请求
我们可以通过HTTP请求头来判断是否为Ajax请求,Ajax请求的request headers里都会有一个key为x-requested-with,值为XMLHttpRequest的header 所 ...
- Python 学习 第十三篇:数据的读写-文件、DataFrame、json
Python的文件是一个重要的对象,使用open()函数来打开文件,创建文件对象,进行文件的读写操作.当数据用于交换信息时,通常需要把数据保存为有格式的文本数据,可以保存为有特定的行分隔符和列分隔符的 ...
- Raspberry Zero 上实现平滑视频图传
在某些应用场合我们可能需要通过一个设备通过WIFI将图像传到其它的机器进行显示或者图形分析,那怎么可以低成本地实现呢?其实很简单,我们只需要一块 Raspberry Zero W 和一个RPI 摄像头 ...
- handsontable 的核心方法
原文地址:http://blog.csdn.net/mafan121/article/details/46122577 1.为handsontable添加钩子方法 addHook(key,callba ...
- Mac 下编译安装 php-5.6
1.安装 PHP 1.1 下载源码包 http://php.net/get/php-5.6.35.tar.bz2/from/a/mirror 1.2 编译&安装 ./configure --p ...
- Golang-教程
http://www.runoob.com/go/go-environment.html https://www.pythonav.cn/
- 阿里字体css代码引入方法
1.第一步,选择自己想要的图标字体,添加入库. 2.选择下载代码. 3.我们可以发现,有如下的代码被下载下来了. 4.我们选择iconfont.css放到自己的文件夹中. 5.然后我们根据下载下来ht ...
- ibatis实战之插入数据(自动生成主键)
ibatis实战之插入数据(自动生成主键) --------- 如果你将数据库设计为使用自动生成的主键,就可以使用ibatis的<selectKey>元素(该元素是<insert&g ...
- Python_字符串初识及操作
字符串初识及操作 str 'alex'.'1235443543'.'[1,2,3]'.可存放少量数据. 索引.切片.步长 索引编号 正向索引 'python' 012345 'p'的正向索引编号为0 ...
- 02-安装linux系统
安装linux系统 需要准备的软件: 1.VMware-workstation-full-14.1.1.28517.exe 2.CentOS-6.5-x86_64-bin-DVD1.iso镜像文件 第 ...