利用SPring实现bean属性setter方式注入
来源:互联网 发布:linux shell wait 编辑:程序博客网 时间:2024/06/09 16:40
.问题
JDBCDataSource类封装了管理数据库连接的方法getConnection(),这个方法在执行之前需要数据库连接参数:数据库驱动、连接URL、用户名和密码。
利用Spring实现JDBCDataSource对象的创建,再使用setter注入的方式将数据库连接参数注入给JDBCDataSource。这样就可以正常的调用getConnection()方法获得数据库连接了。
.方案
利用Spring配置文件applicationcontext.xml配置bean,并且setter参数注入JDBCDataSource的连接参数,这样Spring在创建JDBCDataSource对象以后就会自动化的调用setter方法注入数据库连接参数。applicationcontext.xml配置bean参考代码如下:<!--setter注入--><bean id="datasource" class="org.fwq.dao.JDBCDataSource"> <property name="driver" value="org.gjt.mm.mysql.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8"/> <property name="user" value="root"/> <property name="pwd" value="root"/></bean>将driver、url、user、pwd注入到Spring的bean
.步骤
步骤一:新建类(JDBCDataSource),导入jar包(mysql jdbc driver)JDBCDataSource类的源码如下:package org.fwq.dao;import java.io.Serializable;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JDBCDataSource implements Serializable { private String driver; private String url; private String user; private String pwd; public String getDriver() { return driver; } public void setDriver(String driver) { try { Class.forName(driver);//注册数据库驱动 this.driver = driver; } catch (ClassNotFoundException e) { e.printStackTrace(); } } public void setUrl(String url) { this.url = url; } public String getUrl() { return url; } public void setUser(String user) { this.user = user; } public String getUser() { return user; } public void setPwd(String pwd) { this.pwd = pwd; } public String getPwd() { return pwd; } public Connection getConnection() throws SQLException { Connection conn = DriverManager.getConnection(url, user, pwd); return conn; } public void close(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }}新添加一个测试类Test3和测试方法testJDBCDataSource()package com.spring;import org.fwq.dao.JDBCDataSource;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import java.sql.Connection;public class Test3 { @Test public void testJDBCDataSource() throws Exception { //实例化Spring容器示例 String config = "applicationcontext.xml"; ApplicationContext ac = new ClassPathXmlApplicationContext(config); //获取JDBCDataSource对象 JDBCDataSource jd = ac.getBean("datasource", JDBCDataSource.class); Connection conn = jd.getConnection(); System.out.println(conn); }}如果运行出现下面结果,那就说明setter注入成功了!
阅读全文
1 0
- 利用SPring实现bean属性setter方式注入
- Spring连接数据库的方式1:利用Spring实现bean属性setter方式注入
- spring bean setter属性注入
- spring bean setter属性注入
- Spring bean属性注入(Setter 方法)
- spring setter属性注入
- spring setter 方式注入
- (4) 利用 Setter方式实现 【第一种方式】 依赖注入,编码剖析Spring依赖注入的原理
- (3) 利用 Setter方式实现 【第一种方式】 依赖注入,编码剖析Spring依赖注入的原理
- Spring注入方式一:setter 方法注入
- [Spring] 注入Bean属性
- spring in action 学习笔记(六)通过setter注入bean属性
- Spring bean注入方式
- Spring中Bean属性为集合的注入方式
- spring给bean注入属性的三种方式
- 利用setter 方法 查看bean 是否被注入
- spring注入bean两种方式(属性注入,构造器注入)
- Spring bean 注解方式注入
- js : nice explain of || and &&
- Your STATICFILES_DIRS setting is not a tuple or list
- 第十一周项目三
- 金融库QuantLib中最优化求解方程Simplex用法--例子
- 一个form多个submit,提交不同的地址
- 利用SPring实现bean属性setter方式注入
- angular js 简单购物车(08)
- 第十三周项目2二叉树排序树中查找的路径
- XRecyclerView的多条目加载(banner+列表)
- CDH 系统优化之关闭透明大页面及设置swappiness
- Java 后台做图片压缩的两种方法
- 关于angularjs的绑定事件
- Swiper
- 深度学习中Batch size对训练效果的影响