`

用spring的beans配置mysql数据库

    博客分类:
  • java
阅读更多
  今天很兴奋,因为我用spring的beans配置mysql数据库,竟然能用了。下面我用自己写的小项目说一下自己是怎么配置的。
   先说下准备工作,需要下个spring包有:spring-framework-3.1.1.RELEASE-with-docs.zip
   mysql数据库的驱动包:mysql-connector-java-5.1.18.zip
   用mvc模式写本项目:
   配置beans.xml

  
<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="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
        <property name="url" value="jdbc:mysql://localhost:3306/databaseName" />  
        <property name="username" value="root" />  
        <property name="password" value="1234"/>  
    </bean>  

	<bean id="dbHome" class="com.DBHome">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    
</beans>


     用一个servlet初始化这个beans,然后用单例模式控制使整个项目用一个bean工厂:
    
    
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.*;
import org.springframework.core.io.*;


public class InitServlet extends HttpServlet {

	public static Resource res = null;
	public static BeanFactory factory = null;
	public InitServlet() {
		super();
	}
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	@SuppressWarnings("deprecation")
	public void init() throws ServletException {
		if(res==null)
			res = new ClassPathResource("/com/beans.xml");
		if(factory==null)
			factory = new XmlBeanFactory(res);	    
	}

}

   
    下面就是mvc模式中的m了,这是我随便写的一个测试类:
    
    
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.springframework.jdbc.datasource.DriverManagerDataSource;


public class DBHome {
	public DriverManagerDataSource database = null;
	public DBHome() {
	}
	public DBHome(DriverManagerDataSource database) {
System.out.println("++++++++++++");
		this.setDataSource(database); 
	}
	public void setDataSource(DriverManagerDataSource database){ //注意这个必须要写这个set方法,这个方法起名是有要求的:set+在beans里面database映射到DBHome里面的名字(首字母要变大写),也就是setDataSource。这样写,beans会自动找到这个方法,然后给DriverManagerDataSource database赋值。
		this.database = database; 
	}
	public void test(){
		Connection conn=null;
		 try {
			conn =database.getConnection();
			Statement s =conn.createStatement();
			ResultSet res =s.executeQuery("select * from userTable");
			while(res.next()){
				System.out.println(res.getString(2));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


   然后是mvc中的c了,他要用到DBHome类,应该从beans里面取,该怎么取呢?看下面:

   
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



public class UserServlet extends HttpServlet {

	public DBHome home = (DBHome)InitServlet.factory.getBean("dbHome");//从beans里面取生成的对象。
	public UserServlet() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		home.test();
	}

}


   输出结果:xiaoming
             xiaohong
   当然没写v的部分,在这简单的写了一下spring怎么通过beans配置数据库,通过beans怎么实例化配置在beans里面的类的对象。
分享到:
评论

相关推荐

    Spring连数据库所需jar包

    Spring连数据库所需jar包,包括aopalliance-1.0.jar;aspectjweaver-1.6.8.jar;c3p0-0.9.5.4.jar com.springsource.net.sf.cglib-2.2.0.jar commons-logging-1.1.3.jar mysql-connector-java-5.1.8.jar spring-aop-...

    SSI实例(源码+mysql数据库+部署)

    SSI实例(源码+数据库+部署说明),数据库使用连接池,自己编写的搭建框架的代码,包含登录,增删改查,包含jar包: commons-dbcp.jar ibatis-2.3.0.677.jar mysql-connector-java-5.1.13.jar spring-aop-3.2.1....

    spring3+mybatis3+mysql全部包

    Spring3: org.springframework.aop-3.1.0.RELEASE.jar ...MySql数据库驱动jar: mysql-connector-java-5.0.4-bin.jar 其他jar: commons-logging-1.0.4.jar log4j-1.2.9.jar portlet-api-2.0.jar

    springjdbc

    -- 数据库配置 --&gt; &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p=...

    Spring MVC 入门实例

    这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring...

    基于框架的Web开发-使用springJDBC入门.doc

    (1) spring框架中(4.3.3):oap、beans、context、core、expression、tx(事务)、test(测试)、jdbc (2) 日志:commens-logging (4) dbcp数据源:commons-dbcp、commons-pool (5) junit: junit、hamcrest (6) ...

    javaweb项目数据库操作需要的相关jar包

    MYSQL数据库驱动:mysql-connector-java-5.1.37-bin.jar commons-logging-1.2.jar spring-tx-5.0.0.RELEASE.jar spring-jdbc-5.0.0.RELEASE.jar spring-core-5.0.0.RELEASE.jar spring-beans-5.0.0.RELEASE.jar ...

    Spring3+Hibernate4+Struts2 jar包 SSH框架

    spring-beans-3.2.0.RC2.jar spring-context-3.2.0.RC2.jar spring-context-support-3.2.0.RC2.jar spring-core-3.2.0.RC2.jar spring-expression-3.2.0.RC2.jar spring-jdbc-3.2.0.RC2.jar spring-orm-3.2.0.RC2....

    SSH+Mysql整合开发Bookshop网上书店,适合毕业设计和学习使用

    采用Spring2.5.6,Struts 1.3.10和Hibernate 3.2.5框架整合开发,数据库采用Mysql,工程包含项目源码和Mysql脚本,在配置文件beans.xml中修改数据库用户名和密码,执行sql脚本即可运行,非常适合毕业设计和学习使用...

    spring_MVC源码

    先在数据库建表,例子用的是mysql数据库 [java] view plaincopy 01.CREATE TABLE `test`.`student` ( 02. `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 03. `name` varchar(45) NOT NULL, 04. `psw` ...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    ssh(structs,spring,hibernate)框架中的上传下载

     本文选用的数据库为Oracle 9i,当然你可以在不改动代码的情况下,通过配置文件的调整将其移植到任何具有Blob字段类型的数据库上,如MySQL,SQLServer等。  总体实现  上传文件保存到T_FILE表中,T_FILE表结构...

    《MyEclipse 6 Java 开发中文教程》前10章

    4.2.15建立到MySQL数据库的连接 81 4.3小结 82 4.4参考资料 82 第五章 开发JDBC应用 83 5.1系统需求 83 5.2创建数据库表格 83 5.3创建Java项目 84 5.4添加JDBC驱动到Build Path 85 5.5编写JDBC访问类 85 5.6小结 89 ...

    spring-hibernate-liquibase-mysql-template:初始提交

    persistense-beans.xml - 用于数据库访问的持久相关 bean 配置 project-beans.xml - 项目相关的 bean 配置 security-beans.xml - Spring Security 相关的 bean 配置 liquibase 配置 - 用于数据库的增量迁移 域、dao...

    基于Spring Boot的校园食堂订餐系统的设计与实现.doc

    校园食堂订餐系统,是将计算机、通信等现代化技术...使用MySQL数据库存储技术进行开发。最后完成了系统测试工作和调试工作,满足了校园食堂订餐系统的要求。 最后,对课题工作进行了总结,并对未来研究工作给予了展望。

    基于SpringMVC+Hibernate4的考勤管理系统+.zip

    spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具...

    基于最新的Java 21和SpringBoot 3.2 根据eladmin项目进行改造+源代码+文档说明

    该方式针对MySQL数据库。对系统侵入性小。(只需引入依赖,并在yaml中配置数据源信息即可) [unicorn-starter](https://github.com/lWoHvYe/unicorn-starter)。 - 整合Redisson拓展Redis的功能,读写分离 - 整合...

    图书商城 后台语言: Java

    在mysql中建立名为uushop的数据库,导入目录下的uushop.sql 修改src/META-INF/persistence.xml中的数据库连接信息 所需要的JAR包在 我的网盘 修改src\com\liaoyu\utils\EmailSender.java文件中的邮件配置信息 ...

    积分java源码-Dentist:Spring(MVC+安全)+Hibernate4

    数据库:MySQL  主机:Godaddy VPS 注意:请参阅 maven pom.xml 以了解我在项目中使用的库的确切版本。 需要了解的事情 Spring Framework 4 概念的基本知识,如 Core、Context、Beans、MVC、Mail 和 Security。我...

Global site tag (gtag.js) - Google Analytics