1.描述
1.1.创建总工程
这里我们使用子模块的方式进行创建,首先创建一个新的项目ssm
File->New->Project
选择maven工程后,点击Next,输入相应的信息
后点击下一步,并且填写好相应的信息:
1.2.创建dao层
后点击完成,点击右下角的:Enable Auto-Import
删除src目录:
在ssm项目名上右键->New->Module,后依然选择Maven项目,点击下一步:
设置此模块名称为ssm_dao,点击下一步:
后点击完成.
1.3.创建biz(业务)层
按照1.2的方式创建ssm_biz层.(只有模块命名时候不一样,命名为ssm_biz即可)
1.4.创建web层
ssm项目名称上右键->New->Module,选择Maven,并且勾选Creat from archetype
选择maven-archetype-webapp,主要不要选成cocoon-22那个.
命名ArtifactId为ssm_web,一直点击下一步直至完成.
在web模块下的src->main文件夹上右键创建java和resources文件夹
菜单栏:File->Project Structure打开窗口后,点击Module下的ssm_web
展开main,点击java后点击Sources,点击resources后点击Resources
最后点击OK,使其生效.
1.5.配置pom文件:
ssm工程的pom文件不需要操作
dao工程的pom文件配置
4.0.2.RELEASE
mysql
mysql-connector-java
5.1.44
org.mybatis
mybatis
3.4.4
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.mybatis
mybatis-spring
1.3.1
biz的pom文件核心代码:
4.0.2.RELEASE
com.zy
ssm_dao
1.0-SNAPSHOT
org.springframework
spring-tx
${spring.version}
org.springframework
spring-aop
${spring.version}
org.aspectj
aspectjweaver
1.8.0
web模块的pom文件核心代码:
4.0.2.RELEASE
com.zy
ssm_biz
1.0-SNAPSHOT
javax.servlet
javax.servlet-api
4.0.0
javax.servlet
jstl
1.2
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
ssm_web
把jar包放入lib中
1.6.创建相关的文件夹目录以及配置文件
dao模块的java下创建目录
- com.dao 存放dao接口
- com.entity 存放实体类
- com.global 存放全局数据
dao模块的resources下创建目录
- mapper 存放与数据库映射的mapper.xml文件,里面的mapper要替换成与dao下面的接口类名一直的名称
dao模块的resources下创建spring-dao.xml文件,用于配置dao层的类扫描目录,数据库以及mybatis
biz模块的java下创建目录
- com.biz 存放业务接口
- com.biz.impl 存放业务接口的实现类
biz模块的resources下创建文件spring-biz.xml文件,用于配置业务层的的类扫描目录,事务管理以及aop配置
web模块的java下创建目录
- com.controller 存放springMVC的controller类
- com.dto 存放数据传输对象
- com.global 用于存放过滤器拦截器等
web模块的resources目录下创建spring-web.xml用于配置web层的类扫描目录,页面的统一路径,模板,跳转的前缀,后缀名,拦截器等.
web模块的webapp下放入通用的js,css,html/jsp等.
在这我们在webapp下创建:
- js
- css
- html
- jsp
web模块目录结构如下
1.7.完善框架内容.
数据库中创建一个简单的库和表,用于项目的完整搭建.
使用建表语句在MySql中创建简单的表,并且加入数据:
-- ----------------------------
-- Table structure for person
-- ----------------------------
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of person
-- ----------------------------
BEGIN;
INSERT INTO `person` VALUES ('张三', 22);
INSERT INTO `person` VALUES ('Tom', 30);
COMMIT;
1.7.1.配置dao模块
配置spring-dao.xml文件:
在entity包下创建Person实体类:
package com.entity;
public class Person {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
在dao包下创建PersonDao接口:
package com.dao;
import com.entity.Person;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("personDao")
public interface PersonDao {
List selectAll();
}
在mapper下创建文件PersonDao.xml文件(注意这里的xml文件名,务必要与dao中的dao接口名一致):
至此dao层配置完毕
1.7.2.配置biz模块
配置spring-biz.xml文件:
com.biz包下创建PersonBiz接口:
package com.biz;
import com.entity.Person;
import java.util.List;
public interface PersonBiz {
List getAll();
}
com.biz包下创建PersonBizImpl类实现PersonBiz接口:
package com.biz.impl;
import com.biz.PersonBiz;
import com.dao.PersonDao;
import com.entity.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("personBiz")
public class PersonBizImpl implements PersonBiz{
@Autowired
private PersonDao personDao;
public List getAll() {
return personDao.selectAll();
}
}
至此biz层配置完毕:
1.7.3.配置web模块
com.global下创建EncodingFilter类
package com.global;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class EncodingFilter implements Filter {
private String encoding = "utf-8";
public void init(FilterConfig filterConfig) throws ServletException {
if(filterConfig.getInitParameter("encoding")!=null){
encoding = filterConfig.getInitParameter("encoding");
}
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
filterChain.doFilter(request,response);
}
public void destroy() {
}
}
com.controller下创建PersonController:
package com.controller;
import com.biz.PersonBiz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
@Controller("personController")
@RequestMapping("/person")
public class PersonController {
@Autowired
private PersonBiz personBiz;
@RequestMapping("/list")
public String list(Map map){
map.put("list",personBiz.getAll());
System.out.println("personBiz.getAll() = [" + personBiz.getAll() + "]");
return "person_list";
}
}
配置spring-web.xml:
配置web.xml:
encoding
com.global.EncodingFilter
encoding
utf-8
encoding
/*
default
/assets/*
/js/*
/vendor/*
*.js
*.jpg
*.gif
*.png
*.css
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-web.xml
1
SpringMVC
/
WEB-INF/pages下创建person_list.jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
PersonList
人名
年龄
${person.name}
${person.age}
- 工程下载地址:
https://github.com/DeveloperZhang/SpringMVCDemo
2.总结
以上就是SSM的基础配置,包含了链接MySql数据库的操作.