Java Spring用properties配置数据库连接池出现错误的处理方法[图]

错误

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 17 in XML document from class path resource [db-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 17; columnNumber: 78; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element ‘contest:property-placeholder‘.

保存数据库用户名等信息的properties文件

mysql-username=root
mysql-password=abcd2020
mysql-jdbcUrl=jdbc:mysql://192.168.3.16/beers
mysql-driverClass=com.mysql.jdbc.Driver

Java的测试类

package com.mars.springtest;

import org.junit.Test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.sql.DataSource;
import java.sql.SQLException;

public class BeerTest {
    ConfigurableApplicationContext ioc=new ClassPathXmlApplicationContext("db-config.xml");
    @Test
    public void test() throws SQLException {
       DataSource bean= (DataSource) ioc.getBean("mysql-pool");
        System.out.println(bean.getConnection());
    }
}

出错时的spring的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:contest="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <contest:property-placeholder location="classpath:db-config.properties"/>
    <bean id="mysql-pool" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${mysql-username}"></property>
        <property name="password" value="${mysql-password}"></property>
        <property name="jdbcUrl" value="${mysql-jdbcUrl}"></property>
        <property name="driverClass" value="${mysql-driverClass}"></property>
    </bean>
</beans>

更正之后的spring的配置文件。注意红色的两行默认是没有,加上这两行就Ok了

<?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:contest="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">

    <contest:property-placeholder location="classpath:db-config.properties"/>
    <bean id="mysql-pool" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${mysql-username}"></property>
        <property name="password" value="${mysql-password}"></property>
        <property name="jdbcUrl" value="${mysql-jdbcUrl}"></property>
        <property name="driverClass" value="${mysql-driverClass}"></property>
    </bean>
</beans>

后记

2020年2月21日 农历正月2020年正月二八 星期五 凌晨3点 上海 晴

原文地址:https://www.cnblogs.com/majestyking/p/12340028.html

时间: 2024-08-29 20:32:12

Java Spring用properties配置数据库连接池出现错误的处理方法[图]的相关文章

Spring Boot [使用 Druid 数据库连接池]

导读 最近一段时间比较忙,以至于很久没有更新Spring Boot系列文章,恰好最近用到Druid, 就将Spring Boot 使用 Druid作为数据源做一个简单的介绍. Druid介绍: Druid是阿里巴巴开源的数据库连接池,Druid号称是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能,Druid的官方地址 了解更多: JDBC连接池.监控组件 Druid (oschina) 快速上手: 下面来说明如何在 spring Boot 中配置使用Druid ,本例使用的持

springboot配置数据库连接池druid、整合mybatis、整合pagehelper

springboot配置数据库连接池druid druid所需pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <dependency> <groupId>o

玩转spring boot——properties配置

前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连接,若有一处配错或遗漏,就会带来不可挽回的损失.正因为这样,spring boot给出了非常理想的解决方案——application.properties.见application-properties的官方文档:http://docs.spring.io/spring-boot/docs/curr

项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库

作者:泥沙砖瓦浆木匠 个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 如果我的帮到了你,是否乐意捐助一下或请一杯啤酒也好呢?有你支持,干的更好~ 点这参与众筹 我的支付宝:13958686678 一. 前言 泥瓦匠又和大家见面了,最近两天我在Code Review ,顺便代码小小的Refactoring(重构)下.先了解这个项目吧,这次解决的是数据源配置优化.因为这web项目中配置数据源的地方很多.例如JDBC要配置数据源,Mybatis要配置数据源,Quartz定时任务要配

Tomcat配置数据库连接池

上篇博文中记录了使用数据库连接池的重要性和如何用java代码自己写一个连接池,网上查了一番 发现原来像tomcat这种服务器自带了连接池,可以通过配置文件直接使用,下面来介绍一下使用方法. 本例为myeclipse+tomcat7.0+sqlserver2008配置数据库连接池 具体步骤: 1. 在server.xml中设置数据源,以sql server 2008数据库为例,如下: 在<GlobalNamingResources> </GlobalNamingResources>节

配置数据库连接池的技巧

对于对性能要求较高的企业级应用来说用JDBC连接数据库的方式一般满足不了要求,这时就要用到数据库连接池了.对于连接池应该并不陌生吧,你可以学习JAVA基础教程了解. 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏.这项技术能明显提高对数据库操作的性能. 配置数据库连接池的两种方法 Tomcat服务器配置步骤: 1.把下面这段代码粘贴D:\apa

项目经验——jboss 配置数据库连接池

数据库的连接和关闭是非常消耗系统资源的,在多层结构的应用环境中,这种资源消耗又直接的反映到系统性能上来.在项目实际应用中,最常用的解决方案便是建立数据库连接池. 一.数据库连接池基本原理 当程序启动时,系统主动建立出足够的数据库连接,并将这些连接组成一个连接池.每次应用程序请求数据库连接时,无需重新建立,直接从链接池中获取已建立连接.使用完毕后,无需关闭,直接归还给数据库连接池,以备其他程序调用.通过连接池,大大提高了程序运行效率. 二 .数据库连接池常用参数 连接池初始连接数 连接池最大连接数

Spring配置-数据库连接池proxool[转]

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问题提出来的. 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏.这项技术能明显提高对数据库操作的性能. 数据库连接池在初始化时将创建一定数量的数据库连接放

Spring配置数据库连接池Druid

连接池原理 连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象.使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用.而连接的建立.断开都由连接池自身来管理.同时,还可以通过设置连接池的参数来控制连接池中的初始连接数.连接的上下限数以及每个连接的最大使用次数.最大空闲时间等等,也可以通过其自身的管理机制来监视数据库连接的数量.使用情况等. 常用数据库连接池及特