我有一个小的MVC web应用程序,使用注释配置了控制器。如何创建使用注释可以自动装配的spring bean?
xml设置很简单。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="net.dynamic_tools.jsdependency" />
</beans>
我的控制器看起来像
@Controller
@RequestMapping("/*")
public class JSDependencyController {
@Autowired
private ScriptTagsJSView scriptTagsJSView;
我收到一个错误说
类型的无匹配豆[net.dynamic_tools.jsdependency.view.ScriptTagsJSView]发现依赖
我试过向Scr添加组件注释itTagsJSView
@Component("scriptTagsJSView")
public class ScriptTagsJSView implements View {
没有运气。我也尝试添加的配置POJO和使用@Bean注释
@Configuration
public class Config {
@Bean
public ScriptTagsJSView getScriptTagsJSView() {
return new ScriptTagsJSView();
}
我可能失去了一些东西很简单,但我不明白为什么这是行不通的。有任何想法吗?
ScriptTagsJSView在哪个包中?组件扫描基本包仅从您指定的包向下搜索,因此如果该类在该包外部,则不会被扫描。编辑:看到我的答案下面,但也考虑上面的评论。 – Jberg 2011-04-29 14:23:55
感谢您的输入。欣赏努力。原来问题是我是一个白痴。我认为它使用的xml文件不是它实际使用的xml文件。它实际使用的是从net.dynamic_tools.jsdependency.controller进行扫描,因此在net.dynamic_tools.jsdependency.view中缺少注释。注释配置似乎并不需要。 – 2011-04-30 05:01:02
对于任何想要做这件事的人来说,@Component注解就是我的工作。我删除了@Configuration和@Bean类。 – 2011-04-30 05:03:20