Java 如何创建可以使用注释自动连接的Springbean?
我有一个小型MVC web应用程序,其中的控制器使用注释进行配置 xml设置很简单Java 如何创建可以使用注释自动连接的Springbean?,java,spring,annotations,Java,Spring,Annotations,我有一个小型MVC web应用程序,其中的控制器使用注释进行配置 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
<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>
我在说一个错误
找不到依赖项类型为[net.dynamic_tools.jsdependency.view.ScriptTagsJSView]的匹配bean
我已尝试向ScritTagsJSView添加组件注释
@Component("scriptTagsJSView")
public class ScriptTagsJSView implements View {
没有运气。我还尝试添加配置POJO并使用@Bean注释
@Configuration
public class Config {
@Bean
public ScriptTagsJSView getScriptTagsJSView() {
return new ScriptTagsJSView();
}
我可能错过了一些相当简单的东西,但我不明白为什么这不起作用。有什么想法吗?我想您可能只需要在xml中使用
。首先,您需要使用注释驱动的标记。
这将确保Spring实例化所有带注释的类
@控制器、@Repository、@Service和@Component
<mvc:annotation-driven />
ScriptTagsJSView在哪个包中?Component scan base package仅从指定的包向下搜索,因此如果该类位于该包之外,则不会对其进行扫描。编辑:请参阅下面我的答案,同时也要考虑上面的评论。谢谢你们两个的输入。感谢你的努力。原来问题是我是个白痴。我认为它使用的xml文件不是它实际使用的xml文件。它实际使用的是从net.dynamic_tools.jsdependency.controller扫描,因此在net.dynamic_tools.jsdependency.view中缺少注释。似乎不需要注释配置。对于其他想要这样做的人来说,@Component注释就是我工作的地方。我删除了@Configuration和@Bean类。
<mvc:annotation-driven />
public class JSDependencyController {
@Autowired
public JSDependencyController(ScriptTagsJSView view){
this.view = view;
}
}