1. 程式人生 > >Spring的配置文件applicationContext.xml

Spring的配置文件applicationContext.xml

class ota code bean abstract 文件 支持 業務邏輯層 數量

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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"
> <!-- 掃描service部分的包 --> <!-- 配置連接池 --> <!-- 集成hibernate的jpa功能-工廠bean引入EntityManager--> <!-- Jpa 事務配置 --> <!-- 註解聲明式事務管理 --> <!-- 註解聲明式事務管理 --> <!-- Spring Data Jpa配置 --> <!-- 掃描service部分的包 --> <context:component-scan
base-package="com.域名.模塊名service" /> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 配置連接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!--連接數據4個屬性 --> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!--maxActive: 最大連接數量 --> <property name="maxActive" value="150" /> <!--minIdle: 最小空閑連接 --> <property name="minIdle" value="5" /> <!--maxIdle: 最大空閑連接 --> <property name="maxIdle" value="20" /> <!--initialSize: 初始化連接 --> <property name="initialSize" value="30" /> <!-- 用來配置數據庫斷開後自動連接的 --> <!-- 連接被泄露時是否打印 --> <property name="logAbandoned" value="true" /> <!--removeAbandoned: 是否自動回收超時連接 --> <property name="removeAbandoned" value="true" /> <!--removeAbandonedTimeout: 超時時間(以秒數為單位) --> <property name="removeAbandonedTimeout" value="10" /> <!--maxWait: 超時等待時間以毫秒為單位 1000等於60秒 --> <property name="maxWait" value="1000" /> <!-- 在空閑連接回收器線程運行期間休眠的時間值,以毫秒為單位. --> <property name="timeBetweenEvictionRunsMillis" value="10000" /> <!-- 在每次空閑連接回收器線程(如果有)運行時檢查的連接數量 --> <property name="numTestsPerEvictionRun" value="10" /> <!-- 1000 * 60 * 30 連接在池中保持空閑而不被空閑連接回收器線程 --> <property name="minEvictableIdleTimeMillis" value="10000" /> <property name="validationQuery" value="SELECT NOW() FROM DUAL" /> </bean> <!-- 集成hibernate的jpa功能 --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--待掃描的實體類包,不再需要persistence.xml了 --> <property name="packagesToScan" value="com.域名.模塊名.domain" /> <!-- 3.配置JPA的實現 --> <!-- private JpaVendorAdapter jpaVendorAdapter; --> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <!-- org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter --> <!-- private boolean showSql = false;是否顯示sql語句 --> <property name="showSql" value="true" /> <!-- private boolean generateDdl = false;是否建表 --> <property name="generateDdl" value="false" /> <!-- private String databasePlatform;原來方言 --> <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" /> </bean> </property> </bean> <!-- Jpa 事務配置 --> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <!-- 註解聲明式事務管理 --> <tx:annotation-driven /> <!-- Spring Data Jpa配置 ********************************************--> <!-- base-package:掃描的包 --> <jpa:repositories base-package="com.域名.模塊名.repository" transaction-manager-ref="transactionManager" entity-manager-factory-ref="entityManagerFactory" factory-class="com.域名.模塊名.repository.BaseRepositoryFactoryBean" /> <!-- factory-class="com.域名.模塊名.repository.BaseRepositoryFactoryBean"這個是自定義增強後的 BaseRepositoryFactoryBean --> </beans>

2. applicationContext-mvc.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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="
         http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/mvc
         http://www.springframework.org/schema/mvc/spring-mvc.xsd
    ">
    <!--!!!!5件套!!!!!-->
    <!-- 1.對靜態資源進行放行 -->
    <!-- 2.掃描controller部分的包 -->
    <!-- 3.添加mvc對@RequestMapping等註解的支持 -->
    <!-- 4.ViewResolver 視圖解析器 (struts2視圖類型類似) -->
    <!-- 5.配置文件上傳解析器。 -->


    <!-- 1.對靜態資源進行放行 -->
    <mvc:default-servlet-handler />
    <!-- 2.掃描controller部分的包 -->
    <!-- @Component組件, @Repository持久層, @Service業務邏輯層, and @Controller控制器 -->
    <context:component-scan base-package="com.域名.模塊名.web.controller" />
    <!-- 3.添加mvc對@RequestMapping等註解的支持 -->
    <mvc:annotation-driven />

    <!-- 4.ViewResolver 視圖解析器 (struts2視圖類型類似) -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 設置視圖路徑的前後綴,該配置可以讓我們寫視圖路徑的時候更簡單。 -->
        <!-- 希望跳轉jsp是[/WEB-INF/views/前綴][xxx變量][.jsp後綴] -->
        <!-- * @see #setPrefix -->
        <property name="prefix" value="/WEB-INF/views/" />
        <!-- * @see #setSuffix -->
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- 5.配置文件上傳解析器。 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 設置上傳文件的最大尺寸為1MB -->
        <property name="maxUploadSize">
            <value>1048576</value>
        </property>
    </bean>
</beans>

Spring的配置文件applicationContext.xml