hykd

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

首先,修改web.xml,添加配置文件路由以及格式过滤

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
 3 <display-name>Archetype Created Web Application</display-name>
 4      <servlet-mapping>
 5         <servlet-name>springmvc</servlet-name>
 6         <url-pattern>/</url-pattern>
 7     </servlet-mapping>
 8 
 9 <!-- 将数据过滤成UTF-8 -->
10 <filter>  
11     <filter-name>encodingFilter</filter-name>  
12     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
13     <init-param>  
14         <param-name>encoding</param-name>  
15         <param-value>UTF-8</param-value>  
16     </init-param>  
17     <init-param>  
18         <param-name>forceEncoding</param-name>  
19         <param-value>true</param-value>  
20     </init-param>  
21 </filter>  
22 <filter-mapping>  
23     <filter-name>encodingFilter</filter-name>  
24     <url-pattern>/*</url-pattern>  
25 </filter-mapping>  
26 
27 <!-- 添加配置文件路由 -->
28 <servlet>
29         <servlet-name>springmvc</servlet-name>
30         <servlet-class>
31             org.springframework.web.servlet.DispatcherServlet
32         </servlet-class>
33         <init-param>
34             <param-name>contextConfigLocation</param-name>
35             <param-value>classpath:applicationContext.xml,classpath:springmvc-config.xml</param-value>
36         </init-param>
37         <load-on-startup>1</load-on-startup>    
38 </servlet>
39 </web-app>

修改applicationContext.xml,定义数据源,添加事务管理,持久层的bean(Dao)

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
 4  xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
 5  xmlns:p="http://www.springframework.org/schema/p"
 6  xmlns:aop="http://www.springframework.org/schema/aop"
 7  xsi:schemaLocation="http://www.springframework.org/schema/beans
 8     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 9     http://www.springframework.org/schema/context
10     http://www.springframework.org/schema/context/spring-context-3.0.xsd
11     http://www.springframework.org/schema/tx
12     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
13     http://www.springframework.org/schema/jdbc
14     http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
15     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> 
16     <context:component-scan base-package="com.zqc.share" />  
17 <!--     <context:property-placeholder location="classpath:db.properties" /> 
18  -->     
19      <!-- 定义数据源Bean,使用C3P0数据源实现 -->
20     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
21         <!-- 指定连接数据库的驱动 -->
22         <property name="driverClass" value="com.mysql.jdbc.Driver"/>
23         <!-- 指定连接数据库的URL -->
24         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/share"/>
25         <!-- 指定连接数据库的用户名 -->
26         <property name="user" value="root"/>
27         <!-- 指定连接数据库的密码 -->
28         <property name="password" value="1111"/>
29         <!-- 指定连接数据库连接池的最大连接数 -->
30         <property name="maxPoolSize" value="40"/>
31         <!-- 指定连接数据库连接池的最小连接数 -->
32         <property name="minPoolSize" value="1"/>
33         <!-- 指定连接数据库连接池的初始化连接数 -->
34         <property name="initialPoolSize" value="1"/>
35         <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
36         <property name="maxIdleTime" value="20"/>
37     </bean>
38     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
39        <property name="dataSource" ref="dataSource" />  
40        <property name="configLocation" value="classpath:mybatis_config.xml"></property> 
41     </bean> 
42     <bean id="newsDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  
43       <property name="mapperInterface" value="com.zqc.share.dao.news.NewsDao"></property>  
44        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>  
45     </bean> 
46     
47     <!-- 事务管理 -->
48     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
49         <property name="dataSource" ref="dataSource"></property>  
50     </bean>  
51     <tx:annotation-driven transaction-manager="transactionManager" />
52 </beans>  

配置springmvc

<?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"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    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
         http://www.springframework.org/schema/util
          http://www.springframework.org/schema/util/spring-util.xsd">
        
    <context:component-scan base-package="com.zqc.share.controller"/>
    <context:component-scan base-package="com.zqc.share.service"/>
    <context:component-scan base-package="com.zqc.share.dao"/> 
    <context:component-scan base-package="com.zqc.share.framework"/>
    <context:component-scan base-package="com.zqc.share.model"/>
  <!-- 自动加载注解-->
       <mvc:annotation-driven/>
       <bean class="com.zqc.share.framework.listener.InitListener"/>
 
       <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
            <property name="supportedMediaTypes">  
               <list>  
                  <value>text/html;charset=UTF-8</value>  
               </list>  
            </property>  
       </bean>  
       <context:annotation-config/> 
        
        <mvc:interceptors>  
           <bean class="com.zqc.share.framework.interceptor.TokenValidateInterceptor" />  
        </mvc:interceptors>
        
       <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
           <property name="prefix" value="/WEB-INF/jsp/"/>
           <property name="suffix" value=".jsp"/>
    </bean>
    
</beans>

控制层代码:NewsController

 1 @Controller
 2 public class NewsController {
 3 
 4     @Autowired
 5     NewsService newsService;
 6 
 7        @ResponseBody
 8     @RequestMapping(value = "/addNews", method = RequestMethod.POST, consumes = "application/json")  
 9     public Object addNews(@RequestBody News news){
10        
11         com.zqc.share.framework.model.ResponseBody responseBody = new com.zqc.share.framework.model.ResponseBody();
12         int status = newsService.addNews(news);
13         if(status != 0 ){
14             responseBody.setErrorCode(0);
15         }
16         else {
17             responseBody.setErrorMsg("添加新闻失败");
18             responseBody.setErrorCode(1);
19         }
20         
21         return responseBody;  
22     }  
23     }  
24 }

其中responseBody用于封装返回值,用过springmvc的@ResponseBody解析成json

 1 public class ResponseBody {
 2 
 3     private String responseContext;
 4     
 5     private String errorMsg;
 6     
 7     private int errorCode;
 8 
 9     public String getResponseContext() {
10         return responseContext;
11     }
12 
13     public void setResponseContext(String responseContext) {
14         this.responseContext = responseContext;
15     }
16 
17     public String getErrorMsg() {
18         return errorMsg;
19     }
20 
21     public void setErrorMsg(String errorMsg) {
22         this.errorMsg = errorMsg;
23     }
24 
25     public int getErrorCode() {
26         return errorCode;
27     }
28 
29     public void setErrorCode(int errorCode) {
30         this.errorCode = errorCode;
31     }
32     
33     
34 }

接下来是service层

 1 @Service
 2 public class NewsService {
 3 
 4     @Resource(name="newsDao")
 5     NewsDao newsDao;
 6  
 7         public int addNews(News news){
 8         return newsDao.addNews(news);
 9     }
10 
11 }

Dao层

1 public interface NewsDao {
2 
3     public int addNews(@Param("news") News news);
4     
5 }

NewsDao.xml

1 <?xml version="1.0" encoding="UTF-8" ?> 
2 <!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 <mapper namespace="com.zqc.share.dao.news.NewsDao">  
4    <insert id="addNews" parameterType="com.zqc.share.model.news.News">
5         insert into news (title,description,head_image,publishtime,readtimes,user_id,topic_id,goodcount,badcount)  
6              values(#{news.title},#{news.description},#{news.head_image},#{news.publishtime},#{news.readtimes},#{news.user_id},#{news.topic_id},#{news.goodcount},#{news.badcount})
7     </insert>
8 </mapper>

配置路由

<?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>
    <mappers>
        <mapper resource="com/zqc/share/dao/news/NewsDao.xml" />
    </mappers>
</configuration>

完工。。。。

 

posted on 2016-09-11 11:10  hykd  阅读(280)  评论(0)    收藏  举报