使用maven搭建一个简单的SSM框架

       学习了ssm框架后,一直想要自己亲自搭建一个,最近尝试了一下,效果还行,算是一个微型的ssm框架吧。介绍一下,我使用的IDE是idea。

       首先,创建一个maven的web工程,如下:

使用maven搭建一个简单的SSM框架_第1张图片

        然后点击next,添加groupId,artifactId和version,这个随便起不过groupId表示你的包名,artifactId表示你的项目名,如下:

使用maven搭建一个简单的SSM框架_第2张图片

        然后一路next,这里要注意一下,可能有的小伙伴下载maven项目奇慢无比,这是由于如果你没添加任何配置的话,你的maven依赖默认是从中央仓库下载的,而中央仓库在国外,所以慢是可以理解的,那么,有什么可以解决的呢?有,那就是在你的"settings.xml"文件中添加阿里巴巴的镜像即可:如下:

 
        alimaven
        aliyun maven
        http://maven.aliyun.com/nexus/content/groups/public/
        central        
   

使用maven搭建一个简单的SSM框架_第3张图片

创建好的maven目录结构如下:

使用maven搭建一个简单的SSM框架_第4张图片

但是我们需要把它配置成标准的maven项目机构,如下:

使用maven搭建一个简单的SSM框架_第5张图片

这里,我们还需要将java标记为源文件,resouces标记为配置文件,如下所示:

使用maven搭建一个简单的SSM框架_第6张图片

使用maven搭建一个简单的SSM框架_第7张图片

然后在pom.xml文件中引入相关的spring的依赖,如下:


    UTF-8
    1.7
    1.7
    5.0.3.RELEASE
    3.4.4


  

    
      junit
      junit
      4.11
      test
    
    
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      javax.servlet
      javax.servlet-api
      3.0.1
      provided
    
    
      javax.servlet.jsp
      jsp-api
      2.2
      provided
    
    
      javax.servlet
      jstl
      1.2
    
    
      taglibs
      standard
      1.1.2
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.4
    
    
    
    
      mysql
      mysql-connector-java
      5.1.38
    
    
    
      com.mchange
      c3p0
      0.9.5.2
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.3.1
    
    
    
    
      ch.qos.logback
      logback-classic
      1.1.1
    

  

然后在resources配置中创建如下xml文件:

使用maven搭建一个简单的SSM框架_第8张图片

这里的applicationContext-dataSource.xml文件中添加和数据库相关的配置信息,如下:





    
    

    
    
    
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
        
        
        
            
                true
            
        
    

    
    
        
        
        
        
    

    
    
        
        
    

    
    


 那么,就需要配置连接数据库的配置了,我们放在jdbc.properties中,如下:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/bjpowernode?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
#最大连接数
c3p0.maxPoolSize=30000
#最小连接数
c3p0.minPoolSize=10
#关闭连接后不自动commit
c3p0.autoCommitOnClose=false
#获取连接超时时间
c3p0.checkoutTimeout=10000
#当获取连接失败重试次数
c3p0.acquireRetryAttempts=2

其中,这里:

是你自己的数据库库名,自己根据自己的情况酌情而定。

然后在applicationContext-springMVC,xml中配置有关springMVC相关的配置信息:





    
    

    
    
        
        
    

 再然后,在applicationContext.xml总配置文件中引入其他的配置文件:




    
    
    
    

    
    
    


 

 其中mapper中的emp.xml中是写sql的如下:







    
        
        
        
        
        
        
        
        
    

    

然后在web.xml文件中配置一些servlet和其他信息:

使用maven搭建一个简单的SSM框架_第9张图片



  
    index.jsp
  
  
    SpringMVC
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:applicationContext*.xml
      
    
    1
    true
  
  
    SpringMVC
    /
  
  
    contextConfigLocation
    classpath:applicationContext*.xml

  


  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  
  
    encodingFilter
    /*
  

  
  
    org.springframework.web.context.ContextLoaderListener
  

  
  
    org.springframework.web.util.IntrospectorCleanupListener
  
  
    30
  

再然后是源文件目录如下:

使用maven搭建一个简单的SSM框架_第10张图片

使用maven搭建一个简单的SSM框架_第11张图片

至于源文件中的内容如下:

首先是domain层:

package com.Jevin.domain;

import java.util.Date;

public class Emp {

    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
    private Date hiredate;
    private Double sal;
    private Double comm;
    private Integer deptno;

    public Emp(){};

    public Emp(Integer empno, String ename, String job, Integer mgr, Date hiredate, Double sal, Double comm, Integer deptno) {
        this.empno = empno;
        this.ename = ename;
        this.job = job;
        this.mgr = mgr;
        this.hiredate = hiredate;
        this.sal = sal;
        this.comm = comm;
        this.deptno = deptno;
    }

    public Integer getEmpno() {
        return empno;
    }

    public void setEmpno(Integer empno) {
        this.empno = empno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public Integer getMgr() {
        return mgr;
    }

    public void setMgr(Integer mgr) {
        this.mgr = mgr;
    }

    public Date getHiredate() {
        return hiredate;
    }

    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }

    public Double getSal() {
        return sal;
    }

    public void setSal(Double sal) {
        this.sal = sal;
    }

    public Double getComm() {
        return comm;
    }

    public void setComm(Double comm) {
        this.comm = comm;
    }

    public Integer getDeptno() {
        return deptno;
    }

    public void setDeptno(Integer deptno) {
        this.deptno = deptno;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "empno=" + empno +
                ", ename='" + ename + '\'' +
                ", job='" + job + '\'' +
                ", mgr=" + mgr +
                ", hiredate=" + hiredate +
                ", sal=" + sal +
                ", comm=" + comm +
                ", deptno=" + deptno +
                '}';
    }
}

然后是dao层:

package com.Jevin.dao;

import com.Jevin.domain.Emp;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface EmpDao {
    public List getEmp();
}

然后是service层:

package com.Jevin.service;

import com.Jevin.domain.Emp;

import java.util.List;

public interface EmpService {
    public List getEmp();
}
package com.Jevin.service.inpl;

import com.Jevin.dao.EmpDao;
import com.Jevin.domain.Emp;
import com.Jevin.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class EmpServiceImpl implements EmpService {

    @Autowired
    private EmpDao empDao;

    @Override
    public List getEmp() {
        return empDao.getEmp();
    }
}

 最后第controller层:

package com.Jevin.controller;

import com.Jevin.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/emp")
public class EmpController {

    @Autowired
    private EmpService empService;

    @RequestMapping(value="/query")
    public Object getEmp(){
        return empService.getEmp();
    }
}

好了,至此代码已经都写完了,接下来配置tomcat容器:

使用maven搭建一个简单的SSM框架_第12张图片

 使用maven搭建一个简单的SSM框架_第13张图片

 这里,还需要将你的项目打包成jar包,或者是war包,尽管idea已经替你打好了,但是你还需要学会自己打包:如下:

使用maven搭建一个简单的SSM框架_第14张图片

 使用maven搭建一个简单的SSM框架_第15张图片

 然后就是将项目部署到tomcat中去:

使用maven搭建一个简单的SSM框架_第16张图片

 好了,至此项目已经结束,可以启动tomcat跑项目了:

使用maven搭建一个简单的SSM框架_第17张图片

浏览器中有如上的json信息,表明配置成功了! 

你可能感兴趣的:(杂项)