SSM框架(二)-配置文件详解

介绍resources文件夹中的配置文件

该文件中的配置文件有五个,其中最重要的分别是:

  • mybatis-config.xml(是mybatis的配置文件)
  • spring.xml(spring框架的配置文件)
  • springmvc.xml(springMVC的配置文件)

1.在ssm框架中,mybatis已经交由spring进行管理,所以它的配置文件并不需要添加太多的配置,但必须存在。

代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

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

    <context:annotation-config/>
    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:db.properties"/>
    <!-- 数据库连接池 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="initialSize" value="${initialSize}"/><!--初始化连接-->
        <property name="maxActive" value="${maxActive}"/><!--最大活动连接-->
        <!--<property name="maxIdle" value="${maxIdle}"/>&lt;!&ndash;最大空闲连接&ndash;&gt;-->
        <property name="minIdle" value="${minIdle}"/><!--最小空闲连接-->
        <property name="maxWait" value="${maxWait}"/><!--从连接池取连接的最大等待时间,单位ms-->
        <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}"/><!--每60秒运行一次空闲连接回收器-->
        <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}"/><!--池中的连接空闲30分钟后被回收-->
        <property name="validationQuery" value="${validationQuery}"/><!--验证使用的SQL语句-->
        <property name="testWhileIdle" value="${testWhileIdle}"/><!--指明连接是否被空闲连接回收器(如果有)进行检验,如果检验失败,则连接将被从池中去除-->
        <property name="testOnBorrow" value="${testOnBorrow}"/><!--借出连接时不要测试,否则很影响性能-->
        <property name="testOnReturn" value="${testOnReturn}"/>
        <property name="poolPreparedStatements" value="${poolPreparedStatements}"/>
        <property name="maxPoolPreparedStatementPerConnectionSize" value="${maxPoolPreparedStatementPerConnectionSize}"/>
        <property name="removeAbandoned" value="${removeAbandoned}"/><!--连接泄漏回收参数,当可用连接数少于3个小时才执行-->
        <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}"/><!--连接泄漏回收参数,180秒,泄漏的连接可以被删除的超时值-->
    </bean>
    <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <!--mybatis扫描-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.sun.mapper"/>
    </bean>

    <bean class="com.google.gson.Gson"/>

</beans>

其中使用了mybatis和spring的整合包,让mybatis在spring的管理下

为方便管理数据库,我将数据库的相关配置写在了db.properties中,这样在换数据的时候就不用改太多的代码了

jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://127.0.0.1/bigdatavisualization?characterEncoding=utf-8
jdbc.username=admin
jdbc.password=admin
filters=stat
initialSize=2
maxActive=300
maxIdle=60
minIdle=5
maxWait=60000
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=1800000
validationQuery=SELECT 1
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
poolPreparedStatements=false
maxPoolPreparedStatementPerConnectionSize=200
removeAbandoned=true
removeAbandonedTimeout=180

3.springmvc.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/beans
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <!--注解驱动-->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="defaultCharset" value="UTF-8"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

    <!--SpringMVC拦截器-->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/*.net"/>
            <bean class="com.sun.interceptor.userInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>
    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="WEB-INF/web/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    <!--全局异常处理器
    只要实现了HandlerExceptionResolver接口,就是一个全局变量
    -->
    <bean class="com.sun.exception.CustomExceptionResolver"/>
    <!--静态资源加载控制-->
    <mvc:default-servlet-handler/>

    <!--配置扫描包-->
    <context:component-scan base-package="com.sun.controller,com.sun.service"/>

</beans>

可以在里面配置拦截器、视图解析器、全局异常处理器、包扫描等,管理静态资源,注解驱动,切面

4.log4j.properties

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

log4j.rootLogger=WARN, stdout  
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.logger.com.ibatis=DEBUG  
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG  
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG  
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG  
log4j.logger.org.mybatis=DEBUG  
log4j.logger.java.sql.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG  
log4j.logger.java.sql.ResultSet=DEBUG  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙霸天

你的打赏是我不断创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值