SSM+Maven

1. 建表语句及插入数据

1

2

3

4

5

6

7

8

9

CREATE TABLE `book_user` (

  user_id INT(11) NOT NULL AUTO_INCREMENT,

  user_name VARCHAR(50) COLLATE utf8_unicode_ci NOT NULL,

  user_password CHAR(10) COLLATE utf8_unicode_ci NOT NULL,

  PRIMARY KEY (`user_id`),

  KEY `user_name` (`user_name`)

) ENGINE=INNODB AUTO_INCREMENT=10000003 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

 

INSERT INTO book_user(user_name, user_password) VALUES('user1', 'user1.'),('user2', 'user2.');

2. Maven( ['meɪv(ə)n])

SSM+Maven_第1张图片

3. 选择快速框架

SSM+Maven_第2张图片

4. 输出项目名,包(Packaging,如果只是普通的项目,选jar就好了,如果是web项目就选war,这里是web项目,所以选择war)

SSM+Maven_第3张图片

5.     创建好的目录如下:

SSM+Maven_第4张图片

6.添加包的依赖,编辑pom.xml文件添加如下依赖:

  4.0.0

  com.hlx

  book_maven_project

  0.0.1-SNAPSHOT

  war

  

 

       

        3.2.8.RELEASE

       

        1.6.6

        1.2.12

       

        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

       

 

       

       

       

            log4j

            log4j

            ${log4j.version}

       

       

            org.slf4j

            slf4j-api

            ${slf4j.version}

       

       

            org.slf4j

            slf4j-log4j12

            ${slf4j.version}

       

       

 

       

       

            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

       

   

  

7.创建好的目录如下:

 SSM+Maven_第5张图片

 

7.1 mybatis包下添加mybatis-config.xml文件(mybatis配置文件):

 

"http://mybatis.org/dtd/mybatis-3-config.dtd">  

   

 

7.2properties包下添加jdbc.properties文件(数据源配置文件):

 

jdbc_driverClassName=com.mysql.jdbc.Driver

jdbc_url=jdbc:mysql://localhost:3306/web_test

jdbc_username=root

jdbc_password=Aa111111

 

7.3mapper包下userMapper.xml配置文件(表映射文件):

 

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

   

       

       

       

   

   

   

 

7.4spring配置文件application.xml:

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xsi:schemaLocation="  

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

 

       

     

       

           

               classpath:properties/*.properties

               

           

       

   

 

   

   

        class="org.springframework.jdbc.datasource.DriverManagerDataSource">

       

       

       

       

            ${jdbc_driverClassName}

       

       

            ${jdbc_url}

       

       

            ${jdbc_username}

       

       

            ${jdbc_password}

       

   

 

   

   

       

            value="com.hlx.dao" />

   

 

   

   

       

         

       

       

   

 

   

   

 

 

8.接口和类的配置:

 SSM+Maven_第6张图片

 

 

8.1com.hlx.domain下添加User.Java文件:

 

package com.hlx.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.2com. hlx.dao下添加UserDao.java文件:

 

package com.hlx.dao;

 

import com.hlx.domain.User;

 

public interface UserDao {

/**

* @param userId

* @return

*/

public User selectUserById(Integer userId);

}

 

 

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

 

package com.hlx.service;

 

import com.hlx.domain.User;

 

public interface UserService {

public User selectUserById(Integer userId);

}

 

 

package com.hlx.service;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

 

import com.hlx.dao.UserDao;

import com.hlx.domain.User;

 

@Service

public class UserServiceImpl implements UserService {

@Autowired

private UserDao userDao;

 

public User selectUserById(Integer userId) {

return userDao.selectUserById(userId);

}

 

}

 

9.单元测试:

 

9.1com.hlx.baseTest下添加SpringTestCase.java:

 

package com.hlx.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.2com.hlx.service添加UserServiceTest.java:

 

package com.hlx.service;

 

import org.junit.Test;

import org.springframework.beans.factory.annotation.Autowired;

 

import com.hlx.baseTest.SpringTestCase;

import com.hlx.domain.User;

 

public class UserServiceTest extends SpringTestCase {

@Autowired 

    private UserService userService; 

 

    @Test 

    public void selectUserByIdTest(){  

        User user = userService.selectUserById(10000003);  

        System.out.println(user.getUserName() + ":" + user.getUserPassword());

    }  

}

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

SSM+Maven_第7张图片

 

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

10.转换成web项目:

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

SSM+Maven_第8张图片

 

 

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

 SSM+Maven_第9张图片

 

然后重新打开刚刚那个页面,把Dynamic web Module勾上(显示需要更高的java版本,但调整java版本后依旧显示更高版本;所以在这里就将Dynamic Web Module版本调低),就会看到红框的内容,点击:

SSM+Maven_第10张图片

 

然后配置如下:

SSM+Maven_第11张图片

 

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

 SSM+Maven_第12张图片

 

 

11.配置springmvc:

11.1在pom.xml增加两个依赖:

 

javax

javaee-api

6.0

provided

 

javax

javaee-web-api

6.0

provided

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

 

  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">

 

    

   

     

 

   

   

      p:prefix="/WEB-INF/view/" p:suffix=".jsp"/>

 

11.3配置web.xml

 

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_2_5.xsd">

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,内容如下:

 SSM+Maven_第13张图片

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

pageEncoding="UTF-8"%>

Insert title here

Hello World!

用户名: ${user.userName} 

密码:${user.userPassword}

11.5写controller

SSM+Maven_第14张图片

 

package com.hlx.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.hlx.domain.User;

import com.hlx.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;    

    }    

}

 

 

12.Eclipse配置tomcat

SSM+Maven_第15张图片

SSM+Maven_第16张图片

SSM+Maven_第17张图片

 

配置后发现工程没有部署上,所以修改相关路径

 SSM+Maven_第18张图片

SSM+Maven_第19张图片

SSM+Maven_第20张图片

SSM+Maven_第21张图片

SSM+Maven_第22张图片

13.备注说明

13.1主要参考文档

http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651477246&idx=2&sn=f30d754635ec5a3f589574707c12c263&scene=21#wechat_redirect

13.2用注解Resource时出错,本人改变了javaSE版本

SSM+Maven_第23张图片

SSM+Maven_第24张图片

 

13.3可能会遇到的错

 

之前有个兄弟按照我的配置,但是发现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:

SSM+Maven_第25张图片

 

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

 SSM+Maven_第26张图片

 

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

 

 

   

      maven-compiler-plugin

     

        1.7

        1.7

     

   

   

      maven-war-plugin

      2.4

     

        3.0

     

   

 

  webserver

 

这里也要跟上面两个保持一致:

https://blog.csdn.net/zackwang2006/article/details/78854675?utm_source=blogxgwz0

你可能感兴趣的:(SSM)