`
张玉龙
  • 浏览: 726865 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Spring 依赖注入 构造方法注入

阅读更多
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依赖注入是Spring框架的核心特性之一,它极大地简化了Java应用程序的开发,使得对象之间的依赖关系得以解耦,提高了代码的可测试性和可维护性。本文将深入探讨Spring依赖注入的底层实现机制。 首先,我们要...

    模仿Spring依赖注入

    【Spring依赖注入详解】 在Java开发中,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)功能而闻名。依赖注入是一种设计模式,它允许我们解耦组件,使我们的应用程序更加灵活,易于测试和维护。本篇...

    如何实现Spring依赖注入 AOP.rar

    在Spring框架中,DI主要通过构造器注入、setter方法注入和接口注入三种方式实现。 1. **构造器注入**:通过在类的构造器中传入依赖对象来实现。Spring会根据构造器参数类型找到合适的bean并注入。 ```java public ...

    Spring的依赖注入,与前置通知的实例

    依赖注入的核心思想是将一个对象依赖的其他对象通过构造函数、setter方法或者接口回调等方式传入,而不是由该对象自己创建或查找依赖的对象。这样,对象的职责更加明确,可以专注于自己的业务逻辑,而不是管理依赖。...

    spring依赖注入的几种方式

    Spring 依赖注入的几种方式 依赖注入(Dependency Injection,简称 DI)是一种设计模式,它可以将对象之间的耦合关系降到最低,从而提高系统的灵活性和可维护性。在 Spring 框架中,依赖注入是通过 IoC 容器来实现...

    Java开发学习(六)----DI依赖注入之setter及构造器注入解析.doc

    普通方法(set 方法)、构造方法、引用类型、简单类型(基本数据类型与 String)等。Spring 框架基于这些知识点,为我们提供了两种注入方式:setter 注入和构造器注入。 二、setter 注入 setter 注入是指通过 ...

    Spring 三种依赖注入方式.doc

    Spring 框架中提供了多种依赖注入方式,其中最常用的三种依赖注入方式分别是接口注入、设值注入和构造函数注入。下面,我们将分别对这三种依赖注入方式进行详细的介绍和分析。 一、接口注入 接口注入是指通过接口...

    模拟Spring的依赖注入

    在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)容器。它极大地简化了组件之间的依赖管理,提高了代码的可测试性和可维护性。本篇文章将深入...

    Spring系列之依赖注入的三种方式.docx

    如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的 依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程(将依赖关系注入到对象中) ,spring的依赖注入有3种方式: ...

    Spring依赖注入原理解析.doc

    Spring依赖注入机制,也被称为控制反转(Inversion of Control,IOC),是Spring框架的核心特性,它使得应用程序的组件之间能够实现松散耦合。在传统编程中,对象通常自行创建和管理它们所依赖的其他对象,而在...

    spring依赖注入知识点分享

    Spring 依赖注入知识点分享 在本篇文章中,我们将详细介绍 Spring 依赖注入的知识点,并提供相关的代码内容。 什么是 IoC IoC(Inversion of Control),即控制反转,是一种软件设计模式。它将对象之间的依赖关系...

    Spring.Net依赖注入例子

    2. **依赖注入的方式**:Spring.NET支持构造函数注入、设值注入和接口注入。在上述XML配置中,`CalculatorService`通过设值注入获得了`calculator`属性的依赖。构造函数注入是在对象实例化时通过构造函数传递依赖,...

    spring依赖注入

    Spring依赖注入是Java开发中的核心概念,特别是在使用Spring框架时,它是实现松耦合和可测试性的重要机制。依赖注入(Dependency Injection,简称DI)允许我们解耦组件之间的关系,使得代码更易于维护和扩展。它通过...

    springIOC控制反转 依赖注入实例

    2. setter方法注入:通过setter方法注入依赖对象,Spring容器会在对象创建后调用setter方法,设置依赖对象。 3. 接口注入:Spring提供了一种基于接口的注入方式,但这种方式在实际应用中较为少见,一般更多地使用...

    Spring依赖注入

    Spring依赖注入是Spring框架的核心特性之一,它是一种设计模式,旨在降低组件之间的耦合,提高代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的主要思想是,对象不应该负责查找或创建它所依赖...

    Spring依赖注入的两种方式(根据实例详解)

    Spring依赖注入的两种方式:Set方法注入和构造注入。Set方法注入是通过对象的setter方法来完成依赖关系的设置,而构造注入是通过对象的构造函数来完成依赖关系的设置。两种方式都可以用来实现依赖注入,但是Set方法...

    Spring依赖注入的三种方式实例详解

    Spring依赖注入(Dependency Injection, DI)是Spring框架的核心特性之一,它允许我们解耦组件间的依赖关系,使得代码更加灵活和可测试。本篇将详细解释Spring中的三种依赖注入方式:接口注入、Setter方法注入和构造...

    关于spring boot中几种注入方法的一些个人看法

    @Resource 可以用在方法、属性、类上,通过 CommonAnnotationBeanPostProcessor 类实现依赖注入,与 @Autowired 一致。但可以指定 name 属性来指定 beanName,但如果 name 对应的 bean 不存在,则会抛出异常。 3. @...

    Spring 依赖注入的几种方式详解

    在Spring中,依赖注入可以通过XML配置文件实现,本文将重点介绍两种常见的注入方式:Set注入和构造器注入。 1. Set注入 Set注入是最常见的注入方式,适用于对象没有默认构造函数或构造函数不接受参数的情况。首先,...

Global site tag (gtag.js) - Google Analytics