Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建

7.4、spring配置文件application.xml:




       
     
        
            
               classpath:properties/*.properties
                
            
        
    



    
    
        
        
       
        
            ${jdbc_driverClassName}
        
        
            ${jdbc_url}
        
        
            ${jdbc_username}
        
        
            ${jdbc_password}
        
    

    
    
        
    

    
    
        
          
        
        
    

    
    



8、接口和类的配置:

这里写图片描述

8.1、com.luo.domain下添加User.java文件:

package com.luo.domain;

public class User {

    private Integer userId;  
    private String userName;  
    private String userPassword;  


    public Integer getUserId() {  
        return userId;  
    }  

    public void setUserId(Integer userId) {  
        this.userId = userId;  
    }  

    public String getUserName() {  
        return userName;  
    }  

    public void setUserName(String userName) {  
        this.userName = userName;  
    }  

    public String getUserPassword() {  
        return userPassword;  
    }  

    public void setUserPassword(String userPassword) {  
        this.userPassword = userPassword;  
    }  

}

8.2、com.luo.dao下添加UserDao.java文件:

package com.luo.dao;

import com.luo.domain.User;

public interface UserDao {

    /\*\*
 \* @param userId
 \* @return User
 \*/
    public User selectUserById(Integer userId);  

}

8.3、com.luo.service下添加UserService.java接口和UserServiceImpl实现类:

package com.luo.service;

import com.luo.domain.User;

public interface UserService {
    User selectUserById(Integer userId); 
}

package com.luo.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.luo.dao.UserDao;
import com.luo.domain.User;

@Service  
public class UserServiceImpl implements UserService {

    @Autowired  
    private UserDao userDao;  

    public User selectUserById(Integer userId) {  
        return userDao.selectUserById(userId);  

    }  
}

9、单元测试

这里写图片描述

9.1、com.luo.baseTest下添加SpringTestCase.java:

package com.luo.baseTest;

import org.junit.runner.RunWith;  
import org.springframework.test.context.ContextConfiguration;  
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;  
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  

//指定bean注入的配置文件 
@ContextConfiguration(locations = { "classpath:application.xml" })  
//使用标准的JUnit @RunWith注释来告诉JUnit使用Spring TestRunner 
@RunWith(SpringJUnit4ClassRunner.class)  
public class SpringTestCase extends AbstractJUnit4SpringContextTests {

}

9.2、com.luo.service添加UserServiceTest.java:

package com.luo.service;

import org.junit.Test;  
import org.springframework.beans.factory.annotation.Autowired;  
import com.luo.baseTest.SpringTestCase;  
import com.luo.domain.User;

public class UserServiceTest extends SpringTestCase {

    @Autowired  
    private UserService userService; 

    @Test  
    public void selectUserByIdTest(){  
        User user = userService.selectUserById(1);  
        System.out.println(user.getUserName() + ":" + user.getUserPassword());
    }  
}

9.3、运行单元测试,UserServiceTest右键Run As –>Junit Test,运行结果:

这里写图片描述


下面加入springmvc,并转换maven工程为web项目


10、转换成web项目:

如果上面webapp为空的,说明这个项目还不是web项目:

这里写图片描述

接下来打开如下页面。将红框里面的勾去掉,确定(OK):

这里写图片描述

然后重新打开刚刚那个页面,把Dynamic web Module勾上,就会看到红框的内容,点击:

这里写图片描述

然后配置如下:

这里写图片描述

那么webapp下就会生成这些东西:

这里写图片描述

11、配置springmvc

11.1、pom.xml文件添加依赖,修改后配置如下:


  4.0.0
  com.luo
  first_maven_project
  0.0.1-SNAPSHOT
  war

  
        
        3.2.8.RELEASE
        
        4.10
        
        3.2.1
  

  
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
            org.springframework
            spring-aop
            ${spring.version}
        
        
            org.springframework
            spring-aspects
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        

        
        
            junit
            junit
            ${junit.version}
            test
        

        
        
            org.springframework
            spring-test
            ${spring.version}
            test
        

        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        

        
        
            org.mybatis
            mybatis-spring
            1.2.0
        

        
        
            mysql
            mysql-connector-java
            5.1.29
        

          
          
            javax  
            javaee-api  
            6.0  
            provided  
          

          
          
            javax  
            javaee-web-api  
            6.0  
            provided  
          

    


其实也就增加了下面两个



    javax
    javaee-api
    6.0
    provided




    javax
    javaee-web-api
    6.0
    provided

11.2、在src/main/resource中添加springmvc文件夹,然后添加文件spring-mvc.xml,内容如下:




    
   
     

   
   

11.3、配置web.xml



    Archetype Created Web Application
   
    
        index.jsp
    

    
    
        contextConfigLocation
        classpath:application.xml
    
    
    
        webAppRootKey
        springmvc.root
    


    
    
        SpringEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    
    
        SpringEncodingFilter
        /*
    

    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            
            classpath:springmvc/spring-mvc.xml
        
        1
    
    
    
        dispatcherServlet
        /
    

    
    
        
        404
        /WEB-INF/errorpage/404.jsp
    
    
        
        405
        /WEB-INF/errorpage/405.jsp
    
    
        
        500
        /WEB-INF/errorpage/500.jsp
    

11.4、添加index.jsp,在src/main/webapp/WEB-INF下新建一个文件夹view,添加一个index.jsp,内容如下:

这里写图片描述

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>


Hello World!

用户名: ${user.userName}
密码:${user.userPassword}

11.5、写controller

这里写图片描述

在src/main/java下新建一个包com.luo.controller.然后新建一个类UserController.java,其内容如下

package com.luo.controller;

import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.luo.domain.User;
import com.luo.service.UserService;

@Controller  
public class UserController {  

    @Resource  
    private UserService userService; 

    @RequestMapping("/")    
    public ModelAndView getIndex(){      
        ModelAndView mav = new ModelAndView("index"); 
        User user = userService.selectUserById(1); 
        mav.addObject("user", user); 
        return mav; 
    }    
}  

11.6 运行!!!!完成!

这里写图片描述

12、源码下载

http://download.csdn.net/detail/u013142781/9376381

13、可能会遇到的错

之前有个兄弟按照我的配置,但是发现pom.xml文件报如下错误:

Cannot detect Web Project version. Please specify version of Web Project through  configuration property of war plugin. E.g.:  maven-war-plugin  3.0  

解决方案是,如下的三个地方jdk版本需要保持一致:

1、项目右键->属性->Java Compiler:

这里写图片描述

2、项目右键->属性->Project Facets:

这里写图片描述

3、如果pom.xml配置了如下的插件的话:

你可能感兴趣的:(maven,mybatis,mysql)