Java 注入单元测试(仅XML)

Java 注入单元测试(仅XML),java,spring,dependency-injection,junit,Java,Spring,Dependency Injection,Junit,要插入已配置数据源的dao。。我不喜欢注释,因为它让代码变得丑陋,我想要一个纯XML解决方案 测试用例位于测试文件夹的子文件夹中,该文件夹与src文件夹处于同一级别 src com name dao ProductDao test com name dao ProductDaoTest ProductDaoTest需要将ProductDao注入其中。试

要插入已配置数据源的dao。。我不喜欢注释,因为它让代码变得丑陋,我想要一个纯XML解决方案

测试用例位于测试文件夹的子文件夹中,该文件夹与src文件夹处于同一级别

src
   com
       name
           dao
               ProductDao
test
   com
       name
           dao
               ProductDaoTest
ProductDaoTest需要将ProductDao注入其中。试着这么做,spring注入了它,但是ProductDao依赖的属性没有被注入,我面临着NPE

考虑过将测试类移动到src文件夹中,但我认为我不应该这样做。我正在考虑的另一种选择是通过浏览控制器调用来运行测试用例,但不再是单元测试,因此我一直在努力找出正确的方法

谢谢大家!!
p、 美国的测试是junit、tomcat、Spring3.1不,你不应该这样做。您只需要使应用程序上下文对测试可用,并要求它适当地连接它们。

您希望DAO中的哪些方法进行单元测试?你不是真的在测试数据库连接吗

否则我同意@duffymo

编辑:为了详细说明一下,请尝试根据测试类的需要调整以下代码块:

final ClassPathXmlApplicationContext beanFactory = 
    new ClassPathXmlApplicationContext( "applicationContext.xml" );
AutowireCapableBeanFactory factory = beanFactory.getAutowireCapableBeanFactory();
factory.autowireBeanProperties( this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE , true );
ProductDao dao = context.getBean( "productDao" );
然后看看这是否对Dao依赖项bean不起作用


干杯,

谢谢您提供的详细信息,@Anders!但是,你为什么要参加beanFactory决赛呢?习惯,无论如何,它没有理由是可变的。@downvoter,想和大家分享一下你的一些想法吗?