SSM到Spring Boot從零開發校園商鋪平臺---1、環境搭建及測試
阿新 • • 發佈:2019-01-06
根據慕課網專案深入學習SSM和SpringBoot,練手中,將學習筆記做記錄,後期會繼續更新。
慕課網地址:SSM到Spring Boot-從零開發校園商鋪平臺-慕課網實戰,文末會附上免費視訊地址!
先上效果圖(此文講述中最後要完成的結果):
專案介紹
慕課網中關於專案有詳細的介紹,就不做過多的說明了。
專案結構及配置檔案說明
如題,專案初期採用SSM(Spring+SpringMVC+MyBatis)框架,按照專案載入過程逐一講解配置檔案:
pom.xml
專案使用Maven管理專案相關依賴,配置有Spring、mybatis、資料庫、junit等依賴;
web.xml
web專案的核心配置檔案,主要配置了SSM的前置控制器DispatcherServlet,主要負責流程的控制;
<servlet>
<servlet-name>spring-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置springMVC需要載入的配置檔案 spring-dao.xml,spring-service.xml,spring-web.xml
Mybatis - > spring -> springmvc -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>spring-dispatcher</servlet-name>
<!-- 預設匹配所有的請求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
spring-web.xml
主要配置SpringMVC:1)啟用註解驅動;2)靜態資源處理;3)配置檢視解析器;4)掃描web相關的bean;5、後續許可權攔截器的配置;
<!-- 兩個標準配置 -->
<!-- 1、啟用註解驅動-->
<mvc:annotation-driven/>
<!-- 2、 可以正常訪問靜態檔案,springmvc靜態資源處理-->
<mvc:default-servlet-handler/>
<!-- 3.定義檢視解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/html/"></property>
<property name="suffix" value=".html"></property>
</bean>
<!-- 4.掃描web相關的bean -->
<context:component-scan base-package="com.tyron.o2o.web" />
spring-service.xml
業務相關配置:1)掃描service相關的bean;2)配置事務管理器;3)配置基於註解的宣告式事務;
<!--1、 掃描service包下所有使用註解的型別 -->
<context:component-scan base-package="com.tyron.o2o.service" />
<!-- 2、 配置事務管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 注入資料庫連線池 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 3、配置基於註解的宣告式事務 -->
<tx:annotation-driven transaction-manager="transactionManager" />
spring-dao.xml
配置整合mybatis過程:1)配置資料庫相關引數;2)配置資料庫連線池;3)配置SqlSessionFactory物件;4)配置掃描Dao介面包,並注入;
<!-- 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="10" />
<!-- 關閉連線後不自動commit -->
<property name="autoCommitOnClose" value="false" />
<!-- 獲取連線超時時間 -->
<property name="checkoutTimeout" value="10000" />
<!-- 當獲取連線失敗重試次數 -->
<property name="acquireRetryAttempts" value="2" />
</bean>
<!-- 3.配置SqlSessionFactory物件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入資料庫連線池 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置MyBaties全域性配置檔案:mybatis-config.xml -->
<property name="configLocation" value="classpath:mybatis-config.xml" />
<!-- 掃描entity包 使用別名 -->
<property name="typeAliasesPackage" value="com.tyron.o2o.entity" />
<!-- 掃描sql配置檔案:mapper需要的xml檔案 -->
<property name="mapperLocations" value="classpath:mapper/*.xml" />
</bean>
<!-- 4.配置掃描Dao介面包,動態實現Dao介面,注入到spring容器中 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入sqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<!-- 給出需要掃描Dao介面包 -->
<property name="basePackage" value="com.tyron.o2o.dao" />
</bean>
mybatis-config.xml
配置mybatis的屬性:1)駝峰命名轉換;2)列別名替換列名;3)自增主鍵
<settings>
<!-- 開啟駝峰命名轉換:Table{create_time} -> Entity{createTime} -->
<setting name="mapUnderscoreToCamelCase" value="true" />
<!-- 使用列別名替換列名 預設:true -->
<setting name="useColumnLabel" value="true" />
<!-- 使用jdbc的getGeneratedKeys獲取資料庫自增主鍵值 -->
<setting name="useGeneratedKeys" value="true" />
</settings>
jdbc.properties
設定資料庫相關引數,並將username和password設定為密文;
BaseTest.java
測試類的基類:
/**
* 配置spring和junit整合,junit啟動時載入springIOC容器 spring-test,junit
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath:spring/spring-dao.xml",
"classpath:spring/spring-service.xml" })
public class BaseTest {
}
附上免費網盤地址: