spring学习——注入静态对象属性
spring注入静态对象属性时,因为虚拟机类加载问题,直接在属性上使用@Autowired 是不可以的。需要在属性对应的set方法上@Autowired,并且,set方法不能定义为static。
1.创建静态对象属性对应的类
package com.bluej.springj.service.impl;
import org.springframework.stereotype.Service;
import com.bluej.springj.service.LogService;
@Service("logService")
public class LogServiceImpl implements LogService {
    public void doLog() {
        System.out.println("LogServiceImpl.doLog");
    }
}
LogService类代码
2.创建spring使用的对象
package com.bluej.springj.service.impl; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import com.bluej.springj.service.CheckService;
import com.bluej.springj.service.LogService; @Service("checkService")
public class CheckServiceImpl implements CheckService { private static LogService logService; public boolean doCheck(Object obj) {
System.out.println("CheckServiceImpl.doCheck");
logService.doLog();
return false;
} @Autowired
public void setLogService(LogService logService) {
CheckServiceImpl.logService = logService;
}
}
CheckServiceImpl 类
3.调用示例
package com.bluej.springj.start; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.bluej.springj.service.CheckService; public class Main {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
CheckService checkService = applicationContext.getBean("checkService", CheckService.class);
checkService.doCheck(new Object());
}
}
Main类
4.代码地址
git地址:https://git.oschina.net/blue_phantom/ssmj.git
项目名称:springj
包位置:package com.bluej.springj.start
执行测试类:Main.java
spring学习——注入静态对象属性的更多相关文章
- Spring整合JUnit spring静态对象属性的注入
		package cn.itcast.d_junit4; import org.junit.Test; import org.junit.runner.RunWith; import org.sprin ... 
- spring学习(三)属性注入
		用的是IDEA的maven工程,pom.xml文件导包依赖省略 本文主要写set方式注入 (一).一般类型注入 一.写两个实体类Car.User public class Car { private ... 
- spring不能注入静态变量的原因
		静态方法是属于类(class)的,普通方法才是属于实体对象(也就是New出来的对象)的,spring注入是在容器中实例化对象,所以不能使用静态方法. @Autowired private static ... 
- spring学习笔记之---bean属性注入
		bean属性注入 (一)构造方法的属性注入 1.Student.java package entity; public class Student { private String name; pri ... 
- java的Spring学习1--spring引用及属性(setter,getter)注入
		1.目录结构 项目->src->main->java->com.test.ppmoney 设置java文件夹为代码 在Project Structure 里的 Modules ... 
- day38 11-Spring的Bean的属性的注入:对象属性
		package cn.itcast.spring3.demo5; public class Person { private String name;//人的名字 private Car2 car2; ... 
- Spring之注入复杂类型属性
		注入类: package helloworld; import java.util.List; import java.util.Map; import java.util.Properties; p ... 
- Spring IOC 注入方式详解 附代码
		引言 Spring框架作为优秀的开源框架之一,深受各大Java开发者的追捧,相信对于大家来说并不陌生,Spring之所以这么流行,少不了他的两大核心技术IOC和IOP.我们这里重点讲述Spring框架 ... 
- AppDomain对于静态对象的独享引用
		AppDomain可以理解为一个独立的沙箱,当有独立的第静态对象在appDomain中被访问时,会在appDomain中产生独立的内存对象.比如appDomain1 appDomain2同时对 静态对 ... 
随机推荐
- Hibernate核心配置文件
			Hibernate.cfg.xml是Hibernate操作数据库的核心配置文件 *********************************************** 作用 01.管理实体类的 ... 
- form表单的两种提交方式,submit和button的用法
			1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写:有两种方法,一种是用submit提交.一种是用button提交.方法一: 在jsp的前端页面的 ... 
- angular1.5 Components
			如今前端界angular react vue三大框架并驾齐驱,其中有一个共同点就是组件化开发,这也符合w3c 推行Web Components的趋势.现如今不懂组件化开发的前端绝对不是好厨子.跳槽新公 ... 
- std::vector 源代码
			vector身为一个动态数组,每次以空间不够的时候会以2倍的倍数增加,而且每次扩充的时候分为3部,分配内存,拷贝数据,释放内存 vector内部有两个成员变量,begin,finish ,endcat ... 
- bzoj4554: [Tjoi2016&Heoi2016]游戏 二分图匹配
			4554: [Tjoi2016&Heoi2016]游戏 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能 ... 
- matlab图像显示程序模板
			在这个程序中:优秀的模板值得学习,变量的定义字典值得学习 .^ .* ./的使用: 图形的显示及标注 % 脚本文件: 功率计算 % 文件名:cac_power.m % 目标:随着电阻值的 ... 
- Java生成、解析二维码
			今天遇到需求,使用Java生成二维码图片,网搜之后,大神们早就做过,个人总结一下. 目标:借助Google提供的ZXing Core工具包,使用Java语言实现二维码的生成和解析. 步骤如下: 1.m ... 
- IP数据报格式  及路由转发算法
			ip数据报分首部和数据两部分组成: 首部分为固定部分和可变部分 版本--占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 首部长度--占 4 位,可表示的最大数值 是 ... 
- C#有关虚方法要知道的知识点:
			虚方法:这个方法其实就是为了重写方法而存在的(在声明中包含virtual关键字),否则没感觉到它存在的意义. 其一:因为要重写所以它的访问类型如果为private则毫无意义阻碍了重写动作的进行也就是它 ... 
- Unity渲染优化中文翻译(一)——定位渲染问题
			最近有一点个人的时间,尝试一下自己翻译一下英文的 Optimizing graphics rendering in Unity Games, 这儿附上英文链接: 个人英文水平有限,unity图像学知识 ... 
