<?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
xmlns:context="http://www.springframework.org/schema/context" ><!-- 使用annotation需加上面三行的该内容和下面的一行 -->
<context:annotation-config/>
<bean id="u" class="annotation.autoWire.UserDAOImpl">
</bean>
<bean id="u2" class="annotation.autoWire.UserDAOImpl">
</bean>
<bean id="userService" class="annotation.autoWire.UserService">
</bean>
</beans>
User,java
package annotation.autoWire;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
UserDAO.java
package annotation.autoWire;
public interface UserDAO {
public void save(User user);
}
UserDAOImpl.java
package annotation.autoWire;
public class UserDAOImpl implements UserDAO {
public void save(User user) {
System.out.println("user saved!");
}
}
UserService.java
package annotation.autoWire;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
public class UserService {
private UserDAO userDAO;
public void init() {
System.out.println("init");
}
public void add(User user) {
userDAO.save(user);
}
public UserDAO getUserDAO() {
return userDAO;
}
@Autowired//需配置在setter方法上
public void setUserDAO(@Qualifier("u2") UserDAO userDAO) {
this.userDAO = userDAO;
}
public void destroy() {
System.out.println("destroy");
}
}
UserServiceTest.java
package annotation.autoWire;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserServiceTest {
@Test
public void testAnnotationAutoWire() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("annotation/autoWire/annotationAutoWire.xml");
UserService service = (UserService)ctx.getBean("userService");
service.add(new User());
System.out.println(service.getUserDAO());
}
}
分享到:
相关推荐
本篇将详细探讨"3Spring使用annotation方式autowire"这一主题,包括注解驱动的自动装配(Autowiring)以及相关的源码分析。 ### 一、注解驱动的自动装配 自动装配是Spring框架的一个核心特性,它允许框架自动管理...
### Spring3配置声明式事务详解 #### 一、Spring3中的声明式事务简介 Spring框架提供了两种事务管理方式:编程式事务管理和声明式事务管理。其中声明式事务管理通过配置来实现事务管理,大大简化了代码量,提高了...
【Spring3 声明式事务配置】 Spring3 提供了一种更为简洁的方式来配置声明式事务,这使得在处理事务管理时,开发者可以更专注于业务逻辑。声明式事务管理是基于面向切面编程(AOP)的一种实现,它允许开发者通过在...
首先,必须在Spring配置中启用注解装配,通过`<context:annotation-config>`标签实现。 1. Spring自带的`@Autowired` `@Autowired`注解默认执行`byType`自动装配。它可以应用于字段、setter方法、构造器和方法...
- **开始使用Annotation配置Spring**: 从Spring 2.5开始,提供了基于注解的配置方式。 - **@Autowired、@Qualifier**: - **@Autowired**: 自动装配依赖对象。 - **@Qualifier**: 解决多个相同类型的Bean导致的歧义...
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <ref bean="dataSource"></ref> <prop key="hibernate.dialect">org.hibernate.dialect....
3. **Spring 容器配置元信息**:这包括XML配置文件中的`beans`元素,它定义了容器的全局属性,如`default-lazy-init`、`default-autowire`等,这些属性影响整个容器的行为。例如,`default-lazy-init`决定了容器是否...
`autowire`属性可以设置为`byName`、`byType`、`constructor`或`default`,让Spring根据bean的名称、类型或构造器自动查找并注入依赖。 七、Spring与其他技术的集成 Spring支持与各种技术的集成,如JDBC、JMS、...
下面是一个简单的Spring MVC中AOP的例子,分为配置和实现两部分。 ### 配置 1. 在`spring-common.xml`配置文件中,我们需要引入AOP相关的命名空间,并声明一个`<aop:aspectj-autoproxy>`元素。这会告诉Spring容器...
Spring 2.0引入了简化XML配置的特性,例如使用`<beans>`标签的`default-autowire`属性,可以全局设置自动装配策略,减少重复的配置。 - **可扩展的XML编写** Spring 2.0增强了XML配置的扩展性,允许用户自定义...
在本文中,我们将深入探讨Spring配置文件的相关知识点,以及如何有效地使用它们。 1. **XML配置文件** - **基本结构**:Spring的XML配置文件通常以`<beans>`元素作为根元素,其中包含多个`<bean>`元素,每个`...
在Spring框架中,配置文件是应用的核心组成部分,它定义了对象的创建、依赖关系以及其它配置细节。在本文档中,我们将深入探讨Spring配置文件的主要元素和特性。 1. **XML配置基础** - `...
在XML配置中,可以使用`autowire="byName"`开启此功能。 4. **基于注解的自动装配(Annotation-Based Auto-Wiring)**:使用`@Autowired`注解在字段、构造函数、方法或参数级别来指示Spring进行自动装配。默认也是...
- 使用Spring的Transaction管理器来管理Hibernate事务。 - 通过OpenSessionInViewFilter保持会话持续时间,确保事务的一致性。 #### 七、Struts2+Spring+Hibernate整合 **整合要点:** - Struts2作为Web层框架。 -...
网上的东西好大多都不能直接用,自己结合网上资料做了一个Struts2+Spring3+MyBatis3的测试工程,JUnit测试用例和WEB服务。 内涵完整jar包,解压直接可用,包括一个表文件。 Eclipse3.2+Tomcat/5.5+jdk1.5.0_17 - ...
这份名为"spring配置文档[定义].pdf"的资料详细介绍了Spring配置文件的使用方式,帮助开发者理解如何有效地管理Spring容器中的bean。下面将深入探讨其中的关键知识点。 1. **XML配置基础**: - `...
当Spring容器加载XML配置文件时,它会查找`<context:annotation-config>`元素。这个元素的作用是激活Spring对各种注解的支持,包括`@Resource`。这涉及到`ContextNamespaceHandler`,它定义了一系列配置元素的解析器...
- **Annotation介绍**:使用注解的方式可以简化Spring配置文件的编写。 - **关键注解**: - `@Autowired`:自动注入依赖。 - `@Qualifier`:指定注入的具体Bean。 - `@Resource`:根据名称查找并注入依赖。 - `@...
8. **调度任务**:配置定时任务,如使用`<task:annotation-driven>`启用基于注解的任务调度。 9. **视图解析器**:配置视图解析器,如`InternalResourceViewResolver`,用于处理请求转发到指定的视图。 总结,...
SpringBoot MyBatis入门参考: 请在/ resources文件夹中分配一个sql以自动运行,Mapper将在此处,而无需@Autowire 我们可以使用xml / annotation进行配置,这是使用注释/ domain,模型/映射器/ init,自动连线/注入...