Spring 注入static变量】的更多相关文章

一般我们我想注入一个static的变量,如下: @Autowired    private static String str; 不过,这样最终结果为null. 1.使用配置文件的方式注入 private static String from; public static String getFrom() { return from; } public static void setFrom(String from) { TestStatic.from = from; } <bean class…
Spring 依赖注入 是依赖 set方法 set方法是 是普通的对象方法 static变量是类的属性 @Autowired private static JdbcTemplate jdbcTemplate; 单纯看这个注入过程是没有报错的,但是在接下来的jdbcTemplate.query()会报空指针错误.…
一.业务场景 spring框架应用中有些静态方法需要依赖被容器管理的类,就像这样: @Component public class Test { @Autowired private static UserService userService; public static void test() { userService.test(); } } 这样一定会报java.lang.NullPointerException: null异常. 二.原理剖析 静态变量.类变量不是对象的属性,而是一个类…
1.如果使用@Resource注解来注入静态变量的,服务器启动就会报错的.可以新增一个set方法,同时在set方法上用@Resource注解来注入. 2.或者直接在Spring的配置文件中使用<bean />标签来明确声明. 3.1案例如下: private static WebServiceContext webServiceContext; @Resource public void setWebServiceContext(WebServiceContext webServiceCont…
昨天在编写JavaMail工具类的时候,静态方法调用静态变量,这是很正常的操作,当时也没多想,直接静态注入. @Component public class JavaMailUtil { @Autowired private static JavaMailSenderImpl mailSender; /** * 发送包含简单文本的邮件 */ public static void sendText(String title,String text) { SimpleMailMessage simp…
果然还是不够细心啊,被坑一晚上.. 一个极其简单的小程序,但是需要通过xml文件配置注入一个值,唯一的特别是要注入的属性是类中的静态成员变量.. 如下,然后自动生成get和set方法..坑就从此开始了... public class Food{ private static String desc; public static String getDesc(){ return desc; } public static void setDesc(String desc){ Food.desc =…
import java.util.Iterator; import java.util.LinkedList; import javax.annotation.PostConstruct; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; im…
原文: http://www.cnblogs.com/xing901022/p/4168124.html 今天碰到一个问题,我的一个工具类提供了几种静态方法,静态方法需要另外一个类的实例提供处理,因此就写出了这样的代码: 1 Class Util{ 2 private static XXX xxx; 3 xxx = BeanUtil.getBean("xxx"); 4 public static void method1(){ 5 xxx.func1(); 6 } 7 public s…
今天碰到一个问题,我的一个类提供了几种静态方法,静态方法需要另外一个类的实例提供处理,因此就写出了这样的代码: Class aa{ private static XXX xxx; xxx = BeanUtil.getBean("xxx"); public static void method1(){ xxx.func1(); } public static void method2(){ xxx.func2(); } } 这里是使用的getBean的方式,获得XXX的实例,但是别人说这…
今天碰到一个问题,我的一个工具类提供了几种静态方法,静态方法需要另外一个类的实例提供处理,因此就写出了这样的代码: Class Util{ private static XXX xxx; xxx = BeanUtil.getBean("xxx"); public static void method1(){ xxx.func1(); } public static void method2(){ xxx.func2(); } } 这里是使用的getBean的方式,获得XXX的实例,但是…