SpringMVC数据库链接池,以及其他相关配置
1.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:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="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/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 扫描的包 -->
<!-- <context:component-scan base-package="app04"/> -->
<!-- 使用转换器 -->
<!--<mvc:annotation-driven conversion-service="conversionService"/>-->
<!-- 使用格式化 -->
<!-- conversionService2 -->
<!-- <mvc:annotation-driven conversion-service="conversionService2"/> --> <!-- 使用注册器替代格式化 -->
<!-- <mvc:annotation-driven />意思是开启使用注释的功能-->
<!-- conversionService3是格式化或者转换器 -->
<!-- <mvc:annotation-driven conversion-service="conversionService3"/> --> <!-- 扫描的包 -->
<context:component-scan base-package="sfk.bbs.test.testSpringMVCConfig.action"/>
<!-- 这个的作用是让DispatcherServlet不将下列路径理解为一个request请求,
在项目中,这个是必须的,如果没有加这些就可能造成上述问题 -->
<mvc:annotation-driven />
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/*.html" location="/"/> <!-- 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 读取配置文件信息,在Spring的配置文件中使用EL表达式填充值 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置数据库连接池 -->
<bean id="dataSourceLocal" name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 指定连接数据库的驱动-->
<property name="driverClass" value="${jdbc.driverClassName}"/>
<!-- 指定连接数据库的URL-->
<property name="jdbcUrl" value="${jdbc.url}"/>
<!-- 指定连接数据库的用户名-->
<property name="user" value="${jdbc.username}"/>
<!-- 指定连接数据库的密码-->
<property name="password" value="${jdbc.password}"/>
<!-- 指定连接池中保留的最大连接数. Default:15-->
<property name="maxPoolSize" value="${jdbc.maxPoolSize}"/>
<!-- 指定连接池中保留的最小连接数-->
<property name="minPoolSize" value="${jdbc.minPoolSize}"/>
<!-- 指定连接池的初始化连接数 取值应在minPoolSize 与 maxPoolSize 之间.Default:3-->
<property name="initialPoolSize" value="${jdbc.initialPoolSize}"/>
<!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。 Default:0-->
<property name="maxIdleTime" value="${jdbc.maxIdleTime}"/>
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数. Default:3-->
<property name="acquireIncrement" value="${jdbc.acquireIncrement}"/>
<!-- JDBC的标准,用以控制数据源内加载的PreparedStatements数量。
但由于预缓存的statements属于单个connection而不是整个连接池所以设置这个参数需要考虑到多方面的因数.如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default:0-->
<property name="maxStatements" value="${jdbc.maxStatements}"/>
<!-- 每60秒检查所有连接池中的空闲连接.Default:0 -->
<property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}"/>
</bean> <!-- <bean id="dataSourceLocal" name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
制定连接数据库的驱动
<property name="driverClass" value="${jdbc.driverClassName}" />
制定连接数据库的URL
<property name="jdbcUrl" value="${jdbc.url}" />
指定连接数据库的用户名
<property name="user" value="${jdbc.username}" />
指定数据库的密码
<property name="password" value="${jdbc.password}"/>
指定连接池中保留的最大连接数 default:15
<property name="maxPoolSize" value="${jdbc.maxPoolSize}"/>
指定连接池中保留的最小连接数
<property name="minPoolSize" value="${jdbc.minPoolSize}" />
指定连接池的初始化连接数 取值应在minPoolSize 与MaxPoolSize之间,Default:3
<property name="initialPoolSize" value="${jdbc.initialPoolSize}"/>
最大空闲时间,60秒内未使用连接被丢弃,若为0则永不丢弃,Default:0
<property name="maxIdleTime" value="${jdbc.maxIdleTime}"/>
当连接池中的连接耗尽的时候c3p0一次同时获取的连接数. default: 3
<property name="acquireIncrement" value="${jdbc.acquireIncrement}" />
JDBC的标准,用以控制数据源内加载的prepareedStatement数量.但是由于预缓存的statements
属于单个connection而不是整个连接池所以色绘制这个参数需要考虑到多方面的因素,如果maxStatements
与maxStatementsPerConnection均为0,则缓存被关闭,Default:0
<property name="maxStatements" value="${jdbc.maxStatements}"/>
每60秒检查所有连接池中的空闲连接default:0
<property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}" />
</bean> -->
<!-- 错误提示信息配置,用配置文件管理错误信息 -->
<!-- <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/resource/messages" />
</bean> -->
<!-- org.springframework.context.support.ConversionServiceFactoryBean.class -->
<!-- 使用转换器的bean -->
<!-- <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="app06a.converter.StringToDateConverter" >
<constructor-arg type="java.lang.String" value="MM-dd-yyyy"/>
</bean>
</list>
</property>
</bean>
-->
<!-- 使用Formatter的格式化 -->
<!-- <bean id="conversionService2" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatters">
<set> /springMVC/src/app06a/formatter/DateFormatter.java
<bean class="app06a.formatter.DateFormatter">
<constructor-arg type="java.lang.String" value="MM-dd-yyyy"/>
</bean>
</set>
</property>
</bean> --> <!-- 使用注册器替代Formatter的格式化 -->
<!-- <bean id="conversionService3" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatterRegistrars">
<set>
/springMVC/src/app06a/formatter/DateFormatter.java
<bean class="app06a.formatter.MyFormatterRigistrar">
<constructor-arg type="java.lang.String" value="MM-dd-yyyy"/>
</bean>
</set>
</property>
</bean> --> </beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>sfk_BBS02</display-name> <!-- <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param> -->
<!-- <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/resource/applicationContext.xml</param-value>
</context-param> --> <!-- config log4j first Part -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- /WEB-INF/classes/applicationContext-*.xml -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<!-- Srping监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- config log4j second Part -->
<!-- 加载log4j配置文件 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup>
</servlet>
<!-- 有的项目中这里写的是.do,这样分发器只会分发带有.do的请求,
就可以规避将js.css,.png等文件的路径当作一个请求,当前没有写.do,就要用到
<mvc:annotation-driven />
<mvc:resources mapping="/css/**" location="/css/"/>
将.css等文件不当作一个请求 -->
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> </web-app>
log4j.properties
#log4j.rootLogger=INFO,C,F
#first way log All
##########
# C,System.out
#log4j.appender.C.Threshold=INFO print info or above
##########
log4j.logger.sfk.bbs=INFO,C,F
#second way set log package
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Threshold=INFO
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %L %p %C{1} - %m%n ###########
#save in file
#log4j.appender.F.Threshold=INFO ,info or above
###########
log4j.appender.F=org.apache.log4j.DailyRollingFileAppender
# save file path
log4j.appender.F.File=/home/rocky/develop/luna/eclipse/logInfo/SpringMVC_log
log4j.appender.F.Append=true
log4j.appender.F.Threshold=INFO
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %L %p %C{1} - %m%n
项目的结构图
aaarticlea/png;base64,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" alt="" />
工具类
package sfk.bbs.common.SpringUtil; import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.ClassPathXmlApplicationContext; /**
* 1.Spring的工具类,现在主要用来获取Spring配置文件中的bean
* 2.这个方法里比较遗憾的是没有用到implements ApplicationContextAware
* 原因是在web.xml文件中没有配置正确
* @author rocky
*
*/
public class SpringHelper
{
private static ApplicationContext applicationContext; @SuppressWarnings("static-access")
public SpringHelper()
{
this.applicationContext =new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
} /* @Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException
{
System.out.println("setApplicationContext : "+this.applicationContext);
this.applicationContext = applicationContext; }*/ public Object getBean(String beanId)
{
System.out.println("applicationContext : "+applicationContext);
System.out.println("getBean : " + beanId);
return applicationContext.getBean(beanId);
} }
测试类
package sfk.bbs.test.testSpringMVCConfig.action; import java.sql.Connection;
import java.sql.SQLException; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource; import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import com.mchange.v2.c3p0.ComboPooledDataSource; import sfk.bbs.common.SpringUtil.SpringHelper;
import sfk.bbs.common.constance.ActionURL;
import sfk.bbs.common.constance.PagePath; @Controller
public class StudentAction
{
private static Logger log = Logger.getLogger(StudentAction.class);
/**
* 1.现在的想法是把pages文件夹写在SpringMVC的配置文件中,将后缀.jsp也写在SpringMVC的配置文件中
* 在Controller中page页面写成这样"testPage/studentList
* 斜杠左边的pages文件夹下面的下一层文件夹,斜杠右边的是jsp文件
* 2.jsp文件名和requestMapping中的value相同
* 3.注意:requestMapping不写.do,页面不写.jsp
*
* 查找所有的student列表
* @param request request
* @param response response
* @param model model
* @return studentList
*/
@RequestMapping(value=ActionURL.STUDENT_LIST)
public String findAllStudent(HttpServletRequest request,
HttpServletResponse response,Model model)
{
SpringHelper springHelper = new SpringHelper();
DataSource datasource = (ComboPooledDataSource) springHelper.getBean("dataSourceLocal");
Connection conn = null;
try
{
conn = datasource.getConnection();
} catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try
{
conn.close();
} catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(conn); //ctx = new ("classpath:applicationContext.xml");
// ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
//System.out.println("ctx : " + ctx);
log.info("into findAllStudent");
return PagePath.STUDENT_LIST;
} }
SpringMVC数据库链接池,以及其他相关配置的更多相关文章
- 数据库链接池c3p0的配置
由于我看的是远古教程,所以里面各种驱动jar包还有c3p0包都是远古版本,对于最新版本的jdbc已经失去的作用,所以我在这里重写一下! 1.首先是c3p0的位置,package的外面,src的里面 2 ...
- JDBC核心技术(获取数据库链接、数据库事务、数据库链接池)
@ 目录 前言 数据的持久化 Java数据存储技术 JDBC介绍 JDBC体系结构 获取数据库链接 Driver接口 加载注册JDBC驱动 获取数据库链接 数据库链接方式(实例) 方式一:代码中显示出 ...
- 数据库链接池 durid 的配置参数详解
这里我主要介绍druid 比较重要的参数解释,不做druid的使用介绍,druid虽然功能强大,但是如果对配置参数理解不到位,性能非但不能达到很优,而且会出现很多异常,所以使用druid之前一定要清楚 ...
- hibernate链接数据库链接池c3p0配置
[html] view plain copy <bean id="dataSourceLocal" name="dataSource" class=&qu ...
- dbcp相关配置
最近在看一些dbcp的相关内容,顺便做一下记录,免得自己给忘记了. 1. 引入dbcp (选择1.4) <dependency> <groupId>com.alibaba. ...
- SpringMVC之application-context.xml,了解数据库相关配置
上一篇SpringMVC之web.xml让我们了解到配置一个web项目的时候,怎样做基础的DispatcherServlet相关配置.作为SpringMVC上手的第一步.而application-co ...
- 原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误(修改内容有三处
原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误改有三: a) mysql 连接jar包版修改 b)类路径修改 c)配置连接池地址修改 因版本升级,首先要修改 1:mysql- ...
- Spring中Druid链接池的配置
本文记录了使用Druid的方法, 包括Spring和Spring boot中使用Druid的配置方法. Spring中配置Druid连接池 以链接mysql为例 1 添加druid依赖 <dep ...
- c3p0链接池配置使用
c3p0链接池初步使用:直接上代码 c3p0是开源面粉的连接池,目前使用它的开源项目主要有:Spring,Hibernate等,使用时需要导入相关jar包及配置文件c3p0-config.xml文件 ...
随机推荐
- RabbitMQ 一二事 - 简单队列使用
消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...
- Jenkins学习七:Jenkins的授权和访问控制
默认的Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,job和启动build等.显然地在大规模的公司需要多个部门一起协调工作的时候,没有任何安全检查会带来很多的问题. 在系统管理 ...
- Android自定义进度条颜色
这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\ 下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml ? 1 ...
- Mvc 中ViewBag Model 查找不到解决
按照晚上修改VIew视图中web.config 很显然,没效果... 我的情况是 出现: 我想了下 看下是不是编译器的问题: 我在vs2013中建立 MVC4 然后用 vs2015打开 然后报错- ...
- 用CSS3实现上下左右箭头
225deg 向上箭头 135deg向下箭头45deg向右箭头 -45deg向左箭头
- 基于Nodejs生态圈的TypeScript+React开发入门教程
基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...
- C#泛型-模板特化
class TClass<T, K> { } class SubTClass<T, C, K> : TClass<Char, K> { } class SubTCl ...
- Linux常用指令---kill | killall(终止进程)
kill Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后 ...
- Linux第五次实验
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 201352 姓名:池彬宁 贺邦 学号:2013521 ...
- 实践:VIM深入研究(20135301 && 20135337)
目录 一.基本知识 1.vim模式介绍 2.三种常用模式的切换 二.Vim文档编辑 1.vim重复命令 2.游标的快速跳转 3.复制粘贴和剪切 4.删除文本 5.字符的替换及撤销(Undo操作) 6. ...