springmvc的相關配置檔案
阿新 • • 發佈:2018-12-19
最近自己搭了一個小的spring+springmvc+mybatis的秒殺相關的小工程,下面跟大家分享一下,用到的配置檔案是怎麼配置的,供參考。
我把相關的說明都放在註釋中,方便閱讀。
1.mybatis-config.xml
<configuration> <!--配置mybatis全域性的屬性--> <settings> <!--使用jdbc的getGeneratedKeys 獲取資料庫自增主鍵值--> <setting name="useGeneratedKeys" value="true"/> <!--使用列別名替換列名,預設為true select name as title from table--> <setting name="useColumnLabel" value="true"/> <!--開啟駝峰命名轉換--> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> </configuration>
2.jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=root
多說一句,如果啟動的時候c3p0資料庫連線池報錯,檢查一下jdbc.url有沒有配置上時區。
3.spring-dao.xml
<!--配置整合mybatis過程--> <!--1.配置資料庫相關引數 properties屬性:${url}--> <context:property-placeholder location="classpath:jdbc.properties"/> <!--2.資料庫連線池--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!--配置連線池屬性--> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <!--配置c3p0連線池的私有屬性--> <property name="maxPoolSize" value="30"/> <property name="minPoolSize" value="2"/> <!--關閉連線後不自動commit--> <property name="autoCommitOnClose" value="false"/> <!--超過最大連線數後的等待時間--> <property name="checkoutTimeout" value="1000"/> <!--重試次數--> <property name="acquireRetryAttempts" value="2"/> </bean> <!--3.配置SqlSessionFactory物件--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--注入資料庫連線池--> <property name="dataSource" ref="dataSource"/> <!--配置mybatis全域性配置檔案 mybatis-config.xml--> <property name="configLocation" value="classpath:mybatis-config.xml"/> <!--掃描entity包,使用別名--> <property name="typeAliasesPackage" value="com.meidl.entity"/> <!--掃描sql配置檔案:mapper需要的xml檔案--> <property name="mapperLocations" value="classpath:mapper/*.xml"/> </bean> <!--4.配置掃描DAO介面包,動態實現DAO介面,並注入到spring容器中--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--注入sqlSessionFactory sqlSessionFactoryBeanName後處理,防止提前sqlSessionFactory在DataSource前初始化--> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> <!--給出需要掃描DAO介面的包,並自動實現對應的實現類,注入到spring容器中--> <property name="basePackage" value="com.meidl.dao"/> </bean>
4.spring-service.xml
<!--掃描service包下所有使用註解的型別--> <context:component-scan base-package="com.meidl.service"/> <!--配置事務管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!--注入資料庫的連線池--> <property name="dataSource" ref="dataSource"/> </bean> <!--配置基於註解的宣告式事務--> <!--預設使用註解來管理事務行為--> <tx:annotation-driven transaction-manager="transactionManager"/>
5.spring-web.xml
<!--配置springMVC-->
<!--1.開啟springMVC註解模式-->
<!--簡化配置:
1)自動註冊DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter(預設註解對映和註解方法的適配)
2)提供一些列功能:資料繫結,數字和日期的format @NumberFormat @DateTimeFormat,xml,json預設讀寫支援-->
<mvc:annotation-driven />
<!--servlet-mapping 對映路徑:"/"-->
<!--2.靜態資源預設servlet配置
1)加入對靜態資源的處理:js,gif,png
2)允許使用"/"做整體對映
-->
<mvc:default-servlet-handler/>
<!--3.配置jsp 顯示ViewResolver-->
<bean 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"/>
</bean>
<!--4.掃描web相關的bean-->
<context:component-scan base-package="com.meidl.web"/>
把一些無關的程式碼段去掉,邏輯還是相對清晰的。