`
simple1024
  • 浏览: 74348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring2.5之Annotation学习1

阅读更多

一、   开始使用annotation 配置Spring 首先需要在 spring xml 配置文件中加入下列部分 的代码。

<? xml version = "1.0" encoding = "UTF-8" ?>

< beans xmlns = "http://www.springframework.org/schema/beans"

       xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"

       xmlns:context= "http://www.springframework.org/schema/context "


       xsi:schemaLocation = "http://www.springframework.org/schema/beans

           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

           http://www.springframework.org/schema/context

           http://www.springframework.org/schema/context/spring-context-2.5.xsd ">           

    <context:annotation-config/>

</ beans >
 

 

 

这样当 spring 加载配置文件时,发现有 <context:annotation-config/> 标签后,会帮我加载以下四个类(用于处理 annotation

      1 AutowiredAnnotationBeanPostProcessor,

2 CommonAnnotationBeanPostProcessor,

3 PersistenceAnnotationBeanPostProcessor,

      4 RequiredAnnotationBeanPostProcessor

 

二、   @Autowired @Qualifier

还是需要在 xml 文件中配置 bean

(一)  @Autowired

位置 可以放在成员属性前面,也可以放在 getter setter 方法前面,但是建议放在 setter 方法前面

作用: 表示该对应的成员属性可以完成自动配置功能 ( 默认是根据 byType )

例如:

xmp 配置文件:


前缀部分见上面代码,以此略。。。

< bean id = "u" class = "com.wjt276.dao.impl.UserDaoImpl" > </ bean >  

  < bean name = "userService" class = "com.wjt276.service.UserService" > </ bean >   
 

 

userService

public class UserService { 

    private UserDao userDao = new UserDaoImpl();

    public UserDao getUserDao() { return userDao ;}

 

// 表示该成员属性可以自动装配 ( 默认根据类型 byType)

//annotation 建议放在 setter 方法前面

    @Autowired

    public void setUserDao(UserDao userDao) {

       this . userDao = userDao;

    }

    public void add(User u){

       userDao .save(u);

    }}

说明: 这样 spring 就可以帮我们完成自动装配功能 ( 默认是根据 byType) 
 

 

 

(二)  @Qualifier

因为 @Autowired 默认是根据 byType 来自动装配注入的。当有多个相同类型的 bean 时, Spring 就会出现异常,提示找到多个符合条件的 bean ,但是不知道选择哪个 bean 来注入。

这时我们需要另外一注解来告诉 Spring 用那个 bean ,这就是 @Qualifier 注解 , @Qualifier 使用 value 参数来指定注入那个 bean

代码:


public class UserService {

    private UserDao userDao = new UserDaoImpl();

    public UserDao getUserDao() { return userDao ;

    }

    // 表示该成员属性可以自动装配 ( 默认根据类型 byType)

    // 当配置文件中有多个相同类型的 bean 时,需要使用 @Qualifier 注解来说明那个 bean 来自动装配

    @Autowired

    public void setUserDao( @Qualifier(value="u") UserDao userDao) {

       this . userDao = userDao;

    }

    public void add(User u){ userDao .save(u);}

} 
 

 

 

 

 

0
0
分享到:
评论

相关推荐

    配置整合DWR3.0和Spring2.5使用annotation注解

    在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...

    struts2 hibernate3 spring2.5 annotation 整合

    文件Spring_3300_Registration_11可能是一个示例项目,包含了上述整合的实例,包括Action、Service、DAO、配置文件等,开发者可以通过学习和运行这个项目来理解和实践Struts2、Hibernate3、Spring2.5的整合以及注解...

    传智播客spring2.5源代码

    1. **依赖注入(Dependency Injection, DI)**:Spring 2.5进一步强化了DI这一核心概念,允许更加灵活的注解方式来声明依赖关系,如`@Autowired`、`@Qualifier`等。这使得开发者无需显式调用`set`方法来初始化对象,...

    Spring MVC 2.5 annotation 学习

    博文链接:https://pesome.iteye.com/blog/236273

    struts2 spring2.5 hibernate3.0 annotation 整合

    Struts2、Spring2.5和Hibernate3.0是Java Web开发中三个非常重要的框架,它们各自负责不同的职责,但可以协同工作以构建高效、可维护的Web应用程序。本项目整合了这三个框架,并利用注解(Annotation)进行配置,...

    spring2.5源码

    Spring 2.5是Spring框架的一个重要版本,它在...通过深入学习Spring 2.5的源码,开发者可以更好地理解Spring框架的设计思想和工作原理,从而提高开发效率和代码质量。同时,这也为理解后续版本的改进和发展奠定了基础。

    Spring2.5_学习笔记.doc.zip

    首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...

    spring2.5+hibernate3.2

    spring2.5 + hibernate3.2x 标注(annotation)开发的简单示例 http://blog.csdn.net/IamHades/archive/2008/01/11/2038188.aspx

    spring2.5官方jar

    1. **依赖注入(Dependency Injection, DI)**:Spring 2.5继续强化了DI这一核心特性,使得对象之间的依赖关系更加明确和易于管理。通过XML配置或注解,开发者可以方便地声明并注入依赖,降低了代码间的耦合度。 2....

    Spring2.5中文帮助文档

    **Spring 2.5 中文帮助文档概述** Spring框架是Java平台上的...阅读"Spring2.5中文帮助手册.pdf"和"Spring2.5有哪些改进.txt"这两个文件,将能详细了解到这些改进的实施细节和使用方法,为实际开发工作提供有力支持。

    spring2.5 api

    Spring 2.5 API 是 Spring 框架的一个版本,发布于2008年,是当时的一个重要更新。这个版本引入了许多新特性,优化了已有功能,并为后续的3.0版本打下了基础。以下将详细介绍 Spring 2.5 API 中的关键知识点。 一、...

    spring2.5.jar

    1. **依赖注入(Dependency Injection, DI)**:Spring 2.5增强了依赖注入的能力,支持基于注解的配置,使得开发者可以在类的方法或字段上直接使用`@Autowired`注解,无需XML配置就能实现组件间的依赖关系。...

    使用 Spring 2.5 TestContext 测试框架

    在Spring框架中,TestContext模块为开发者提供了强大的测试支持,特别是在Spring 2.5版本中,这个测试框架进一步增强了测试的便利性和可扩展性。它允许我们以声明式的方式配置和管理测试环境,包括bean的初始化、...

    Struts2+Spring2.5+Hibernate3+annotation 整合程序

    这个"Struts2+Spring2.5+Hibernate3+annotation 整合程序"旨在展示如何将这三大框架与注解(Annotation)技术结合,以实现更高效、更简洁的代码编写。 Struts2是一个基于MVC设计模式的Web应用框架,它主要负责处理...

    Spring2.5的新特性

    【Spring2.5的新特性】 Spring框架自诞生以来,一直致力于简化企业级应用的开发,提供强大且非侵入式的解决方案。Spring2.5在这个方向上迈出了一大步,尤其对于使用Java 5或更高版本的开发者来说,它带来了更多便利...

    Spring2.5-中文参考手册

    通过阅读这份《Spring2.5-中文参考手册》,开发者可以深入理解Spring的核心机制,学习如何有效地利用其特性构建健壮、可维护的企业级应用。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。

    Spring2.5中文开发手册

    在Spring 2.5中,最重要的更新之一是全面支持Java 5的注解(Annotation),这使得开发者可以更加简洁、直观地配置依赖注入。例如,@Autowired、@Qualifier、@Resource等注解,让代码更加整洁,减少了XML配置文件的...

    Spring2.5使用AOP需要的aspectJ

    在Spring 2.5版本中,面向切面编程(AOP)是一个强大的功能,它允许开发者定义“切面”来封装横切关注点,如日志、事务管理、权限检查等,使得代码更加模块化和可重用。AspectJ是一个成熟的AOP框架,Spring在其AOP...

    spring2.5开发参考手册

    Spring2.5继续坚持了简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案的发展趋向,特别是为那些使用Java 5或更新版本java的开发人员提供了进一步简化而强大的新特性。这些新特性包括:注解驱动的...

Global site tag (gtag.js) - Google Analytics