开发者学堂课程【Java 面试疑难点串讲 3:开发工具及框架:Spring 功能介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/26/detail/561
Spring 功能介绍
Spring的作用?
现在的开发里面已经越来越不可能离开 Spring 了。但是要想充分理解它的作用,必须要亲自写过代码。
1.传统开发之痛
(1) 为了进行解耦和的设计,需要大量的使用工厂设计模式,这样就导致整个项目之中工厂的维护非常的麻烦。
(2) 使用 DOM + 解析的处理操作实现这种操作模式的简化,但是太麻烦了。
(3) 对象的关系应用配置,到处充满了各种的关系引用问题。
(4) 事务的控制问题。
(5) 数据库打开、关闭问题。
(6) 随着你的项目代码的积累,你的项目的庞大程度以及对象的管理问题都将成为一个非常头疼的问题,尤其是换了开发人员之后。
(7) WEB 的安全访问问题。
(8) MVC 的设计问题。
(9) 拦截器的设置问题。
2、Spring 可以解决什么?
(1) Spring 是一个工厂,可以直接利用配置文件实现工厂的功能,当然也可以利用注解配置动态的进行类关系的引用设置,避免了到处传递引用类型的尴尬之处。
(2) Spring 提供有 AOP 的处理机制,而且使用了 AspectJ 的语法,可以自定义切面进行事务的控制处理。 AOP 的功能就是动态代理设计模式,但是它目前使用最多的情况就是做数据库的事务控制。
(3) Spring 提供的 JSP 页面的安全访问机制也是非常好用的,例如:所有的页面都保存在WEB-INF目录之中。
(4) Spring 提供有拦截器 (Struts 2.x 优先于 Stnuts 1x 的好处就在于拦截器上),对于服务器端数据验证非常有帮助。
(5) Spring 本身是一个容器,可以帮助我们自动管理对象。
(6) 可以整合其它的开发框架: Hibernate、 MyBatis。