Spring在百度词条上的解释是:前端
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其余各层的松耦合问题,所以它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson建立。简单来讲,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
而按照个人理解,spring是一个低侵入式的java框架,咱们主要用到的是它所提供的DI(dependence injection依赖注入),AOP(Aspect Oriented Programming面向切面编程)和模板化编程的功能。java
DI依赖注入,顾名思义,就是将对象所须要的依赖对象注入到对象中。传统的java代码中,在类中调用其余对象,都是本身new出来一个对象,而后调用,这样代码的耦合度就比较高。而在spring中,你只须要在xml或者java的配置文件中,或者在类中加入注解,将对象定义为bean,而后将须要调用对象的配置到bean中,spring的ioc容器就会帮你将依赖的对象建立出来,并管理其的运行和销毁。web
AOP面向切面编程,可让你专一于主程序的构建,而将日志和安全管理这些并行运行但并不涉及主程序逻辑的操做,从侧面插入到程序中。举个例子,就是将打日志的操做,定义为切面对象,再将主程序运行中须要打日志的地方定义为切点,将切面对象和切点关联起来。这样,当程序运行到切点的时候,就能执行切面对象可以执行的操做。日志对象和主程序的耦合度降到最低,即便更改日志对象的操做,主程序不受影响。spring
spring的组成图片:数据库
spring框架是一个分层结构,由七个模块组成:编程
1.Spring Core核心容器:提供Spring框架的基本功能。
2.Spring Context上下文:配置文件,向Spring框架提供上下文信息。
3.Spring Aop:面向切面编程。
4.Spring Dao:数据库操做。
5.Spring Orm:提供ORM的对象关系工具,
6.Spring Web:创建在用用程序上下文模块智商,为基于Web的应用程序提供上下文。
7.Spring Mvc:全功能的构建Web应用程序的MVC实现。安全
Spring MVC是能够构建Web应用程序的全功能MVC模块。经过在web.xml文件中声明DispatcherServlet,而后定义好须要扫描的xml文件,容器在启动的时候便会将DispatcherServlet对象建立出来,根据配置的规则,DispatcherServlet会将请求分发给指定的action方法去处理,并将返回的model处理成view返回给前端。框架
MyBatis是一个基于java的持久层框架,帮助你创建和数据库的连接,设定事务处理。
MyBatis 避免了几乎全部的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。工具