1.目前的web项目都是基于 Spring MVC 的框架 , MVC是Spring的一个功能,
----------------------------
2.Spring boot 项目的特点就是能够使用main方法进行启动,
且各项约束比其他框架要少.且不需要配置tomcat,因为框架代码中自己已经将tomcat代码写好.
优点:
1).去除了大量的xml配置文件
2).简化复杂依赖管理
3).配合各种starter使用,基本上可以做到自动化配置
4).快速启动容器
5).配合maven或gradle等构件工具打成jar包后,java-jar进行部署较简单.
6).创建独立Spring应用程序,嵌入式tomcat,jetty容器,无需部署war包,简化maven及gradle的配置,尽可能自动化的配置Spring,直接植入产品环境下的实用功能,比如度量指标,健康检查及扩展配置等,无需代码生成xml配置.
缺点:
1).Spring boot 较适合做微服务,不适合做大型项目.
--------------------------------------------
3.Spring AOP
面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面
1.面向切面编程提供声明式事务管理
2.spring支持用户自定义的切面
----------------------------------------------------------
4.Spring IOC
-------------------------------------------------
5. Spring 的原理是什么
----------------------------------------------------------
6.Spring 由什么构成 它们各自的作用是什么
1.Spring Core
Core封装包是框架的最基础部分,提供IOC和依赖注入的特性。这里的基础l概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
2.Spring Context
构建于Core封装包基础上的Context封装包,提供了一种框架式的对象访问方法,有些像JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。
3.Spring DAO
DAO(Data Access Object)提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适合。
4.Spring ORM
ORM封装包提供了常用的“对象/关系”映射APIs的集成层。其中包括JPA、JDO、Hibernate 和myiBatis。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如期边提到的简单声明性事务管理。
5.Spring AOP
AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常用的拦截器,提供用户自定义和配置。
6.Spring Web
WEB模块提供对常见框架如Struts1,WEBWORK(Struts2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。
7.Spring Web MVC
Spring中的MVC封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模式代码和Web Form 之间。并且,还可以借助Spring框架的其他特性。