Spring注解

原创 2016年05月30日 22:59:17

1、Spring注解@Component、@Repository、@Service、@Controller区别

在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。
虽然目前这3 个注释和 @Component 相比没有什么新意,但 Spring 将在以后的版本中为它们添加特殊的功能。
所以,如果 Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和控制层分别采用上述注解对分层中的类进行注释。

@Service用于标注业务层组件

@Controller用于标注控制层组件(如struts中的action)

@Repository用于标注数据访问组件,即DAO组件

@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

2、component-scan自动扫描

component-scan标签默认情况下自动扫描指定路径下的包(含所有子包),将带有@Component、@Repository、@Service、@Controller标签的类自动注册到spring容器。对标记了 Spring's @Required、@Autowired、JSR250's @PostConstruct、@PreDestroy、@Resource、JAX-WS's @WebServiceRef、EJB3's @EJB、JPA's @PersistenceContext、@PersistenceUnit等注解的类进行对应的操作使注解生效(包含了annotation-config标签的作用)。

<context:component-scan base-package="com.test.controller" />


3、Spring @Resource、@Autowired、@Qualifier的注解注入及区别

pring2.5提供了基于注解(Annotation-based)的配置,我们可以通过注解的方式来完成注入依赖。在Java代码中可以使用 @Resource或者@Autowired注解方式来经行注入。虽然@Resource和@Autowired都可以来完成注入依赖,但它们之间是有区 别的。首先来看一下:

 a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;

 b。@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;

 c。@Resource注解是又J2EE提供,而@Autowired是由Spring提供,故减少系统对spring的依赖建议使用  

       @Resource的方式;

d。 @Resource和@Autowired都可以书写标注在字段或者该字段的setter方法之上


在java代码中可以使用@Autowire或者@Resource注解方式进行装配,这两个注解的区别是:
@Autowire 默认按照类型装配,默认情况下它要求依赖对象必须存在
如果允许为null,可以设置它required属性为false,如果我们想使用按照名称装配,可 以结合@Qualifier注解一起使用;

@Resource默认按照名称装配,当找不到与名称匹配的bean才会按照类型装配,可以通过name属性指定,如果没有指定name属 性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找 依赖对象.

@Resource(name="loginService") 
    private LoginService loginService;
 
 @Autowired(required=false)@Qualifier("loginService") 
    private LoginService loginService;



使用注解方式进行spring和hibernate整合

整合spring和hibernate需要五个要素,分别包括持久化的类, 数据源,SessionFactory, TransactionManager和持久化操作的DAO类。 持久化类: [...
  • yang_ai
  • yang_ai
  • 2016年07月29日 23:05
  • 1287

Struts2整合Spring从xml到注解

struts和spring整合首先要在Web容器启动的时候自动装配ApplicationContext的配置信息,可想而知应该在web.xml做相应的配置: [html] view pl...
  • paincupid
  • paincupid
  • 2015年01月25日 00:34
  • 2668

WebService中注解开发,CXF,Spring整合,Rest风格

本文主要就WebService中的利用注解配置开发,发布WebService服务,使用CXF开源框架发布服务,如何使用REST风格,以及WebService与Spring整合的使用进行详细的讲解与分析...
  • yangqian201175
  • yangqian201175
  • 2016年05月03日 10:29
  • 3996

Spring3_MVC注解教程

  • 2014年11月19日 10:45
  • 1.42MB
  • 下载

Spring3注解

  • 2015年01月19日 13:24
  • 2.56MB
  • 下载

Spring3_MVC注解

  • 2014年09月10日 11:50
  • 2.62MB
  • 下载

Spring之条件注解@Conditional(Demo)

  • 2017年12月14日 21:44
  • 65KB
  • 下载

hibernate+spring+springmvc框架 @注解开发 详细配置注释/及hibernate的HQL/QBC/SQL查询代码使用及注释

  • 2018年01月03日 14:28
  • 63KB
  • 下载

Spring框架xml注解配置方式实例

  • 2017年03月20日 12:48
  • 3KB
  • 下载

spring-aop和注解的实例

  • 2017年01月13日 17:33
  • 10KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring注解
举报原因:
原因补充:

(最多只允许输入30个字)