当前位置 : 首页 » 文章分类 :  开发  »  面试准备05-Spring框架

面试准备05-Spring框架

Spring面试准备笔记


Spring

Spring DI/IOC

IOC(Inversion of Control)/DI(Dependency Injection)
在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

依赖注入的思想是通过反射机制实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。 总而言之,在传统的对象创建方式中,通常由调用者来创建被调用者的实例,而在Spring中创建被调用者的工作由Spring来完成,然后注入调用者,即所谓的依赖注入or控制反转。 注入方式有两种:依赖注入和设置注入; IoC的优点:降低了组件之间的耦合,降低了业务对象之间替换的复杂性,使之能够灵活的管理对象。

Spring IOC 相关内容已整理到笔记 Spring-IOC


Spring AOP

Spring AOP 相关内容已整理到笔记 Spring-AOP


Spring事务

Spring 事务相关内容已整理到笔记 Spring-Transaction


Spring加载

Spring加载可以利用ServletContextListener实现,也可以采用load-on-startup Servlet 实现,但是当filter需要用到bean时,由于加载顺序是:先加载filter后加载servlet,则filter中初始化操作中的bean为null;所以,如果过滤器中要使用到bean,此时就可以根据加载顺序listener -> filter -> servlet,将spring的加载改成Listener的方式。

利用监听器ContextLoaderListener加载Spring

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

其中ContextLoaderListener的作用就是启动Web容器时,自动装配applicationContext.xml的配置信息,执行它所实现的方法。

利用启动时初始化的Servlet加载Spring

<servlet>
    <servlet-name>context</servlet-narne>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

Spring和Spring Boot区别

Spring boot是一个在Spring 的基础上搭建的全新的微框架,其目的是简化Spring的搭建和开发过程。

Spring Boot可以以jar包的形式来运行,运行一个Spring Boot项目我们只需要通过java -jar xx.jar类运行。非常方便。

Spring Boot主要特性
(1)遵循“习惯优于配置”的原则,使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可;
(2)项目快速搭建,可以无需配置的自动整合第三方的框架;
(3)可以完全不使用XML配置文件,只需要自动配置和Java Config;
(4)内嵌Servlet容器,降低了对环境的要求,可以使用命令直接执行项目,应用可用jar包执行:java -jar;
(5)提供了starter POM, 能够非常方便的进行包管理, 很大程度上减少了jar hell或者dependency hell;
(6)运行中应用状态的监控;
(7)对主流开发框架的无配置集成;
(8)与云计算的天然继承;

为什么越来越多的开发者选择使用Spring Boot
http://blog.csdn.net/xlgen157387/article/details/52830071


上一篇 面试准备06-数据库

下一篇 2018年运动记录

阅读
评论
886
阅读预计3分钟
创建日期 2018-04-05
修改日期 2021-01-13
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论