Java 如何创建可以使用注释自动连接的Springbean?

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

我有一个小型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.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;
   }
}