spring+c3p0+springMVC+logback框架搭建

创建web项目,项目结构如下:

配置web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SpringMVC</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 配置dispatcherServlet -->
  <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:springmvc_servlet.xml</param-value>
    </init-param>
  </servlet>
  
  <servlet-mapping>
     <servlet-name>springmvc</servlet-name>
     <url-pattern>/</url-pattern>
  </servlet-mapping>
  
 <!-- 编码过滤器 -->
 <filter>
   <filter-name>encode</filter-name>
   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
   <async-supported>true</async-supported> <!-- 异步 --> 
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
 </filter>
 
 <filter-mapping>
   <filter-name>encode</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>
 
  <!-- 配置applicationContext -->
 <context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>  
        classpath:applicationContext.xml  
    </param-value>  
</context-param>  
<listener>  
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
</listener>  
<!-- 配置logback -->
<context-param>  
    <param-name>logbackConfigLocation</param-name>  
    <param-value>classpath:logback-test.xml</param-value>  
</context-param>  
<listener>  
    <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>  
</listener> 
</web-app>

jdbc.properties配置

datasource.driverClassName = com.mysql.jdbc.Driver
datasource.url = jdbc:mysql://127.0.0.1:3306/test
datasource.username = root
datasource.password = root

applicationContext.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="http://www.springframework.org/schema/cache"
	xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="  
		   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
		   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
		   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
		   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
		   http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd
		   http://www.springframework.org/schema/task  
		  http://www.springframework.org/schema/task/spring-task-3.1.xsd 
		   "
	default-lazy-init="false">
	
    <!--注解扫描开启  -->
 	<context:component-scan base-package="com.housoo.*">
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

	<!--定时任务注解开启  -->
	<task:annotation-driven />
	
	<!--事务注解开启  -->
	<tx:annotation-driven transaction-manager="transactionManager" />

	<!--数据库参数加载  -->
    <context:property-placeholder location="classpath:jdbc.properties" />
    <!--c3p0连接池配置  -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
	    <property name="driverClass" value="${datasource.driverClassName}"></property>
	    <property name="jdbcUrl" value="${datasource.url}"></property>
	    <property name="user" value="${datasource.username}"></property>
	    <property name="password" value="${datasource.password}"></property>
	</bean>
	<!--数据源事务管理  -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
    <!--配置jdbctemplate  -->
    <bean id="jdbctemplate" class="org.springframework.jdbc.core.JdbcTemplate">
	    <property name="dataSource" ref="dataSource"></property>
	</bean>
</beans>

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

	<!--静态文件相应  -->
	<mvc:default-servlet-handler />

	<!--包扫描  -->
	<context:component-scan base-package="com.housoo.*"
		use-default-filters="false">
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>
	
	<!--设置配置方案  -->
	<mvc:annotation-driven>
		<mvc:message-converters register-defaults="true">
			<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
			<bean class="org.springframework.http.converter.StringHttpMessageConverter">
		    	<constructor-arg value="UTF-8" />
			</bean>
			<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
			<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="prettyPrint" value="true"/>
            </bean>			
  		</mvc:message-converters>
	</mvc:annotation-driven>
	
	<!-- 文件上传  -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8" />
	<!-- 配置视图 -->
	<bean id="viewResolverCommon"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass"
			value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp"></property>
	</bean>
	 

		
	
	
	
</beans>

logback-test.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
	<contextName>minor</contextName>
	<!--动态日志级别  -->
	<jmxConfigurator />
	<!-- 输出到控制台 -->
	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
		<Target>System.out</Target>
		<encoder>
			<!--输出到控制台格式  -->
			<pattern>
				%d{HH:mm:ss.SSS} [%t] %5p |-%c{35}:%L - %m %n
			</pattern>
		</encoder>
	</appender>
	<!-- 输出到文件 -->
	<!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender -->
	<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>../logs/natgasmgt.log</file>
		<!--配置滚动策略  -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!--日志输出位置、名称格式 -->
			<FileNamePattern>
				xjh.%d{yyyy-MM-dd}.log.gz
			</FileNamePattern>
			<!--最长保存天数  -->
			<maxHistory>30</maxHistory>
		</rollingPolicy>
		<!--设置日志写入格式  -->
		<encoder>
			<pattern>
				%d{HH:mm:ss.SSS} [%t] %5p |-%c{35}:%L - %m %n
			</pattern>
		</encoder>
	</appender>
	<!--输出到数据库  -->
	<appender name="dbmysql" class="ch.qos.logback.classic.db.DBAppender">
		<connectionSource
			class="ch.qos.logback.core.db.DriverManagerConnectionSource">
			<driverClass>com.mysql.jdbc.Driver</driverClass>
			<url>jdbc:mysql://127.0.0.1:3306/test</url><!--日志记录 数据库 -->
			<user>root</user>
			<password>root</password>
		</connectionSource>
	</appender>

	<logger name="freemarker" level="INFO" />
	<logger name="net.sf.ehcache" level="INFO" />
	<logger name="org.apache" level="WARN" />
	<logger name="org.springframework" level="WARN" />
	<logger name="org.logicalcobwebs.proxool" level="INFO" />
	<logger name="org.hibernate" level="WARN" />

	<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
		<appender-ref ref="stdout" />
	</appender> 

	 <root level="INFO">
		<appender-ref ref="ASYNC" />
		<appender-ref ref="dbmysql" />
	</root>
	<root level="DEBUG">
		<appender-ref ref="ASYNC" />
		<appender-ref ref="dbmysql" />
	</root>
</configuration>

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值