在推土机的目的地类中进行春季自动装配

时间:2014-06-15 05:11:16

标签: java spring dozer

所以,我在过去的4个小时里一直撞着显示器,无法弄明白。 我正在使用Dozer进行映射,它工作正常。但是,我需要在目标类中使用我的一个DAO并自动装配返回null。以下是该课程的片段:

 @Component
 public class Address
 {
    @XmlElement(name = "street", required = true)
    protected String street;
    @XmlElement(name = "city", required = true)
    protected String city;
    @XmlElement(name = "zip", required = true)
    protected zip;


    @Autowired
    private CityDao cityDao;

    // Getters/setters 
  }

cityDao始终为null。我对Spring和Dozer都很新,但是Dozer文档说目标类是用默认构造函数创建的,据我所知,Spring应该没有任何问题。 cityDao虽然是null。请帮忙!

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,你应该将DAO注入DTO!

但是如果您出于某种原因绝对需要这样做,请查看Spring的@Configurable支持。以下是Javadoc以及更多信息herehere

如果设置正确,它允许未由Spring显式管理的对象受益于自动连接依赖项等功能。

在您的示例代码中,Address虽然使用@Component注释,但不是由Spring管理,因为它是使用Dozer创建的。这就是为什么您需要@ConfigurableCityDao注入Address