发表自本人博客 http://irfen.me
先说下我现在使用的版本:Spring3.0 annotation写的
今天写项目遇到了一个问题:想通过jstl自定义函数来实现页面上面的一部分内容。通过Spring注入后发现报如下错误:
@Resource annotation is not supported on static fields
上网搜寻发现,Spring注解注入不支持静态变量注入,遂想办法解决。
首先看到的方法是有一个
<bean id=”userService” class=”bookstore.service.UserService” init-method=”init” destroy-method=”destroy”> … </bean>
这样的方法,通过编写一个方法init(),然后通过xml配置 init-method=”init” ,在init方法中从取值赋成静态的,但是我不想写xml,毕竟项目里主要用的都是annotation方式,于是发现如下两个注解:
@PostConstruct 和 @PreDestroy
一个是在初始化之后调用,一个是在摧毁之前调用。这样就可以使用的。
我在junit下做了测试,就不发项目代码了,代码如下:
@Resource private HibernateTemplate hibernateTemplate; private static TalentsDaoImplTest td; @PostConstruct public void init() { td = this; td.hibernateTemplate = this.hibernateTemplate; } @Test public void testStatic() { Talents talents = td.hibernateTemplate.get(Talents.class, 1L); System.out.println(talents.getAge()); }
发这篇只是发现,可能是这个问题出现的或者是使用的人比较少,但是这个解决方案真的不太好找,我就总结下来,希望可以给大家提供帮助。
还有就是我这样是可以解决了,不知道大家是否还有更好的解决办法,欢迎大家共同来分享。
发表自本人博客 http://irfen.me
相关推荐
9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 ...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...
12、静态变量和实例变量的区别? 13、是否可以从一个static方法内部发出对非static方法的调用? 14、Integer与int的区别 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 16、下面的代码有什么不妥之...
一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码...
12、静态变量和实例变量的区别? 13 13、是否可以从一个static方法内部发出对非static方法的调用? 13 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 14 16、下面的代码有...
12、静态变量和实例变量的区别? 12 13、是否可以从一个static方法内部发出对非static方法的调用? 12 14、Integer与int的区别 13 15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13 16、下面的代码有...
12、静态变量和实例变量的区别? ............................................................................. 12 13、是否可以从一个 static 方法内部发出对非 static 方法的调用? ...........................