maven搭建ssm初级框架

喜欢的朋友可以关注下,粉丝也缺。


前言:

想必大家对smm框架已经熟悉的不能再熟悉了,它是Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。我们在一般的项目都能用到它,自己搭建一个smm也挺方便的。下面我就给大家介绍一下如何搭建一个初级的ssm框架。

下面吧demo的下载贡献给大家,需要的可以去下载

https://download.csdn.net/download/dsn727455218/10524640

正文:

1.创建一个maven项目,这个这里我就不做介绍了,很简单的,拿eclipse举例,下载maven插件就行,已经maven本地仓库。

2.准备需要得jar包,maven仓库有可以直接引用的,没有的可以动态的下载。

3.mybatis配置文件




	
	
	
		
		
		
		

		
		
		
		

		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	

	
	
		
		
		
		
		

































	
	
		
		
	

4.myBatis-config:自动扫描实体类

 



	
	
	
		
		
	

5.application-trans:事务管理


	
	
		
	

	
	
		
			
			
			
		
	
	
	
	
	
	
	
		  
    	 
	
	

5.application:核心配置文件



	
	
	









	

	

	
	
	
	
	
	
	  

	

6.spring-mvc:核心配置文件




	


	
	


	
	

	
	
		
			
				application/json;charset=UTF-8
				text/html;charset=UTF-8
			
		
	

	
	
		
		
			
				text/plain;charset=UTF-8
				text/xml;charset=UTF-8
			
		
	

	
	
		
			
				
				
				
			
		
	

	
	
		
		
		
		
		
	

	
	
		
			UTF-8
		
		
			
			5120000
		
		
			4096
		
	


7.log4j:日志配置文件

# Rules reminder:
# DEBUG < INFO < WARN < ERROR < FATAL

# Global logging configuration
log4j.rootLogger=debug,stdout

# My logging configuration...
log4j.logger.cn.jbit.mybatisdemo=DEBUG


## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

log4j.logger.org.apache.ibatis=DEBUG
## log4j.logger.org.apache.jdbc.SimpleDataSource=DEBUG
log4j.logger.org.apache.ibatis.jdbc.ScriptRunner=DEBUG
## log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapclientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

#base log config
log4j.rootLogger=INFO,CONSOLE,INFO_FILE,ERROR_FILE
log4j.addivity.org.apache=true

#console config
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%d{HH\:mm\:ss ms}]-%5p (%F\:%L)\:%m%n

# information logs config
log4j.appender.INFO_FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.INFO_FILE.File=..\\logs\\OSS-INFO.log
log4j.appender.INFO_FILE.Threshold=INFO
log4j.appender.INFO_FILE.Append=true
log4j.appender.INFO_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.INFO_FILE.layout.ConversionPattern=[%d{HH\:mm\:ss ms}]-[%p]\:%m ->%l %n

# error logs config
log4j.appender.ERROR_FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ERROR_FILE.File=..\\logs\\OSS-ERROR.log
log4j.appender.ERROR_FILE.Threshold=ERROR
log4j.appender.ERROR_FILE.Append=true
log4j.appender.ERROR_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ERROR_FILE.layout.ConversionPattern=[%d{HH\:mm\:ss ms}]-[%p]\:%m ->%l %n

# fail bill logs config
log4j.logger.FAIL_BILL=INFO, FAIL_BILL 
log4j.appender.FAIL_BILL=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FAIL_BILL.File=..\\logs\\FAIL_BILL.log
log4j.appender.FAIL_BILL.Threshold=FAIL_BILL
log4j.appender.FAIL_BILL.Append=true
log4j.appender.FAIL_BILL.layout=org.apache.log4j.PatternLayout
log4j.appender.FAIL_BILL.layout.ConversionPattern=[%d{HH\:mm\:ss ms}]\:%m %n

8.web:项目启动加载spring配置



  MyDemo
  
    index.jsp
  
  
    contextConfigLocation
    classpath:spring/application.xml
  
  
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
  



  
   
  
    org.springframework.web.util.IntrospectorCleanupListener
  
  
  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      utf-8
    
    
      forceEncoding
      true
    
  
  
    encodingFilter
    /*
  
 
  
  
    spring mvc servlet
    mvcServlet
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      
                classpath:spring/spring-mvc.xml
      
    
    1
  
  
    mvcServlet
    *.do
    *.mdo
  
  

所需要的配置文件就这么多,当然你需要redis,quartz也可以加入配置。

下面我就来测试一下

在项目中我创建BaseMapper作为一个父类接口,只需要继承就可以调用其方法,是为了方便重复创建方法;BaseService也是同样的道理。

首先我们创建一个实体类User:

/**
 * @author dsn
 *
 * @version 创建时间:2018年7月5日 上午11:30:00 
 */
package com.demo.entity;

/**
 * @author dsn
 * @version 创建时间:2018年7月5日 上午11:30:00
 */
public class User {

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id
     *            the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the username
     */
    public String getUsername() {
        return username;
    }

    /**
     * @param username
     *            the username to set
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * @return the userpass
     */
    public String getUserpass() {
        return userpass;
    }

    /**
     * @param userpass
     *            the userpass to set
     */
    public void setUserpass(String userpass) {
        this.userpass = userpass;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name
     *            the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    private int id;
    private String username;
    private String userpass;
    private String name;

}

创建一个dao层接口:继承BaseMapper引入实体类User

/**
 * @author dsn
 *
 * @version 创建时间:2018年7月5日 上午11:35:10 
 */
package com.demo.dao;

import com.demo.entity.User;

/**
 * @author dsn
 * @version 创建时间:2018年7月5日 上午11:35:10
 */
public interface UserMapper extends BaseMapper {

}

创建一个service接口:继承BaseService引入实体类User

/**
 * @author dsn
 *
 * @version 创建时间:2018年7月5日 上午11:35:36 
 */
package com.demo.service;

import com.demo.entity.User;

/**
 * @author dsn
 * @version 创建时间:2018年7月5日 上午11:35:36
 */
public interface UserService extends BaseService {

}

创建一个Mapper文件:UserMapper.xml,这里我写一个insert的语句以及一个select语句,需要注意的是column需要与实体类User字段对应以及对应的type




  
    
    
    
    
  
  
   
        insert into user(name,username,userpass)  
             values(#{name},#{username},#{userpass})  
  

接下来我们创建一个UserAction:这是作为controller控制器,处理所有的访问请求以及逻辑

/**
 * @author dsn
 *
 * @version 创建时间:2018年7月5日 上午11:47:26 
 */
package com.demo.controller;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.demo.entity.User;
import com.demo.service.UserService;

/**
 * @author dsn
 * @version 创建时间:2018年7月5日 上午11:47:26
 */
@Controller
@RequestMapping("user")
public class UserAction {

    @Resource
    private UserService userService;

    @ResponseBody
    @RequestMapping(value = "/adduser")
    public String addactivity(User user, String msg) throws Exception {
        int insert = userService.insert(user);
        if (insert == 1) {
            msg = "插入成功";
        } else {
            msg = "插入失败";
        }
        return msg;
    }

}

启动项目,用postman测试一下,完美收官。

下面吧demo的下载贡献给大家,需要的可以去下载

https://download.csdn.net/download/dsn727455218/10524640


如有需要可以加我Q群【308742428】大家一起讨论技术。

后面会不定时为大家更新文章,敬请期待。


喜欢的朋友可以关注下,粉丝也缺。




你可能感兴趣的:(ssm框架,框架,攻城狮的日常)