没有xml配置的Spring不会扫描包

时间:2018-05-18 19:06:51

标签: java spring dependency-injection

我无法弄清楚如何在没有XML的情况下设置Spring来扫描包和注入组件。

我有以下代码。

@Configuration
@ComponentScan("com.mypackage")
public class WebServer {

    public static void main(String[] args) throws Exception {
    }
}


@Service
public class Foo {
    public void print() {
        System.out.println("FOO");
    }
}

@Controller
public class FooController {

    private Foo foo;

    @Autowired
    public void setFoo(Foo foo) {
        this.foo = foo;
    }

}

以下pom.xml

   <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${org-springframework.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org-springframework.version}</version>
    </dependency>

Foo类和FooController位于com.mypackage包下,但代码永远不会发送setFoo

我错过了什么吗?

谢谢

1 个答案:

答案 0 :(得分:3)

您必须先创建ApplicationContext。如果您使用的是Spring Boot,它会处理它。它特别适用于起点。

请参阅docs