SSM_基於傳統web項目,ssmweb項目

來源:互聯網
上載者:User

SSM_基於傳統web項目,ssmweb項目

本次搭建SSM為傳統web項目結構:

jar包資訊:

  spring為:4.3.14版本,該版本已經包含了@RestController註解

  springmvc 註解@ResponseBody依賴版本:

         jackson-annotations-2.6.5.jar

         jackson-core-2.6.5.jar

         jackson-databind-2.6.5.jar

  mybatis:3.4.6版本

  mybatis提供的整合包:mybatis-spring-1.3.1.jar 

  項目結構圖如下:

    

  編譯後的項目如下:

   

  說明:源碼路徑對應為編譯後的WEB-INF/classes

1、配置web.xml

  1.1 配置IOC容器監聽器

  1.2 配置web容器在啟動時傳遞的上下文參數,這裡傳遞spring的設定檔

  1.3 配置springmvc

  web.xml檔案如:

<?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">    <!--容器啟動時,容器初始化的一些參數-->    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>/WEB-INF/applicationContext.xml</param-value>    </context-param>    <!--IOC監聽器,當web容器啟動時,載入context-param標籤中的spring設定檔-->    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <servlet>        <servlet-name>dispatcher</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <!--注意此處填寫的url路徑,否則可能訪問controller報404-->    <servlet-mapping>        <servlet-name>dispatcher</servlet-name>        <url-pattern>*.form</url-pattern>    </servlet-mapping></web-app>

 

  1.4 配置IOC容器:

    1.4.1 配置資料來源

    1.4.2 整合MyBatis,即注入sqlSession

    1.4.3 配置自動注入mapper介面執行個體,配置交易管理

  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:P="http://www.springframework.org/schema/p"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <bean id="t_01" class="com.sxlg.spring.T_01_imp"></bean>    <!--引用第三方提供的資料來源        1.dbcp資料來源,destroy-method="close" 確保spring容器關閉時,資料來源關閉。            commons-dbcp-1.4.jar            commons-pool-1.5.4.jar        2.C3P0資料來源,3P0是一個開放原始碼的JDBC資料來源實現項目。    -->    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"          destroy-method="close">        <!--mysql-connector-java-5.1.45.jar-->        <property name="driverClassName" value="com.mysql.jdbc.Driver" />        <property name="url" value="jdbc:mysql://127.0.0.1:3306/match" />        <property name="username" value="root" />        <property name="password" value="123456" />    </bean>    <!--        配置session        1.位於mybatis提供的整個mybatis-spring.jar中        2.spring和MyBatis完美整合,不需要mybatis的配置對應檔     -->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <!--引用資料來源-->        <property name="dataSource" ref="dataSource"/>        <!--載入mybatis的設定檔-->        <property name="configLocation" value="WEB-INF/mybatis-config.xml" />        <!-- 自動掃描mapping.xml檔案            除了讓spring自動去掃描,也可以採用mybatis的原始配置方法,            在設定檔中載入sql的對應檔        -->        <property name="mapperLocations" value="WEB-INF/mappers/*.xml"></property>    </bean>    <!--可以將指定包下面的mapper介面執行個體化成一個spring bean , 就可以直接注入,不需要擷取執行個體了-->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.ssm.dao" />        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>    </bean>    <!-- (交易管理)transaction manager, use JtaTransactionManager for global tx -->    <bean id="transactionManager"          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource" />    </bean></beans>

  1.5 添加Mybatis設定檔

    由於spring已經整合了MyBatis,所以mybatis檔案不需要進行任何處理,代碼如下:

    

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration></configuration>

  2 測試,編寫controller

  關於sqlSession的擷取,存在兩種方式:

   2.1 利用mybatis-spring-1.3.1.jar提供的SqlSessionTemplate進行資料庫操作。

   2.2 讓IOC容器直接注入mapper介面的執行個體,擷取sqlSession,進行資料庫操作。

   此處採用方式2:

   @Autowired    IGirlDao iGirlDao;    @RequestMapping(value = {"/demo"},method = RequestMethod.GET)    public List<Girl> method()    {        List<Girl> result = iGirlDao.selectAll();        return result;    }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.