Maven+SpringMVC+MyBatis实现系统(二)

来源:互联网 发布:京东me软件 编辑:程序博客网 时间:2024/05/18 02:34


摘要 接上一篇!

目录[-]

  • 6.  mybatis配置
  • 7.  junit测试插入功能
  • 测试成功!
  • 8.  springMVC模块搭建 
  • 9.  log4j日志记录搭建
  • 10.  测试运行
  • com.cx.bank.dao/UserDao.java(dao操作接口)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    package com.cx.bank.dao;
     
    import org.springframework.stereotype.Component;
     
    import com.cx.bank.po.User;
     
    @Component(value="userDao")
    public interface UserDao {
     
        /**
         
         *@liyixiang
         *@2014-10-20
         *@param:
         *@return:int
         *@TODO:  添加新用户
         * @param user
         * @return
         */
        public int addUser(User user); 
    }

    com.cx.bank.service/UserService.java(service层接口)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    package com.cx.bank.service;
     
    import com.cx.bank.po.User;
     
    public interface UserService {
     
        public int register(User user);
    }

    com.cx.bank.service.impl/UserServiceImpl.java(service层接口实现)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    package com.cx.bank.service.impl;
     
    import javax.annotation.Resource;
     
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
     
    import com.cx.bank.dao.UserDao;
    import com.cx.bank.po.User;
    import com.cx.bank.service.UserService;
     
    @Service(value="userServiceImpl")
    public class UserServiceImpl implements UserService {
     
        @Resource(name="userDao")
        private UserDao userDao;
         
        @Override
        public int register(User user) {
            // TODO Auto-generated method stub 
            return userDao.addUser(user);
        }
     
    }


    6.  mybatis配置

       conf/mybatis-config.xml(mybatis配置的基本文件)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?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>
            <!-- 命名空间 -->
        <typeAliases>
             <typeAlias alias="User" type="com.cx.bank.po.User"/>
        </typeAliases>
      
        <!-- 映射map -->
        <mappers>
        </mappers>
    </configuration>


    conf/mapper/UserMapper.xml(mybatis的实现)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?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">
    <mapper namespace="com.cx.bank.dao.UserDao">
                 
             <insert id="addUser" parameterType="User" keyProperty="id">
                 insert into t_user(username,password,money) values
             (#{username},#{password},#{money})
             </insert>
               
               
    </mapper>


    7.  junit测试插入功能

    com.cx.bank.test/UserTests.java(用户测试模块)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    package com.cx.bank.test;
     
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
     
    import com.cx.bank.po.User;
    import com.cx.bank.service.UserService;
     
    public class UserTests{
     
        private UserService userService;
         
        @Before
        public void before(){                                                                   
            @SuppressWarnings("resource")
            ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"classpath:conf/spring.xml"
                    ,"classpath:conf/spring-mybatis.xml"});
            userService = (UserService) context.getBean("userServiceImpl");
        }
          
        @Test
        public void addUser(){
            User user = new User();
            user.setUsername("lyx");
            user.setPassword("123456");
            user.setMoney(10);
            System.out.println(userService.register(user));
        }
    }

    测试成功!

    8.  springMVC模块搭建 

        web.xml(web功能配置)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        id="WebApp_ID" version="2.5">
        <display-name>Archetype Created Web Application</display-name>
      
        <!-- 读取spring配置文件 -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:conf/spring.xml;
                classpath:conf/spring-mybatis.xml
            </param-value>
        </context-param>
        <!-- 设计路径变量值 -->
        <context-param>
            <param-name>webAppRootKey</param-name>
            <param-value>springmvc.root</param-value>
        </context-param>
      
      
        <!-- Spring字符集过滤器 -->
        <filter>
            <filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      
        <!-- 日志记录 -->
        <context-param>
            <!-- 日志配置文件路径 -->
            <param-name>log4jConfigLocation</param-name>
            <param-value>classpath:conf/log4j.properties</param-value>
        </context-param>
        <context-param>
            <!-- 日志页面的刷新间隔 -->
            <param-name>log4jRefreshInterval</param-name>
            <param-value>6000</param-value>
        </context-param>
        <listener>
            <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
        </listener>
      
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
      
        <!-- springMVC核心配置 -->
        <servlet>
            <servlet-name>spring</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:conf/spring-mvc.xml</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>spring</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
      
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
      
        <!-- 错误跳转页面 -->
        <error-page>
            <!-- 路径不正确 -->
            <error-code>404</error-code>
            <location>/WEB-INF/errorpage/404.jsp</location>
        </error-page>
        <error-page>
            <!-- 没有访问权限,访问被禁止 -->
            <error-code>405</error-code>
            <location>/WEB-INF/errorpage/405.jsp</location>
        </error-page>
        <error-page>
            <!-- 内部错误 -->
            <error-code>500</error-code>
            <location>/WEB-INF/errorpage/500.jsp</location>
        </error-page>
    </web-app>


    conf/spring-mvc.xml(mvc配置文件)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:p="http://www.springframework.org/schema/p"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
          
        <!-- 扫描controller(controller层注入) -->
       <context:component-scan base-package="com.cx.bank.controller"/>
         
       <!-- 避免IE在ajax请求时,返回json出现下载
       <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">    
            <property name="supportedMediaTypes">
                <list>
                    <value>text/html;charset=UTF-8</value>
                </list>
            </property>
        </bean>
        -->
          
       <!-- 对模型视图添加前后缀 -->
         <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>
    </beans>


    9.  log4j日志记录搭建

        conf/log4j.properties(日志记录的配置文件)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ### set log levels ###
    #log4j.rootLogger = debug , stdout , D , E
    log4j.rootLogger = debug , stdout , D
      
    ###  output to the console ###
    log4j.appender.stdout = org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target = System.out
    log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
    #log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n
    log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
      
    ### Output to the log file ###
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/error.log
    log4j.appender.D.Append = true
    log4j.appender.D.Threshold = ERROR
    log4j.appender.D.layout = org.apache.log4j.PatternLayout
    log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n


    10.  测试运行

    WEB-INF/jsp/index.jsp(测试文件)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
         
        <title>My JSP 'index.jsp' starting page</title>
         
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
     
      </head>
       
      <body>
            <h1>欢迎你!!!</h1>
      </body>
    </html>

    com.cx.bank.controller/UserController.java(controller层控制)

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package com.cx.bank.controller;
     
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
     
    @Controller
    @RequestMapping("/")
    public class UserController {
     
        @RequestMapping("index")
        public String index(){
            return "index";
        }
    }


    测试成功!


    0 0
    原创粉丝点击