java读取mysql 写入xml文件_spring mvc 读取xml文件数据库配置参数的方法

本文详述如何在Spring MVC项目中利用ApplicationContext从XML文件读取数据库配置,包括属性注入和构造器注入两种方法,适用于SQL Server 2008数据库。
摘要由CSDN通过智能技术生成

本文主要介绍怎么通过属性注入与构造器注入实现把我们项目中要用到的数据库参数放到xml文件里面去,方便部署。

spring mvc 4.2.6项目

SQL Server 2008数据库

本文介绍的主要使用ApplicationContext以及其实现类实现。主要用到的是ClassPathXmlApplicationContext。

ClassPathXmlApplicationContext:从类路径ClassPath中寻找指定的XML配置文件,找到并装载

完成ApplicationContext的实例化工作。例如:

//装载单个配置文件实例化ApplicationContext容器

ApplicationContext cxt = new ClassPathXmlApplicationContext

("applicationContext.xml");

//装载多个配置文件实例化ApplicationContext容器

String[] configs = {"bean1.xml","bean2.xml","bean3.xml"};

ApplicationContext cxt = new ClassPathXmlApplicationContext(configs);

下面是具体步骤:

一、属性注入

属性注入即通过 setAttribute 方法注入Bean 的属性值或依赖的对象。属性注入使用 元素, 使用 name 属性指定 Bean 的属性名称,value 属性或 子节点指定属性值。

1、创建一个bean类DBParaProperty

package com;

public class DBParaProperty {

//jdbc sqlserver 驱动类

String sqlServerDriverClassName;

//sqlserver 连接地址

String sqlServerUrl;

//sqlserver 用户名

String sqlServerUserName;

//sqlserver 密码

String sqlServerPassword;

public String getSqlServerDriverClassName(){

return this.sqlServerDriverClassName;

}

public void setSqlServerDriverClassName(String sqlServerDriverClassName){

this.sqlServerDriverClassName = sqlServerDriverClassName;

}

public String getSqlServerUrl(){

return this.sqlServerUrl;

}

public void setSqlServerUrl(String sqlServerUrl){

this.sqlServerUrl = sqlServerUrl;

}

public String getSqlServerUserName(){

return this.sqlServerUserName;

}

public void setSqlServerUserName(String sqlServerUserName){

this.sqlServerUserName = sqlServerUserName;

}

public String getSqlServerPassword(){

return this.sqlServerPassword;

}

public void setSqlServerPassword(String sqlServerPassword){

this.sqlServerPassword = sqlServerPassword;

}

}

2、创建一个xml文件

f1764f78ee8e51793a7bddeede8326b8.png

文件内容如下

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.xsd">

3、在Controller中使用

package test;

import com.DBParaConstructor;

import com.DBParaProperty;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

@Controller

@RequestMapping("/test2")

public class test2 {

@RequestMapping("/test")

@ResponseBody

public Object test2() {

//如果xml文件在src下面的话,直接写文件名就行

ApplicationContext cpxac = new ClassPathXmlApplicationContext("DBParaProperty.xml");

//根据bean节点的标识获取对象,id

DBParaProperty dbParaProperty = (DBParaProperty) cpxac.getBean("DBParaProperty");

System.out.println(dbParaProperty.getSqlServerUserName());

return dbParaProperty.getSqlServerUserName();

}

}

二、构造器注入

通过构造方法注入Bean 的属性值或依赖的对象,它保证了 Bean 实例在实例化后就可以使用。构造器注入在 元素里声明属性。

步骤如下:

1、创建DBParaConstructor类

package com;

public class DBParaConstructor {

//jdbc sqlserver 驱动类

public String sqlServerDriverClassName;

//sqlserver 连接地址

public String sqlServerUrl;

//sqlserver 用户名

public String sqlServerUserName;

//sqlserver 密码

public String sqlServerPassword;

public DBParaConstructor(){}

public DBParaConstructor(String sqlServerDriverClassName,String sqlServerUrl,String sqlServerUserName,String sqlServerPassword){

this.sqlServerDriverClassName = sqlServerDriverClassName;

this.sqlServerUrl = sqlServerUrl;

this.sqlServerUserName = sqlServerUserName;

this.sqlServerPassword = sqlServerPassword;

}

}

2、在src下面的文件夹test下创建一个xml文件。

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.xsd">

3、在Controller中使用

package test;

import com.DBParaConstructor;

import com.DBParaProperty;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

@Controller

@RequestMapping("/test2")

public class test2 {

@RequestMapping("/test")

@ResponseBody

public Object test2() {

ApplicationContext cpxac = new ClassPathXmlApplicationContext("DBParaProperty.xml");

DBParaProperty dbParaProperty = (DBParaProperty) cpxac.getBean("DBParaProperty");

System.out.println(dbParaProperty.getSqlServerUserName());

ApplicationContext acc = new ClassPathXmlApplicationContext("/test/DBParaConstructor.xml");

DBParaConstructor dbParaConstructor = (DBParaConstructor)acc.getBean("DBParaConstructor");

System.out.println(dbParaConstructor.sqlServerUserName);

return dbParaProperty.getSqlServerUserName()+"*****"+dbParaConstructor.sqlServerUserName;

}

}

项目目录如下:

8be6054be3e99508b7096c12e1de3723.png

关于那个路径的,Java会把java文件编译成.class文件放到classes目录下,这个也是项目Java代码运行的根目录。所以当你把xml文件放在src下面的时候,可以直接写文件名就可以找到了,但是如果你把它放在其他的目录下面了,要把路径写好,例如:/test/xxx.xml。

以上这篇spring mvc 读取xml文件数据库配置参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值