1. 程式人生 > >ssm專案快速搭建(註解)

ssm專案快速搭建(註解)

 

dao層配置

1. SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<plugins>
<!-- com.github.pagehelper 為 PageHelper 類所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 設定資料庫型別 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六種資料庫-->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
2. db.properties
  連線mysql資料庫所需要的資訊
    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/pinyougoudb?characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=pig
3. applicationContext-dao.xml
  <!-- 資料庫連線池 -->
   <!-- 載入配置檔案 -->
   <context:property-placeholder location="classpath:properties/db.properties"/>
   <!-- 資料庫連線池 -->
   <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
         destroy-method="close">
       <property name="url" value="jdbc:mysql://localhost:3306/pinyougoudb?characterEncoding=utf-8"/>
       <property name="username" value="root"/>
       <property name="password" value="pig"/>
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="maxActive" value="10"/>
       <property name="minIdle" value="5"/>
   </bean>

   <!-- 讓spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->
   <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <!-- 資料庫連線池 -->
       <property name="dataSource" ref="dataSource"/>
       <!-- 載入mybatis的全域性配置檔案 -->
       <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"/>
   </bean>
   <!--配置mapper對映路徑-->
   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="basePackage" value="com.pinyougou.mapper"/>
   </bean>

 

service層配置


  開啟spring宣告式事務。service使用@Service註解宣告

   <!-- 事務管理器 -->  
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
       <property name="dataSource" ref="dataSource" />  
   </bean>  
     
   <!-- 開啟事務控制的註解支援 -->  
   <tx:annotation-driven transaction-manager="transactionManager"/>

controller配置



springmvc.xml中配置下面一句就行。
1. controller使用@ResponseBody宣告在方法上,或者直接在類上宣告@RestController(相當於@Controller和@ResponseBody的結合)
2. 前端給後臺的資料是springmvc自動封裝到引數中的。如果需要json資料,可以宣告@RequestBody。後臺給前端的資料是JSON格式

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      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">

       <!--元件掃描-->
   <context:component-scan base-package="com.taobao.controller"/>

   <!--配置檢視解析器-->
   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="prefix" value="/WEB-INF/pages/"/>
       <property name="suffix" value=".html"/>
   </bean>

   <!--處理器對映器、處理器介面卡-->
   <mvc:annotation-driven/>

   <!--釋放靜態資源-->
   <mvc:default-servlet-handler/>


   <!---配置JSON解析器-->
   <mvc:annotation-driven>
 <mvc:message-converters register-defaults="true">
   <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
     <property name="supportedMediaTypes" value="application/json"/>
     <property name="features">
       <array>
         <value>WriteMapNullValue</value>
         <value>WriteDateUseDateFormat</value>
       </array>
     </property>
   </bean>
 </mvc:message-converters>
</mvc:annotation-driven>

</beans>
web.xml配置


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        version="2.5">

   <!--spring security過濾器-->
   <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:spring/spring-security.xml</param-value>
   </context-param>
   <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
   <filter>
       <filter-name>springSecurityFilterChain</filter-name>
       <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter-mapping>
       <filter-name>springSecurityFilterChain</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>


     <!-- 載入spring容器 -->
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:spring/applicationContext*.xml</param-value>
   </context-param>
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

   <!-- 解決post亂碼 -->
   <filter>
       <filter-name>CharacterEncodingFilter</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>
       <init-param>
           <param-name>forceEncoding</param-name>
           <param-value>true</param-value>
       </init-param>
   </filter>
   <filter-mapping>
       <filter-name>CharacterEncodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
   </filter-mapping>

 <!---配置前端控制器載入springMVC核心配置檔案-->
   <servlet>
       <servlet-name>springmvc</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <!-- 指定載入的配置檔案 ,通過引數contextConfigLocation載入-->
       <init-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>classpath:spring/springmvc.xml</param-value>
       </init-param>
   </servlet>

   <servlet-mapping>
       <servlet-name>springmvc</servlet-name>
       <url-pattern>*.do</url-pattern>
   </servlet-mapping>

</web-app>