2012-07-10 180 views
0

最近我在尝试启动现有服务器时遇到了问题。似乎字段ABCManager没有被春豆厂自动装配。这已添加 - “context:anotation-config”到配置文件中。 我检查了代码更改版本,ABCManager只有一个私有构造函数方法(在它有一个getInstance方法之前)。这很重要吗? Spring会使用私有构造函数为我获取一个实例,或者这就是为什么我有一个NPE? 如果这不是,我应该检查什么?为什么我的@autowired不起作用

+0

你可以添加你的应用程序配置和例外,你得到并发布在你的问题? – Xaerxess 2012-07-10 16:18:09

+0

调试完这个问题后,我终于明白了那里发生了什么。这仍然是一个配置问题,一些依赖bean在* .xml中没有配置。 – Sarstime 2012-07-16 10:16:31

回答

0

您是否注记了课程? 类必须@Component@Service@Repository

+0

不,这不是问题 – Sarstime 2012-07-16 10:13:13

0

由于这一直是使用一个静态方法来得到一个实例进行注释,春天默认不知道这一点。 你将不得不在bean减速中指定你的静态方法。

<bean id="exampleBean" class="examples.ExampleBean2" factory-method="createInstance"/> 

您的工厂方法将是您用于实例化此bean的静态方法。

+0

不,我调试代码,发现即使你没有提供公共构造函数,spring仍然为我生成一个实例。所以如果你不提供工厂方法,那也没关系。 – Sarstime 2012-07-16 10:14:42