ssm+maven+bootstrap搭建


                       ssm+maven+bootstrap搭建


作者:vashon

时间:2017-05-12


一、架构特点

1、用maven做依赖管理&构建,项目分为父子工程

2、基础框架SSM(SpringMVC+Spring+Mybatis)

3、前端框架Bootstrap

4、pagehelper的分页实现

5、Mybatis的逆向工程Mybatis-Generator

6、前端Jquery校验,后端JSR303校验

7、Rest风格的URI

8、以json格式进行数据交互,同时支持移动端产品

9、采用logback做日志管理

10、自定义标签及字典

其他。。。


二、创建Maven父子工程

1、步骤:

⑴ 、先创建父工程:

                             ssm+maven+bootstrap搭建_第1张图片

                     ssm+maven+bootstrap搭建_第2张图片

                     ssm+maven+bootstrap搭建_第3张图片

⑵、创建子工程(java工程):

                    ssm+maven+bootstrap搭建_第4张图片

                    ssm+maven+bootstrap搭建_第5张图片

                    ssm+maven+bootstrap搭建_第6张图片

⑶、创建子工程(web工程)

                   ssm+maven+bootstrap搭建_第7张图片

                    ssm+maven+bootstrap搭建_第8张图片

                    ssm+maven+bootstrap搭建_第9张图片

自此,maven创建的父子工程就已经完成了,自动生成的自带jdk版本会很低,这需要在maven的setting.xml配置中进行配置,这里就不多详述了,或者不配置手动设置环境也行;maven创建的父子工程总体结构图如下:


                                          ssm+maven+bootstrap搭建_第10张图片


2、各个子工程引入项目依赖的jar

      子工程base中pom.xml配置如下:


	4.0.0
	
		com.ywx.ssm
		ssm-parent
		0.0.1-SNAPSHOT
		
		../pom.xml
	
	ssm-base

	
	
		
		
			org.mybatis
			mybatis
		
		
		
			org.mybatis
			mybatis-spring
		
		
		
			org.mybatis.generator
			mybatis-generator-core
		

		
		
			c3p0
			c3p0
		
		
		
			mysql
			mysql-connector-java
		
		
		
			com.github.pagehelper
			pagehelper
		
		
		
			org.hibernate
			hibernate-validator
		


	



      子工程web工程中pom.xml配置如下:


	4.0.0
	
		com.ywx.ssm
		ssm-parent
		0.0.1-SNAPSHOT
		
		../pom.xml
	
	ssm-web
	war

	
		
		
			com.ywx.ssm
			ssm-base
			0.0.1-SNAPSHOT
		
		
		
		
			org.springframework
			spring-webmvc
		
		
		
			org.springframework
			spring-jdbc
		
		
		
			org.springframework
			spring-aspects
		
		
		
			org.springframework
			spring-test
		


		
		
			jstl
			jstl
		
		
			javax.servlet
			javax.servlet-api
			provided
		
		
		
			com.fasterxml.jackson.core
			jackson-databind
		

		
			junit
			junit
		
		
		
			ch.qos.logback
			logback-classic
		
		
			ch.qos.logback
			logback-core
		


	



	
	
		ywx-web
		
			
				org.apache.maven.plugins
				maven-surefire-plugin
				
					
					true
				
			
		
	



      父工程的pom.xml的配置如下:


	4.0.0
	com.ywx.ssm
	ssm-parent
	0.0.1-SNAPSHOT
	pom

	
	
		4.3.7.RELEASE
	

	
	
		
		ssm-base
		ssm-web
	

	
	
		
			
			
			
				org.mybatis
				mybatis
				3.4.2
			
			
			
				org.mybatis
				mybatis-spring
				1.3.1
			
			
			
				c3p0
				c3p0
				0.9.1.2
			
			
			
				mysql
				mysql-connector-java
				5.1.42
			
			
			
				org.mybatis.generator
				mybatis-generator-core
				1.3.5
			
			
			
				com.github.pagehelper
				pagehelper
				5.0.1
			
			
			
				org.hibernate
				hibernate-validator
				5.4.1.Final
			
			

			
			
			
				org.springframework
				spring-webmvc
				${ssm.spring.version}
			
			
			
				org.springframework
				spring-jdbc
				${ssm.spring.version}
			
			
			
				org.springframework
				spring-aspects
				${ssm.spring.version}
			
			
			
				org.springframework
				spring-test
				${ssm.spring.version}
			
			
			
				jstl
				jstl
				1.2
			
			
				javax.servlet
				javax.servlet-api
				3.0.1
				provided
			
			
			
				com.fasterxml.jackson.core
				jackson-databind
				2.8.8
			
			
				junit
				junit
				4.12
			
			
			
				ch.qos.logback
				logback-classic
				1.2.1
			
			
				ch.qos.logback
				logback-core
				1.2.1
			
			
		
	



