如何使用注释而不是XML来定义Spring bean?

mom*_*omo 15 spring spring-mvc spring-annotations

我已在xml配置文件中定义:

<bean id="bootstrap" class="com.package.Bootstrap"></bean>
Run Code Online (Sandbox Code Playgroud)

这很好用.

bootsrap类:

public class Bootstrap {

   @PostConstruct
   public void onServerStart() {
      System.out.println("PRINTSSSSSSSSSSSSSSSSSSS");
   }
}
Run Code Online (Sandbox Code Playgroud)

该方法被触发.

但是,如何摆脱xml部分,并将bootstrap注释为bean呢?

我有

<mvc:annotation-driven />
<context:annotation-config /> 
Run Code Online (Sandbox Code Playgroud)

<context:component-scan base-package="com.package" />
Run Code Online (Sandbox Code Playgroud)

但我想知道应用的注释应该取代:

<bean id="bootstrap" class="com.package.Bootstrap"></bean>
Run Code Online (Sandbox Code Playgroud)

我在网上和春季文档中找不到任何关于这个的信息:(

Dav*_*ton 18

有关于此的文件; 你会想要一个刻板印象注释@Component.

刻板印象bean注释

  • @JJZabkar从纯粹的技术角度来看,这很明显 - 我认为解释平台迁移是不必要的.从现实的角度来看,嗯. (4认同)
  • `@Component`将你联系到Spring.考虑使用JSR-330注释(`@ Named`,`@Inject`)代替:http://www.mkyong.com/spring3/spring-3-and-jsr-330-inject-and-named-example/ (3认同)