<? 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
还是需要在
xml
文件中配置
bean
位置
:
可以放在成员属性前面,也可以放在
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)
因为
@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);}
}
分享到:
相关推荐
在本文中,我们将探讨如何将Direct Web Remoting (DWR) 3.0与Spring 2.5框架整合,并利用注解(Annotation)进行配置。DWR是一个允许JavaScript与Java服务器端进行交互的库,而Spring 2.5引入了对注解的强大支持,...
文件Spring_3300_Registration_11可能是一个示例项目,包含了上述整合的实例,包括Action、Service、DAO、配置文件等,开发者可以通过学习和运行这个项目来理解和实践Struts2、Hibernate3、Spring2.5的整合以及注解...
1. **依赖注入(Dependency Injection, DI)**:Spring 2.5进一步强化了DI这一核心概念,允许更加灵活的注解方式来声明依赖关系,如`@Autowired`、`@Qualifier`等。这使得开发者无需显式调用`set`方法来初始化对象,...
博文链接:https://pesome.iteye.com/blog/236273
Struts2、Spring2.5和Hibernate3.0是Java Web开发中三个非常重要的框架,它们各自负责不同的职责,但可以协同工作以构建高效、可维护的Web应用程序。本项目整合了这三个框架,并利用注解(Annotation)进行配置,...
Spring 2.5是Spring框架的一个重要版本,它在...通过深入学习Spring 2.5的源码,开发者可以更好地理解Spring框架的设计思想和工作原理,从而提高开发效率和代码质量。同时,这也为理解后续版本的改进和发展奠定了基础。
首先,Spring2.5引入了基于注解的配置(Annotation-based Configuration),这极大地简化了XML配置文件的编写,使得应用程序的装配过程更加直观和简洁。开发者可以通过在类或方法上添加如@Service、@Repository、@...
spring2.5 + hibernate3.2x 标注(annotation)开发的简单示例 http://blog.csdn.net/IamHades/archive/2008/01/11/2038188.aspx
1. **依赖注入(Dependency Injection, DI)**:Spring 2.5继续强化了DI这一核心特性,使得对象之间的依赖关系更加明确和易于管理。通过XML配置或注解,开发者可以方便地声明并注入依赖,降低了代码间的耦合度。 2....
**Spring 2.5 中文帮助文档概述** Spring框架是Java平台上的...阅读"Spring2.5中文帮助手册.pdf"和"Spring2.5有哪些改进.txt"这两个文件,将能详细了解到这些改进的实施细节和使用方法,为实际开发工作提供有力支持。
Spring 2.5 API 是 Spring 框架的一个版本,发布于2008年,是当时的一个重要更新。这个版本引入了许多新特性,优化了已有功能,并为后续的3.0版本打下了基础。以下将详细介绍 Spring 2.5 API 中的关键知识点。 一、...
1. **依赖注入(Dependency Injection, DI)**:Spring 2.5增强了依赖注入的能力,支持基于注解的配置,使得开发者可以在类的方法或字段上直接使用`@Autowired`注解,无需XML配置就能实现组件间的依赖关系。...
在Spring框架中,TestContext模块为开发者提供了强大的测试支持,特别是在Spring 2.5版本中,这个测试框架进一步增强了测试的便利性和可扩展性。它允许我们以声明式的方式配置和管理测试环境,包括bean的初始化、...
这个"Struts2+Spring2.5+Hibernate3+annotation 整合程序"旨在展示如何将这三大框架与注解(Annotation)技术结合,以实现更高效、更简洁的代码编写。 Struts2是一个基于MVC设计模式的Web应用框架,它主要负责处理...
【Spring2.5的新特性】 Spring框架自诞生以来,一直致力于简化企业级应用的开发,提供强大且非侵入式的解决方案。Spring2.5在这个方向上迈出了一大步,尤其对于使用Java 5或更高版本的开发者来说,它带来了更多便利...
通过阅读这份《Spring2.5-中文参考手册》,开发者可以深入理解Spring的核心机制,学习如何有效地利用其特性构建健壮、可维护的企业级应用。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。
在Spring 2.5中,最重要的更新之一是全面支持Java 5的注解(Annotation),这使得开发者可以更加简洁、直观地配置依赖注入。例如,@Autowired、@Qualifier、@Resource等注解,让代码更加整洁,减少了XML配置文件的...
在Spring 2.5版本中,面向切面编程(AOP)是一个强大的功能,它允许开发者定义“切面”来封装横切关注点,如日志、事务管理、权限检查等,使得代码更加模块化和可重用。AspectJ是一个成熟的AOP框架,Spring在其AOP...
Spring2.5继续坚持了简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案的发展趋向,特别是为那些使用Java 5或更新版本java的开发人员提供了进一步简化而强大的新特性。这些新特性包括:注解驱动的...