`

spring 注入静态变量

阅读更多

Spring注入静态属性的方法:

一、通过springApplication 的getBean获取

Class Util{
  private static XXX xxx;
  xxx = BeanUtil.getBean("xxx");
  public static void method1(){
     xxx.func1(); 
  }
  public static void method2(){
     xxx.func2();
  }     
}

 

二、通过xml配置

    需要要注意,自动生成的getter和setter方法,会带有static的限定符,需要去掉,才可以。

<bean value="test" class="x.x.x.Util">
    <property value="xxx" ref="xxx"/>
</bean>

 

 

Class Util{
    private static XXX xxx;
    public void setXxx(XXX xxx){
        this.xxx = xxx;
    }
    public void getXxx(){
        return xxx;
    }
    public static void method1(){
        xxx.func1();  
    }
    public static void method2(){
        xxx.func2();
    }      
}

 

 

三、注解

    首先让spring扫描到需要注入静态属性的类,如果扫描不到,谁知道你要注入属性

 

 

需要使用没有static修饰的set方法,set方法上添加注入注解,注意:不要再属性上添加注解

@Component
public class LogUtils {
      private static SysLogService sysLogService;
      @Autowired
	public void setSysLogService(SysLogService sysLogService) {
		LogUtils.sysLogService = sysLogService;
	}

}

 

   JAVA技术交流群 532101200

 

分享到:
评论

相关推荐

    Spring不能注入Static变量的原因及Spring注入静态变量

    主要介绍了Spring不能注入Static变量的原因及Spring注入静态变量,需要的朋友可以参考下

    spring 如何将配置信息注入静态变量的方法

    本篇文章主要介绍了spring 如何将配置信息注入静态变量的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    spring boot静态变量注入配置文件详解

    主要介绍了spring boot静态变量注入配置文件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Spring boot工具类静态属性注入及多环境配置详解

    主要为大家详细介绍了Spring boot工具类静态属性注入,及多环境配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    spring static静态方法里面注入bean空指针解决

    该项目中注入jedisPool时使用了getBean()注入,然而怎么跑都是NullPoint,一翻扣头发后得已解决。 解决方法1 使用@Autowired的方式注入 必须在类上加@Component。我是用的这种 @Component public class ...

    从零开始学Spring Boot

    1.19 Spring Boot使用Druid(编程注入) 1.20 Spring Boot普通类调用bean 1.21 使用模板(thymeleaf-freemarker) 1.22 Spring Boot 添加JSP支持 1.23 Spring Boot Servlet 1.24 Spring Boot过滤器、监听器 1.25 ...

    spring.net中文手册在线版

    Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    spring in action英文版

     3.3.3 使用Spring的静态切入点  3.3.4 使用动态切入点  3.3.5 切入点实施  3.4 创建引入  3.4.1 实现IntroductionInterceptor  3.4.2 创建一个引入Advisor  3.4.3 谨慎使用引入通知  3.5 ...

    获取spring管理的bean

    以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonContext. 在配置文件中注入&lt;bean class="xxx.xxx.SpringContextHolder" lazy-init="false" /&gt; 即可使用

    Spring Boot使用CommandLineRunner完成资源初始化.pdf

    该文档也详细的介绍了在@Component注解的类中可以注入@Controller,并把获取的数据存放到其他Bean类中的私有静态变量,算是对自己出差时使用到的Spring Boot进行的总结。

    springboot学习思维笔记.xmind

    变量定义 编译插件 Spring项目的搭建 Spring Tool Suite https://spring.io/tools/sts/all IntelliJ IDEA NetBeans https://netbeans.org/downloads/ Spring基础配置 依赖...

    Rain:Java Application 开发框架

    静态变量依赖注入支持 单例与多例支持 BeanFactory 支持 Config 指定注入实例支持 Config 多配置文件支持 多环境配置切换支持 配置项依赖注入支持 Controller 完整的路由映射支持 路由上携带参数支持 前置拦截器,...

    Java Web程序设计教程

    2.1.2配置环境变量 17 &gt;2.2tomcat的下载与安装 19 2.2.1下载并安装tomcat服务器 19 .2.2.2基本配置 22 2.2.3服务器页面介绍 23 2.3eclipse的下载与安装 24 2.3.1eclipse的下载与安装 24 2.3.2熟悉eclipse开发...

    千方百计笔试题大全

    33、静态变量和实例变量的区别? 11 34、是否可以从一个static 方法内部发出对非static 方法的调用? 11 35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点...

    java面试宝典

    33、静态变量和实例变量的区别? 11 34、是否可以从一个static 方法内部发出对非static 方法的调用? 11 35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点...

    Java学习笔记-个人整理的

    {2.10.3}静态代码块}{62}{subsection.2.10.3} {2.11}\ttfamily final}{63}{section.2.11} {2.12}\ttfamily abstract}{63}{section.2.12} {2.13}\ttfamily interface}{64}{section.2.13} {2.14}JavaBean规范}{66...

    Grails权威指南

     11.3 使用spring进行依赖注入  11.3.1 使用grails中的bean  11.3.2 重载bean的定义  11.4 在grails中使用spring控制器  11.5 在grails中使用acegi  11.6 使用xfire创建soap服务  11.7 本...

    最新Java面试宝典pdf版

    12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...

    Java面试宝典2010版

    12、静态变量和实例变量的区别? 13、是否可以从一个static方法内部发出对非static方法的调用? 14、Integer与int的区别 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 16、下面的代码有什么不妥之...

Global site tag (gtag.js) - Google Analytics