applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<bean id="Oracle" class="com.zyl.dao.UserOraDAO" />
<bean id="Sql" class="com.zyl.dao.UserSqlDAO" />
<bean id="User" class="com.zyl.manager.UserMessageImpl">
<!-- <constructor-arg ref="Oracle"/>-->
<property name="userDao" ref="Oracle" />
</bean>
</beans>
----------------------------------------------
package com.zyl.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zyl.dao.UserSqlDAO;
import com.zyl.dao.UserOraDAO;
import com.zyl.manager.UserMessage;
import com.zyl.manager.UserMessageImpl;
public class TestMain {
public static void main(String[] args) {
/*UserMessage user = new UserMessageImpl(new UserSqlDAO());
user.save("zyl", "123");*/
BeanFactory factory= new ClassPathXmlApplicationContext("applicationContext.xml");
UserMessage user =(UserMessage)factory.getBean("User");
user.save("zyl","123");
}
}
----------------------------------
package com.zyl.manager;
public interface UserMessage {
public void save(String username, String password);
}
-----------------
package com.zyl.manager;
import com.zyl.dao.UserDAO;
import com.zyl.dao.UserSqlDAO;
public class UserMessageImpl implements UserMessage {
private UserDAO userDao;
/* public UserMessageImpl(UserDAO userDao) {
this.userDao=userDao;
}*/
public void save(String username, String password) {
this.userDao.show(username,password);
}
public void setUserDao(UserDAO userDao){
this.userDao=userDao;
}
}
---------------------------------------
package com.zyl.dao;
public interface UserDAO {
public void show(String username, String password);
}
----------------
package com.zyl.dao;
public class UserOraDAO implements UserDAO {
public void show(String username, String password) {
System.out.println("Oracle"+username+password);
}
}
----------------
package com.zyl.dao;
public class UserSqlDAO implements UserDAO {
public void show(String username, String password) {
System.out.println("Sql"+username+password);
}
}
------------------------------------
分享到:
相关推荐
Spring依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...
【Spring依赖注入详解】 在Java开发中,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)功能而闻名。依赖注入是一种设计模式,它允许我们解耦组件,使我们的应用程序更加灵活,易于测试和维护。本篇...
在Spring框架中,DI主要通过构造器注入、setter方法注入和接口注入三种方式实现。 1. **构造器注入**:通过在类的构造器中传入依赖对象来实现。Spring会根据构造器参数类型找到合适的bean并注入。 ```java public ...
依赖注入的核心思想是将一个对象依赖的其他对象通过构造函数、setter方法或者接口回调等方式传入,而不是由该对象自己创建或查找依赖的对象。这样,对象的职责更加明确,可以专注于自己的业务逻辑,而不是管理依赖。...
Spring 依赖注入的几种方式 依赖注入(Dependency Injection,简称 DI)是一种设计模式,它可以将对象之间的耦合关系降到最低,从而提高系统的灵活性和可维护性。在 Spring 框架中,依赖注入是通过 IoC 容器来实现...
普通方法(set 方法)、构造方法、引用类型、简单类型(基本数据类型与 String)等。Spring 框架基于这些知识点,为我们提供了两种注入方式:setter 注入和构造器注入。 二、setter 注入 setter 注入是指通过 ...
Spring 框架中提供了多种依赖注入方式,其中最常用的三种依赖注入方式分别是接口注入、设值注入和构造函数注入。下面,我们将分别对这三种依赖注入方式进行详细的介绍和分析。 一、接口注入 接口注入是指通过接口...
在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)容器。它极大地简化了组件之间的依赖管理,提高了代码的可测试性和可维护性。本篇文章将深入...
如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的 依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程(将依赖关系注入到对象中) ,spring的依赖注入有3种方式: ...
Spring依赖注入机制,也被称为控制反转(Inversion of Control,IOC),是Spring框架的核心特性,它使得应用程序的组件之间能够实现松散耦合。在传统编程中,对象通常自行创建和管理它们所依赖的其他对象,而在...
Spring 依赖注入知识点分享 在本篇文章中,我们将详细介绍 Spring 依赖注入的知识点,并提供相关的代码内容。 什么是 IoC IoC(Inversion of Control),即控制反转,是一种软件设计模式。它将对象之间的依赖关系...
2. **依赖注入的方式**:Spring.NET支持构造函数注入、设值注入和接口注入。在上述XML配置中,`CalculatorService`通过设值注入获得了`calculator`属性的依赖。构造函数注入是在对象实例化时通过构造函数传递依赖,...
Spring依赖注入是Java开发中的核心概念,特别是在使用Spring框架时,它是实现松耦合和可测试性的重要机制。依赖注入(Dependency Injection,简称DI)允许我们解耦组件之间的关系,使得代码更易于维护和扩展。它通过...
2. setter方法注入:通过setter方法注入依赖对象,Spring容器会在对象创建后调用setter方法,设置依赖对象。 3. 接口注入:Spring提供了一种基于接口的注入方式,但这种方式在实际应用中较为少见,一般更多地使用...
Spring依赖注入是Spring框架的核心特性之一,它是一种设计模式,旨在降低组件之间的耦合,提高代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的主要思想是,对象不应该负责查找或创建它所依赖...
Spring依赖注入的两种方式:Set方法注入和构造注入。Set方法注入是通过对象的setter方法来完成依赖关系的设置,而构造注入是通过对象的构造函数来完成依赖关系的设置。两种方式都可以用来实现依赖注入,但是Set方法...
Spring依赖注入(Dependency Injection, DI)是Spring框架的核心特性之一,它允许我们解耦组件间的依赖关系,使得代码更加灵活和可测试。本篇将详细解释Spring中的三种依赖注入方式:接口注入、Setter方法注入和构造...
@Resource 可以用在方法、属性、类上,通过 CommonAnnotationBeanPostProcessor 类实现依赖注入,与 @Autowired 一致。但可以指定 name 属性来指定 beanName,但如果 name 对应的 bean 不存在,则会抛出异常。 3. @...
在Spring中,依赖注入可以通过XML配置文件实现,本文将重点介绍两种常见的注入方式:Set注入和构造器注入。 1. Set注入 Set注入是最常见的注入方式,适用于对象没有默认构造函数或构造函数不接受参数的情况。首先,...