Spring容器默认禁止用注解配置。所以在使用注解的自动配置之前我们需要在applicationContext.xml中添加:

<context:annotation-config />

但是我们一般会使用:

<context:component-scan />

来代替,因为前者包含了后者,并且能够允许Spring自动检测Bean和定义Bean.
如:

<context:component-scan base-package="com.xingguo.account" />

能够自动扫面com.xingguo.account包下能够自动注册为Spring Bean的类。
Spring3 支持集中不同的自动装配的注解:

  • Spring自带的@Autowired注解
  • JSR-330的@Inject注解
  • JSR-250的@Resource注解
    推荐使用 JSR-330的@Inject注解。
    为自动检测标注Bean:
  • @Component
  • @Repository
  • @Service
  • @Controller
  • @Named

其中@Controller一般用于SpringMVC中的Controller上。其他四个一样。不过大家习惯于,把@Service用于service上,@Repository用于DAO上。这些都可以用@Named替代。

你可能感兴趣的:(spring,annotation,context)