zoukankan      html  css  js  c++  java
  • Spring配置汇总

    现在主流的JavaWeb应用几乎都会用到Spring,以下是Spring的配置,以及结合Web的SpringMVC配置的汇总。

    jar包的引入

    使用maven引入(pom.xml)

        <properties>
            <!-- 统一指定版本 -->
            <spring.version>4.1.7.RELEASE</spring.version>
        </properties>
        <!-- 依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    
        <!-- SpringMVC 需要添加如下依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
    
        <!-- sqlserver 驱动 -->
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>4.0</version>
        </dependency>
    
        <!-- c3p0 连接池支持-->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>
    

    与Web项目集成

    配置在web.xml文件中

        <!-- Spring配置 -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <!-- 指定spring配置文件(classpath*: 包括jar包中配置) -->
            <param-value>classpath*:spring/spring-*.xml</param-value>
        </context-param>
    
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
    
        <!-- SpringMVC配置 -->
        <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*:spring/springmvc.xml</param-value>
            </init-param>
            <!-- 服务器启动时启动 -->
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    

    Spring配置文件

    Spring配置文件路径:classpath:spring/spring-context.xml

        <!-- 指定扫描的包 -->
        <context:component-scan base-package="com.menng.service.impl"/>
    
        <!--(根据需要配置)以下是连接池配置,使用c3p0-->
        <!-- 引入数据库配置 -->
        <context:property-placeholder location="classpath:jdbc.properties"/>
        <!-- 数据源 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
            <property name="driverClass" value="${jdbc.sqlserver.driver}"/>
            <property name="jdbcUrl" value="${jdbc.url}"/>
            <property name="user" value="${jdbc.user}"/>
            <property name="password" value="${jdbc.password}"/>
    
            <!-- 连接池初始化连接数 -->
            <property name="initialPoolSize" value="${jdbc.initialPoolSize}" />
            <!-- 连接池中保留的最小连接数。-->
            <property name="minPoolSize" value="${jdbc.minPoolSize}" />
            <!-- 连接池中保留的最大连接数。Default: 15 -->
            <property name="maxPoolSize" value="${jdbc.maxPoolSize}" />
            <!-- 连接被断开的时间,Default:0 即永不过期 -->
            <property name="maxIdleTime" value="${jdbc.maxIdleTime}" />
            <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
            <property name="acquireIncrement" value="${jdbc.acquireIncrement}" />
            <!-- 最大statements数量 -->
            <property name="maxStatements" value="${jdbc.maxStatements}" />
            <!-- 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30-->
            <property name="acquireRetryAttempts" value="${jdbc.acquireRetryAttempts}" />
            <!-- 每120秒检查所有连接池中的空闲连接。Default: 0-->
            <property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}" />
            <property name="breakAfterAcquireFailure" value="true" />
        </bean>
    

    jdbc配置文件:classpath:jdbc.properties

        jdbc.sqlserver.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
    
        jdbc.url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test
        jdbc.user=root
        jdbc.password=123456
    
        jdbc.initialPoolSize=20
        jdbc.minPoolSize=20
        jdbc.maxPoolSize=120
        jdbc.maxIdleTime=600
        jdbc.acquireIncrement=10
        jdbc.maxStatements=20
        jdbc.acquireRetryAttempts=3
        jdbc.idleConnectionTestPeriod=120
    

    SpringMVC配置文件

    SpringMVC配置文件路径:classpath:spring/springmvc.xml

        <!-- 注解驱动 -->
        <mvc:annotation-driven/>
        <!-- 指定扫描的包 -->
        <context:component-scan base-package="com.menng.controller"/>
    
        <!-- (根据需要配置)静态资源处理 -->
        <mvc:resources location="/js/" mapping="/js/**"/>
        <mvc:resources location="/images/" mapping="/images/**"/>
        <mvc:resources location="/css/" mapping="/css/**"/>
    
        <!-- (根据需要配置)使用容器默认servlet处理没有映射的资源(配置了这个就不用配置 静态资源处理了) -->
        <mvc:default-servlet-handler/>
    

    集成Mybatis

    • classpath:spring/spring-context.xml新增如下配置
        <!-- spring与MyBatis整合 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
        </bean>
    
        <!-- 配置扫描包 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
            <!-- xml与接口文件在同一目录下,注意:maven打包时把xml mapper文件打包到war包中 -->
            <property name="basePackage" value="com.menng.mapper"/>
        </bean>
    
    • pom.xml新增如下依赖以及对xml mapper文件的过滤
        <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jdbc</artifactId>
           <version>${spring-version}</version>
        </dependency>
    
        <!-- myBatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.1</version>
        </dependency>
    
        <!-- myBatis-spring 集成-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>
    
        <build>
            <resources>
               <!-- 用于mybatis配置文件打包到war包中 -->
               <resource>
                   <directory>src/main/java</directory>
                   <includes>
                       <include>**/*.xml</include>
                   </includes>
                   <!-- 是否替换资源中的属性-->
                   <filtering>false</filtering>
               </resource>
               <resource>
                   <directory>src/main/resources</directory>
               </resource>
            </resources>
        </build>
    
    • mybatis的配置(根据需要配置,可选),文件路径为:classpath:mybatis/mybatis-config.xml
        <settings>
            <!-- 指定日志为log4j2 -->
            <setting name="logImpl" value="LOG4J2"/>
            <!-- 查询时,关闭关联对象即时加载以提高性能  -->
            <setting name="lazyLoadingEnabled" value="true"/>  
            <!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果   -->
            <setting name="multipleResultSetsEnabled" value="true"/>  
            <!-- 允许使用列标签代替列名  -->
            <setting name="useColumnLabel" value="true"/>  
            <!-- 不允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖  -->
            <setting name="useGeneratedKeys" value="false"/>
            <!-- 给予被嵌套的resultMap以字段-属性的映射支持 FULL,PARTIAL -->
            <setting name="autoMappingBehavior" value="PARTIAL"/>
        </settings>
    
  • 相关阅读:
    Windows远程连接linuxmysql服务
    windows虚拟环境
    网站部署中遇到的系列问题
    网站部署中遇到的问题-未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项
    调用WCF错误-There was no endpoint listening
    网站部署中遇到的问题-过一段时间后连不上服务器
    网站部署中遇到的问题-网页中js,css和图片资源无法加载
    网站设置404错误页的经历
    IIS发布常见错误-HTTP 错误 404.0
    在List中常用的linq表达式
  • 原文地址:https://www.cnblogs.com/ConciseAaron/p/6085709.html
Copyright © 2011-2022 走看看