集成Spring4.x+SpringMVC+Mybatis的Java后台管理框架
两年前一直在做后台的纯java开发,很少涉及web开发这块,最近换了个纯的互联网公司,需要做Web后台管理系统,之前都是用xml配置的项目,接触了公司Spring4.x的零配置项目,觉得非常有感觉,不仅仅配置简单,而且条理清晰,所以,这里把学习的内容记录下来,一来加深对这块技术的印象,另外准备做个简单的教程,如果给其他人分享的时候还可以拿来直接用。
首先讲讲为什么要做框架搭建?现在的开源软件,都是一些很有想法的一群技术大牛利用业余时间弄出来的,而刚开始做框架的时候,是要解决他们工作中面临的一些问题?比如解决javaBean的依赖管理,出现了spring,解决数据库访问操作的问题诞生了Hibernate,Mybatis,解决业务逻辑代码与视图代码的分离,诞生了Struts,SpringMVC……可能你会问,为什么不直接来一个包含全部解决方案的框架呢?我个人认为有以下几个原因:
所以,用现有成熟、稳定的库去搭建一个属于自己的框架,对技术要求、学习成本的需求更低一点!
先来说说零配置的实现原理:Servlet3.0规范,支持将web.xml相关配置也硬编码到代码中[servlet,filter,listener,等等],并由javax.servlet.ServletContainerInitializer的实现类负责在容器启动时进行加载,spring提供了一个实现类SpringServletContainerInitializer(在spring-web包中的org.springframework.web目录),该类会调用所有org.springframework.web.WebApplicationInitializer实现类的onStartup方法,将相关的组件注册到服务器;而我们的WebApplicationInitializer继承自AbstractAnnotationConfigDispatcherServletInitializer,而AbstractAnnotationConfigDispatcherServletInitializer就实现了org.springframework.web.WebApplicationInitializer的onStartup方法,所以WebApplicationInitializer就是整个项目的关键,我们的整个项目就是通过它来启动。这个WebApplicationInitializer在我们例子的代码中会详细介绍。
由于时间的关系,不可能一下全写完,所以会陆续更新。
提示:想学习Spring零配置的内容,最好是下载源码运行,然后自己照着写一遍,加深对框架的理解和认识。