公司现在用了gradle构建工具
而且用java注解的方式配置项目,不再使用xml的方式,因为网上这方面教程比较少,所以在此记录一个基本的框架的搭建,包括测试类的写法!
框架:spring+springMVC+hibernate
构建工具:gradle
开发工具:eclipse
github地址:https://github.com/gyb123456/MyGradle
项目结构如下:
我把项目源码放到我的github上了;
主要看下com.sys包就行了,我主要讲解这里的。看到和sys平级的三个java文件了没,这就是项目配置的3个java类。
先给3个参考链接
1、Spring实战5-基于Spring构建Web应用
https://segmentfault.com/a/1190000004343063?_ea=575820
2、单元测试配置
http://www.infoq.com/cn/articles/Unit-Testing-Complete-Integration-Testing-Begins
3、别人的配置
http://blog.youkuaiyun.com/csdn_xuexiaoqiang/article/details/71844535
4、 写给java web一年左右工作经验的人
https://my.oschina.net/aaron74/blog/282304
我就是参考它们写的。
1、先说下DispatcherServletInit类继承自
AbstractAnnotationConfigDispatcherServletInitializer,tomcat启动时会自动扫描继承该类的文件,所以这个文件是整个项目的程序入口,在这里配置根容器、Spring mvc容器,拦截请求等,具体的自己看代码注释吧。
/**
*DispatcherServletInit类
* 整个项目的程序入口
* @author gyb
*
*/
package com;
import javax.servlet.Filter;
import org.springframework.orm.hibernate4.support.OpenSessionInViewFilter;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class DispatcherServletInit extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override //根容器,用于获取Spring应用容器的配置文件
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{RootConfig.class};
}
@Override //Spring mvc容器,是根容器的子容器
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[]{WebConfig.class};
}
@Override //"/"表示由DispatcherServlet处理所有向该应用发起的请求。
protected String[] getServletMappings() {
return new String[]{
"/"};
}
@Override
protected Filter[] getServletFilters() {
// OpenSessionInViewFilter openSessionInViewFilter = new OpenSessionInViewFilter ();
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
characterEncodingFilter.setForceEncoding(true);
return new Filter[] {characterEncodingFilter,characterEncodingFilter};
// return super.getServletFilters();
}
}
2、RootConfig类
package com;
import java.beans.PropertyVetoException;
import java.util.Properties;
import javax.sql.DataSource;
import org.hibernate.SessionFactory;
import org.springframework