Java-SSM-项目搭建

1.描述

1.1.创建总工程

这里我们使用子模块的方式进行创建,首先创建一个新的项目ssm

File->New->Project

选择maven工程后,点击Next,输入相应的信息

image.png

后点击下一步,并且填写好相应的信息:

image.png

1.2.创建dao层

后点击完成,点击右下角的:Enable Auto-Import

image.png

删除src目录:

image.png

在ssm项目名上右键->New->Module,后依然选择Maven项目,点击下一步:

image.png

设置此模块名称为ssm_dao,点击下一步:

image.png

后点击完成.

1.3.创建biz(业务)层

按照1.2的方式创建ssm_biz层.(只有模块命名时候不一样,命名为ssm_biz即可)

1.4.创建web层

ssm项目名称上右键->New->Module,选择Maven,并且勾选Creat from archetype
选择maven-archetype-webapp,主要不要选成cocoon-22那个.

image.png

命名ArtifactId为ssm_web,一直点击下一步直至完成.

在web模块下的src->main文件夹上右键创建java和resources文件夹

image.png

菜单栏:File->Project Structure打开窗口后,点击Module下的ssm_web

image.png

展开main,点击java后点击Sources,点击resources后点击Resources

image.png
image.png

最后点击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中


b

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

image.png

biz模块的java下创建目录

  • com.biz 存放业务接口
  • com.biz.impl 存放业务接口的实现类

biz模块的resources下创建文件spring-biz.xml文件,用于配置业务层的的类扫描目录,事务管理以及aop配置

image.png

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模块目录结构如下

image.png

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层配置完毕

image.png

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层配置完毕:

image.png

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数据库的操作.

你可能感兴趣的:(Java-SSM-项目搭建)