Spring 似乎在启动时可以很好地解决并创建自动装配的对象。但是当我尝试访问它们时,它们会返回为空。有人对可能发生的事情有任何猜测吗?
XML信息也是空白的,因为我只允许一个超链接......
<beans xmlns=""
xmlns:xsi=""
xmlns:p=""
xmlns:mvc=""
xmlns:context=""
xsi:schemaLocation="...only allowed one hyperlink" default-autowire="byName">
<mvc:annotation-driven />
<context:component-scan base-package="com.blah.controller"/>
<context:component-scan base-package="com.blah.*.service"/>
<context:component-scan base-package="com.blah.*.dao"/>
<context:annotation-config />
public class AuthFilter extends UsernamePasswordAuthenticationFilter {
@Autowired
private ProfileService profileService;
//.... Do more stuff below that shows profileService coming back as null.
}
我能够使用调试器来显示对象正在被初始化。如果你们愿意,我可以将我的日志粘贴到这里,但这需要大量支持编辑:)。
在定义 authfilter 的地方添加一点:
<b:bean id="authenticationFilter" class="com.blah.auth.AuthFilter">
<b:property name="authenticationManager" ref="authenticationManager" />
<b:property name="filterProcessesUrl" value="/login/validate" />
<b:property name="usernameParameter" value="username" />
<b:property name="passwordParameter" value="password" />
<b:property name="authenticationSuccessHandler" ref="authSuccessHandler" />
<b:property name="authenticationFailureHandler" ref="authFailureHandler" />
</b:bean>
组件扫描在 springapp-servlet.xml 中
我已经创建了引导日志的 pastebin。移动组件扫描没有骰子。http://pastebin.com/ttC5MPnQ