spring 注解零碎的记录
jdk1.5出来后,注解作为新特性给我们带来了新的解决问题的方式,提供了大大的便利。 spring从2.0之后,注解使用的场所也逐渐增多,而且越发的强劲。可是这些注解为什么能起到作用,对于spring是什么xml配置使得这些注解可以使用呢?不错,不知道的情况使用
<context:component-scan base-package="com.zhuxy.vc" />
?
这个是万能的。但是不是所有项目都使用这个的,咱必须保证能看懂是吧。
spring最常见的注解列表
@Autowired : 按类型注入
@Qualifier : 按名称注入
@Resource : 根据名称注入
@PostConstruct : 和实现InitializingBean接口的功效等同
@PreDestroy : 和实现DisposableBean接口功效等同
这三个注解需要用到JSR250的jar包
@Component : 所有受Spring管理组件的通用形式
@Service :是@Component的细化,对应服务层组件
@Repository: 是@Component的细化,对应持久层组件
@Controller:是@Component的细化,对应表现层组件
?
如果只使用@Autowired,@Qualifier注解的话,仅需要按如下配置即可
<bean name="code"><bean name="code"><context:annotation-config />?
它不但帮助我们把 AutowiredAnnotationBeanPostProcessor 和 CommonAnnotationBeanPostProcessor 注册到容器中,还帮我们把
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor 以及
org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor(@Required)注册到容器中
以上这些只是协助注入,但是,并没有起到对组件的实例化。
如果想使用 @Component, @Service, @Repository,@Controller 注解帮助我们完成实例化,此时需要通过配置
?
<context:component-scan base-package="com.dao,com.pojo,com.service" />?
通过 配置后,可以使用以上所有的注解,将需要使用注解的包放在 base-package 中即可
?
?
?
?
?
?
?