11120171023
11120171023
1、什么是Spring?
答:Spring是分层的JavaSE/EE应用一站式的轻量级开源框架,以IOC和AOP为内核,提供了展现层SpringMVC、持久层SpringJDBC及业务层事务管理等一站式的企业级应用技术,此外Spring还整合了开源世界里众多著名的第三方框架和类库,成为使用最多的轻量级JavaEE企业应用开源框架。
2、Spring解决什么问题?
答:解决分层(Web、Service、Dao)[通过Spring框架更加友好管理Web、Service、Dao之间的关系]的javaee应用[javaee应用的前身是j2ee标准组件:jsp、servlet、javabean、ejb等等]
3、为什么说是一站式?
答:Spring针对每层都有相应的解决方案
1)、针对表示层(Web):Spring MVC
2)、针对业务层(Service):事务管理、日志管理、权限管理等等解决方案
3)、针对数据访问层(Dao):JdbcTemplate框架解决
3、轻量级[启动所消耗的资源少],相对于正统的EJB,EJB就类似于开着坦克去接一个朋友,98%的场景没有那个需求。
4、开源框架
5、它的核心部分
1)、IoC(控制反转),它是一个管理对象的容器,对象的调用者将对象的new权利交由容器控制管理。
2)、AOP(面向切面编程),与struts2的拦截器功能雷同,可以在某个逻辑的前、后插入增强逻辑。
6、整合许多非常优秀的第三方框架
1)、SSH:strut2+spring+hibernate(orm框架)
2)、SSM:springMvc+spring+mybatis(半orm框架)
3)、工作流:activiti
4)、......
7、Spring启蒙?
1)、Expert One-to-One J2EE Design and Development
2)、Expert One to One J2EE Development without EJB
3)、臃肿、低效、脱离现实的EJB组件,而产生的Spring框架
8、Spring主要解决问题?
1)、解耦(降低模型依赖关系)
2)、功能模型实现(事务处理、SpringMVC等等)
9、Spring框架包括那些内容?
1)、核心容器
(1)、Beans[管理bean对象]
(2)、Core[Spring核心api]
(3)、Context[容器对象上下文]
(4)、SpEL[Spring表达式]
2)、AOP:
(1)、aop[支持面向切面编程的组件]
(4)、aspject[通过注解实现面向切面编程的框架]
3)、Web[针对表示层处理]
(1)、web
(2)、websocket(实现tcp/ip协议的数据通信]
(3)、serlvet
4)、数据访问层处理
(1)、jdbc[针对jdbc实现数据访问]
(2)、orm[整合第三方orm:hibernate、mybatis等等]
(3)、支持事务管理