7.4、spring配置文件application.xml:
classpath:properties/*.properties
${jdbc_driverClassName}
${jdbc_url}
${jdbc_username}
${jdbc_password}
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.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项目
如果上面webapp为空的,说明这个项目还不是web项目:
接下来打开如下页面。将红框里面的勾去掉,确定(OK):
然后重新打开刚刚那个页面,把Dynamic web Module勾上,就会看到红框的内容,点击:
然后配置如下:
那么webapp下就会生成这些东西:
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 运行!!!!完成!
http://download.csdn.net/detail/u013142781/9376381
之前有个兄弟按照我的配置,但是发现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配置了如下的插件的话: