web-dev-qa-db-ja.com

Springでのみコンポーネントスキャンをアノテーションで設定するにはどうすればよいですか?

Tomcat Webサーバー環境でwarファイルを実行しています。

@Beansのアノテーションベースの構成と、webサービスのxml構成があります。

@Configuration
//@ComponentScan(basePackageClasses = ...)
public class AppConfig {
    //beans @Bean
}

applicationContext.xml:

<beans>
    <context:component-scan base-package="..."/>
    <jaxws:endpoint ... />
</bean>

問題:@ComponentScanをアノテーションで定義して、タイプセーフにするだけです。しかし、そうした場合、スキャンは実行されません。対照的に、<context:component-scan..を使用すると、すべてが正常に動作します。

Webサーバー内のSpringコンポーネントのスキャンは、パッケージスキャンのxmlを使用した構成に関連付けられていますか?

13
membersound

http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch06s02.html のようなものを通過します。

    @Configuration
    @ComponentScan("com.company") // search the com.company package for @Component classes
    @ImportXml("classpath:com/company/data-access-config.xml")        
    public class Config {
    }
26
Swaraj