在项目开发中,用spring把工厂依赖注入到action,但是我的项目中需要一个静态的工具类在一个oj的评判类中调用,由于不能直接把工厂直接注入到评判类中,我必须要拿到一个静态工具类。
静态类的建设按正常的类加载器进行加载,这样做的话我就要写一边dao中的所有持久类,并且换为hebernate,但是当拿sessionFactory的时候,出现了一个异常,查了一下,结果让我郁闷,说是一个数据只有一个sessionFactory,而那一个被spring拿去用了。
我不能再建一个数据库啊,我不得不去思考还得用spring,
我尝试着用依赖注入把工厂注入到静态工具类中,
<!-- 依赖注入DaoFactoy -->
<bean id="hibernatedaofactory" class="tool.HibernateDaoFactory" >
<property name ="managerfactory">
<ref local="managerfactory"/>
</property>
</bean>
<bean class="tool.DAOFactory" >
<property name ="hibernatedaofactory">
<ref local="hibernatedaofactory"/>
</property>
</bean>
</beans>
结果竟然成功了!
原来spring可以直接注入到static 类中,哎,那个网上说不可以的真把我坑了,让我白忙了一天。这样用spring的不紧省事,而且程序还省去了很多内存,冗余。