spring学习笔记二:spring使用构造方法注入(set方式注入)
项目目录树:

1、spring的依赖包配置
* SPRING_HOME/dist/spring.jar
* SPRING_HOME/lib/log4j/log4j-1.2.14.jar
* SPRING_HOME/lib/jakarta-commons/commons-logging.jar
2、提供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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="userManagerImpl" class="com.donghai.manager.impl.UserManagerImpl">
<!-- 使用set方式注入
<property name="userDao" ref="userDao4Mysql"></property>
-->
<!-- 使用构造方法注入 -->
<constructor-arg index="0" ref="userDao4Oracle" />
</bean> <bean id="userDao4Mysql" class="com.donghai.dao.impl.UserDao4Mysql" />
<bean id="userDao4Oracle" class="com.donghai.dao.impl.UserDao4Oracle" />
</beans>
3、提供log4j.properties配置文件
4.环境中的类文件
UserDao.java
package com.donghai.dao;
public interface UserDao {
public void addUser(String name, String password);
}
UserDao4Mysql.java
package com.donghai.dao.impl;
import com.donghai.dao.UserDao;
public class UserDao4Mysql implements UserDao {
@Override
public void addUser(String name, String password) {
System.out.println("UserDao-->Mysql: name -->" + name + " password-->" + password);
}
}
UserDao4Oracle.java
package com.donghai.dao.impl;
import com.donghai.dao.UserDao;
public class UserDao4Oracle implements UserDao {
@Override
public void addUser(String name, String password) {
System.out.println("UserDao-->Oracle: name -->" + name + " password-->" + password);
}
}
UserManager.java
package com.donghai.manager;
public interface UserManager {
public void addUser(String name, String password);
}
UserManagerImpl.java
package com.donghai.manager.impl; import com.donghai.dao.UserDao;
import com.donghai.manager.UserManager; public class UserManagerImpl implements UserManager { private UserDao userDao; // public void setUserDao(UserDao userDao) {
// this.userDao = userDao;
// } public UserManagerImpl(UserDao userDao){
this.userDao = userDao;
}
@Override
public void addUser(String name, String password) {
this.userDao.addUser(name, password); } }
Client.java
package com.donghai.client; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.donghai.manager.UserManager; public class Client { public static void main(String[] args){
ApplicationContext acc = new ClassPathXmlApplicationContext("applicationContext.xml");
UserManager um = (UserManager)acc.getBean("userManagerImpl");
um.addUser("daidonghai", "ddpassword");
}
}
5.测试结果

如果想使用UserDao4Mysql,修改ApplicationContext.xml文件中的引用即可
spring学习笔记二:spring使用构造方法注入(set方式注入)的更多相关文章
- 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- Spring学习笔记之 Spring IOC容器(二) 之注入参数值,自动组件扫描方式,控制Bean实例化方式,使用注解方式
本节主要内容: 1. 给MessageBean注入参数值 2. 测试Spring自动组件扫描方式 3. 如何控制ExampleBean实例化方式 4. 使用注解方式重构Jdb ...
- spring学习笔记(一) Spring概述
博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书. 强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...
- Java架构师之路 Spring学习笔记(一) Spring介绍
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...
- Spring学习笔记二:注入方式
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6774608.html 我们说,IOC的实现方式是依赖注入,也就是把被依赖对象赋值到依赖对象的成员属性.怎么做 ...
- Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入
本节主要内容: 1.实例化Spring容器示例 2.利用Spring容器创建JavaBean对象 3.如何控制Bean实例化 4.利用Spring实现bean属性sett ...
- Spring学习笔记(6)——IoC的三种注入方式
1.接口注入(不推荐) 2.构造器注入(死的应用) 3.getter,setter方式注入(比较常用) Type1 接口注入 我们常常借助接口来将调用者与实现者分离.如: public class C ...
- Spring 学习笔记(2) Spring Bean
一.IoC 容器 IoC 容器是 Spring 的核心,Spring 通过 IoC 容器来管理对象的实例化和初始化(这些对象就是 Spring Bean),以及对象从创建到销毁的整个生命周期.也就是管 ...
随机推荐
- 解析java实体类
对java实体类的众多理解: A .就是属性类,通常定义在model层里面 B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段. 好处: 1.对对象实体的封装,体现OO思想. 2.属性可以 ...
- $_SESSION $_COOKIE
$_SESSION是临时会话变量,用来储存访问者信息.内容是储存在服务器上面的.比如 $_SESSION["ABC"] = "aaa";那么这个用户访问时,$_ ...
- drf框架知识点总复习
接口 """ 1.什么是接口:url+请求参数+响应数据 | 接口文档 2.接口规范: url:https,api,资源(名词复数), v1,get|post表示操作资源 ...
- RL78 RAM GUARD Funtion
1.段设置 在Section段增加 My_ProtectRAM_n段, 段地址为RAM起始地址+256字节 2.变量定义 #pragma section bss My_ProtectRAM/*My_P ...
- jackson解析处理JSON
package com.ruoyi.common.json; import java.io.File; import java.io.IOException; import java.io.Input ...
- python实现XML解析的三种方法
python实现XML解析的三种方法 三种方法:一是xml.dom.*模块,它是W3C DOM API的实现,若需要处理DOM API则该模块很适合:二是xml.sax.*模块,它是SAX API的实 ...
- android viewgrop(实现了事件监听/手动滑动)
package com.example.myviewgroup; import android.content.Context;import android.os.Handler;import and ...
- android searchview 简单使用
设置样式 drawable bg_search/xml android:background="@drawable/bg_search" <shape xmlns:andro ...
- WPS隐藏文档修订显示的方法
- vim的背景配置
1.vim背景颜色的配置 在usr/share/vim/vim74/colors 目录下有可以配置的颜色方案,可以查看: 命令:vim/etc/vimrc 打开vim的配置文件, 在最后加入一 ...