框架:Spring 3。
我真的不明白为什么 bean 中的消息源注入端总是为 NULL。
这是片段:
这servlet.xml
<context:annotation-config />
<context:component-scan base-package="com.myproject.controllers" />
<mvc:annotation-driven />
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/messages/messages" />
<property name="cacheSeconds" value="0" />
</bean>
messageSource 注入的类
import com.myproject.controllers.forms.RegistrationForm;
@Component
public class RegistrationFormValidator implements Validator {
@Autowired
@Qualifier("messageSource")
private MessageSource messageSource;
//other stuff here...
}
这是控制器
@Controller
@SessionAttributes("userSearchForm")
public class UsersController extends PaginationController<ProfiledUser>{
@InitBinder(value="registrationForm")
public void initBinder(WebDataBinder binder)
{
binder.setValidator(new RegistrationFormValidator());
}
我已经尝试过以下方法:
- 删除注解并通过xml配置文件注入消息源
- 实现 MessageSourceAware 接口
- 试图注入一个
ReloadableresourceBundleMessageSource
而不是使用接口MessageSource
一切都以史诗般的失败告终;-) 如何正确注入 MessageSource?