备注:如果创建web工程后,webapp目录下没有web.xml文件,需要重新指定Dynamic Web Module,提供下图看看你就懂得:

ssm+maven+bootstrap搭建_第11张图片


                                          

三、框架整合

web.xml中的配置:



	
	
		contextConfigLocation
		classpath:/spring/applicationContext.xml
	
	
	
		logbackConfigLocation
		classpath:main/resources/logback.xml
	

	
		org.springframework.web.context.ContextLoaderListener
	

	
	
	
		dispatcherServlet
		org.springframework.web.servlet.DispatcherServlet
		1
	

	
	
		dispatcherServlet
		/
	

	
	
		CharacterEncodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
		
			forceRequestEncoding
			true
		
		
			forceResponseEncoding
			true
		
	
	
		CharacterEncodingFilter
		/*
	

	
	
		HiddenHttpMethodFilter
		org.springframework.web.filter.HiddenHttpMethodFilter
	
	
		HiddenHttpMethodFilter
		/*
	

	
	
		HttpPutFormContentFilter
		org.springframework.web.filter.HttpPutFormContentFilter
	
	
		HttpPutFormContentFilter
		/*
	


	ssm-web
	
		index.html
		index.htm
		index.jsp
		default.html
		default.htm
		default.jsp
	

applicationContext.xml中的配置:



	
	
		
	

	
	
	




1、Spring与Mybatis的整合配置(与业务逻辑组件,控制器等的配置无关的分开,如:持久层配置等):

与持久层整合的配置我们需要从applicationContext.xml拎出来(后续其他的配置归类存放,便于管理):


persistence.xml配置如下:




	
	
	
	
		
		
		
		
	
	

	
	
	
		
		
		
		
		
	
	
	
		
		
	
	
	
		
		
	
	

	
	
		
		
	
	
	
		
		
		
		
	

	
	
		
			
			
			
			
			
			
		
	
	




2、Spring与SpringMVC的整合配置:

dispatcherServlet-servlet.xml中的配置:




	
	
		
		
	

	
	
		
		
	

	
	
	
	
	




3、Mybatis逆向工程:

导入mybatis逆向工程需要的jar(上面总的pom.xml已提供),配置如下:



	org.mybatis.generator
	mybatis-generator-core
	1.3.5

generatorConfig.xml文件配置如下:





	
		
			
			
		
		
		
		

		
			
		

		
		
			
			
		

		
		
			
		

		
		
			
		


		
		
		

该文件可以在eclipse中运行逆向生成bean对象,为了运行方便写个main程序执行它:

package com.ywx.ssm.test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

public class MBG {
	public static void main(String[] args) throws Exception {
		List warnings = new ArrayList();
		boolean overwrite = true;
		File configFile = new File("generatorConfig.xml");
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(configFile);
		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
				callback, warnings);
		myBatisGenerator.generate(null);

	}

}



4、pagehelper分页插件

引入分页需要的jar,配置如下:



	com.github.pagehelper
	pagehelper
	5.0.1

然后在base工程的resource路径下的mybatis-config.xml配置如下:




	
		
	
	
	
		
	
	
	
		
			
			
		
	

 

5、。。。


四、其他

补充:Maven环境的搭建及配置(jdk版本、私服、继承、聚合、打包部署等的配置

1、

2、

3、



逐步更新中。。。


你可能感兴趣的:(java,学习总结,SpringMVC,Spring,MySQL,SpringMVC)