對於咱們如今的中大型項目於來講,用得最多的,應該就數咱們的SSM,記Spring、SpringMvc、Mybatis,那麼咱們今天,就會來完成他們的集成。須要說明一下,本次集成我沒有使用maven項目,若是須要maven項目的,能夠直接講jar包刪除,在pom.xml中引入依賴便可,其餘的內容都沒有任何變化。前端
這裏的jar包有點多,我就直接截圖出來,也會放一個某雲的連接,有須要能夠直接提取
若有須要,請點擊,提取碼4fy8java
數據庫的話,能夠在裏面建立一個user表,裏面添加幾條數據,目的是爲了在部署到tomcat上面的時候測試連接數據庫提取數據成功與否mysql
我所用的是idea1903版本的,像eclipse也同理web
下圖是我建立好以後的樣子
spring
這裏的每一項都寫了註釋,就很少作解釋,只是有一點須要注意的是,寡慾配置的事務即tx命名空間,若是咱們直接在下面寫而不先寫上面的命名空間的話,會將tx前面的schema自動寫爲cache,從而咱們後續在運行的時候,就會報一個No bean named 'cacheManager' is defined
的錯誤,須要注意一下,因此特別提一下sql
<?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.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!--引入數據庫鏈接配置文件--> <context:property-placeholder location="classpath:jdbc.properties"/> <!--數據庫鏈接池--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${driverClassName}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--配置加載數據庫路徑--> <property name="dataSource" ref="dataSource"/> <!--配置加載mapper資源文件路徑--> <property name="mapperLocations" value="classpath:com/arvin/ssm/mapper/*Mapper.xml"/> <!--給對應包下面的domain或者類配置別名,配置完了默認爲類名,通常建議類名首字母小寫--> <property name="typeAliasesPackage"> <value> com.arvin.ssm.domain com.arvin.ssm.query </value> </property> </bean> <!--配置掃描mapper的路徑--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.arvin.ssm.mapper"></property> </bean> <!--事務配置--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!--配置事務對註解的支持--> <tx:annotation-driven/> <!--掃描service包--> <context:component-scan base-package="com.arvin.ssm.service"/>
</beans>數據庫
這個配置文件相對簡單,只是須要注意的是mvc命名空間前面的schema也存在上述的問題,須要你們注意一下,這個是idea自動代碼提示生成的,目前我尚未更好的解決辦法,只有看到了以後本身手動改成schemaapache
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--Controller包掃描--> <context:component-scan base-package="com.arvin.ssm.controller"/> <!--靜態資源放行--> <mvc:default-servlet-handler/> <!--開啓註解支持--> <mvc:annotation-driven/> <!--視圖解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views"/> <property name="suffix" value=".jsp"/> </bean>
</beans>spring-mvc
這個很簡單就很少作說明了tomcat
driverClassName=com.mysql.jdbc.Driver username=root password=123456 url=jdbc:mysql:///mybatis
這裏也沒有比較特殊的地方,就很少說了
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--前端控制器--> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!--加載mvc的配置文件--> <param-value>classpath:applicationContext-mvc.xml</param-value> </init-param> <!--在web應用程序啓動的時候就加載這個servlet--> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!--配置加載spring的配置文件--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!--監聽器--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!--字符編碼集過濾--> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
這裏有須要注意的點了
舉例說明:我這裏的UserMapper.xml所在位置爲\com\arvin\ssm\mapper
,那麼咱們寫的配置文件也必需要和這個對應起來
即作成以下圖
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--這裏的namesprace對應的爲咱們UserMapper接口的全限定名--> <mapper namespace="com.arvin.ssm.mapper.UserMapper"> <!--這裏是我預先抽取的公共sql語句--> <sql id="showAll"> select * from user </sql> <!--這裏的id,對應的是UserMapper中的方法名--> <!--resultTpye能夠寫對應domain的全限定名,我這裏寫了類名首字母小寫是由於我在前面配置了別名, 具體能夠看application.xml中的配置--> <select id="getAll" resultType="user"> <!--這裏是在引用上面抽取的公共sql語句,refid對應上面sql標籤中的id--> <include refid="showAll"/> </select> </mapper>
到這裏,咱們的配置就算完成了,能夠在Controller裏面先寫一個請求測試!!