- 1創建項目(Maven項目支持聚合,聚合的項目模塊之間具有繼承的特性即子模塊會繼承父模塊的配置)
-
- 包含父子模塊的Maven項目創建方法
-
- 首先創建父項目
- 選中父項的pom.xml文件右鍵-->Maven--》new Maven module project隨後和父項目差不多操作
- 在pom.xml可以添加許多有關開發者所在組織的信息
- 當需要統一版本號時,爲了升級和維護,建議將版本號version定義成變量的形式
<version>${ version }</version>
<properties>
<version>0.1</version>
<spring.version>4.3.9.RELEASE</spring.version>
</properties>
-
- 將項目的配置信息寫入pom.xml文件中包括
-
- - JUnit(test)
- - spring-test(test)
- - 數據庫驅動
- - 連接池
- - MyBatis
- - MyBatis和Spring的整合
- - Spring的事務
- - Spring ORM的支持
- - Spring 面向切面的支持
- - Spring上下文支持
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zhiyou100.video</groupId>
<artifactId>video-parent</artifactId>
<!-- 版本號會在多個地方使用 爲了統一版本,使用變量易於修改和維護 -->
<version>${ version }</version>
<!-- 表示該父類模塊包含的是所有子模塊的共有配置信息-->
<packaging>pom</packaging>
<name>Video Parent</name>
<url>http://www.zhiyou100.com</url>
<description>智遊在線,智遊在線教育平臺,提供視頻課程,互動學習等服務</description>
<inceptionYear>2017</inceptionYear>
<organization>
<name>智遊教育</name>
<url>http://www.zhiyou100.com</url>
</organization>
<!-- 用於配置當前xml文件中要使用的變量 -->
<properties>
<version>0.1</version>
<spring.version>4.3.9.RELEASE</spring.version>
</properties>
<!--這兩個jar包所有子項目共有的因此放置於父項目中 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- 指明這個依賴項的作用範圍 -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<!-- 保證版本的統一性,使用變量,也便於修改 -->
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- modules用於將當前項目和另外一個或多個項目形成一個聚合項目 -->
<modules>
<module>video-service</module>
</modules>
</project>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mapper是映射器 -->
<mapper namespace="com.zhiyou100.video.dao.UserDao">
<!-- 數據庫和model的映射關係 -->
<resultMap type="User" id="userResultMap">
<id property="userId" column="user_id" />
<result property="isSystem" column="is_system" />
<result property="isAdmin" column="is_admin" />
</resultMap>
<!-- parameterType指明瞭參數的類型 這裏類型是HashMap #{account}是利用key value 的方式從hashmap中拿到參數值-->
<select id="getByLogin" resultMap="userResultMap" parameterType="HashMap">
SELECT
*
FROM
user
WHERE
status = 2
AND username = #{account}
AND password = #{password}
</select>
</mapper>
- 在項目中定義 服務層的XXservice類並使用@Service註解標記該類 該類中的XXdao使用@Autowired註解標記(spring框架去實現這個類,spring中不允許自己創建Dao和service,因爲Dao和service由spring統一管理)
- 創建測試類
- 在測試類中使用註解創建上下文
-
- 指明spring測試運行測試用例
- 在測試類的資源文件中創建應用的上下文配置文件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"
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-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<!--掃描bean 發現標記@Service@Autoeried等標記的類或屬性-->
<!-- 上下文註冊類獲取bean -->
<context:component-scan base-package="com.zhiyou100.video" />
<!--數據源-->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/zyvideo?characterEncoding=utf8&useSSL=false" />
<property name="username" value="root" />
<property name="password" value="123123" />
</bean>
<!--MyBatis會話工廠,主要是映射-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis.xml" />
<property name="typeAliasesPackage" value="com.zhiyou100.video.model" />
<property name="mapperLocations" value="classpath*:com/zhiyou100/video/dao/*Dao.xml" />
</bean>
<!--MyBatis Mapper掃描-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<property name="basePackage" value="com.zhiyou100.video.dao" />
</bean>
<!--數據庫事務-->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--事務-->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
</beans>
-
- 在測試類的資源文件中 創建mybatis的配置文件