• 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>
    
  • 相关阅读:
    UVA 10600 ACM Contest and Blackout(次小生成树)
    UVA 10369
    UVA Live 6437 Power Plant 最小生成树
    UVA 1151 Buy or Build MST(最小生成树)
    UVA 1395 Slim Span 最小生成树
    POJ 1679 The Unique MST 次小生成树
    POJ 1789 Truck History 最小生成树
    POJ 1258 Agri-Net 最小生成树
    ubuntu 用法
    ubuntu 搭建ftp服务器,可以通过浏览器访问,filezilla上传文件等功能
  • 原文地址:https://www.cnblogs.com/ConciseAaron/p/6085709.html
Copyright © 2020-2023  润新知