[spring 扩展]spring中最常用的11个扩展点

我们说起spring,最先想到的是。

是的,他们是spring的基础,正因为其优秀的设计,spring才能从很多优秀的框架中脱颖而出。

今天和大家聊天,谈谈Spring中最常用的11个扩展点。

 [spring 扩展]spring中最常用的11个扩展点 热门话题

与spring mvc拦截器根spring拦截器相比,可以检索并等待web对象实例。

spring mvc中介器的顶层界面有三种方法:

我们一般使用接口的实现类。

如果存在权限验证日志和统计场景,则可以使用此拦截器。

第一步,继承类定义拦截器:

步骤2在spring容器中注册拦截器:

在步骤3中,spring mvc可以在请求接口时通过接口,自动地监听接口并验证权限。

我们的日常开发需要从Spring容器中检索Bean,但是您知道如何检索Spring容器对象吗?

实现接口并重写方法后,可以从该方法中检索spring容器对象。

实现接口并重写方法后,还可以从该方法中检索spring容器对象。

以前,我们在开发接口时,为了在发生异常的情况下向用户提供更友好的提示,例如:

如果直接报告了add接口的结果而不进行任何处理:

 [spring 扩展]spring中最常用的11个扩展点 热门话题

what? 用户能直接看到错误信息吗?

这种交互方式给用户带来了很差的体验,为了解决这个问题,我们通常会在接口上捕获异常:

接口改造后,出现异常时,提示“数据异常”,对用户更友好。

看起来很好,但有个问题。

如果只是一个界面还好,如果项目有几百上千个界面,会加例外标语吗?

答案是否定的。 在这种情况下,全局异常处理很有用。

只需通过方法处理异常,即可在业务接口中放心使用,无需捕获异常。 真的很弯曲。

spring目前支持三种转换器。

这三种转换器使用的场景不同,我来举个例子吧。 如果接收接口中参数的实体对象中有一个名为Date的字段类型,则实际上引用的是字符串类型。 2021-01-03 10:20:15,该怎么办?

首先,定义实体User。

第二步,实现接口:

第三步,将新定义的类型转换器注入到spring容器中。

第四步,调用接口

您可能需要在一个配置类中引入另一个类,引入的类也会添加到spring容器中。 在这种情况下,可以使用注释完成此功能。

通过查看源代码,您可以看到引入的类支持三种不同的类型。

 [spring 扩展]spring中最常用的11个扩展点 热门话题

这种部署方法是最简单的,所部署的类将实例化bean对象。

通过注释引入a类时,spring可以自动实例化a对象,并在需要的地方通过注释注入。

会很意外吧? 可以在不注释的情况下实例化bean。

这个导入方法是最复杂的。 因为注释还支持多种组合注释,包括:

@Import

这种部署方法需要实现接口。

这种方式的优点是方法返回数组,意味着可以同时引入多个类,还是非常方便的。

这种部署方法需要实现接口。

在项目开始时,可能需要定制其他功能,例如加载一些系统参数完成初始化和预热本地缓存,该怎么办?

这两个接口有助于我们实现这些需求。

这些的使用方法很简单。 例如,界面。

实现接口,改写方法,用该方法实现自己的定制需求。

答案使用注释,n的值越小越先执行。 当然,也可以通过注释指定顺序。

答:可以实现接口。

在某些情况下,您可能希望在初始化Bean之前和之后实现一些自己的逻辑。

在这种情况下,可以实现接口。

接口现在有两种方法。

例如:

目前,spring中使用较多的初始化bean方法如下:

能够在需要初始化的方法中添加注释并进行初始化。

接口,实现重写方法,用该方法可以完成初始化功能。

在某些情况下,您可能需要在关闭spring容器之前执行其他任务,例如关闭资源文件。

此时可以实现接口并重写其方法。

我知道默认情况下只支持两种spring。

spring web还扩展和增加了Scope :

尽管如此,也有不能满足我们要求的场景。

例如,如果在同一线程中从spring容器中检索到的所有bean都是同一对象,该怎么办?

这需要自定义作用域。

步骤Scope接口实现:

第二步,将新定义的作用域注入到spring容器中。

第三步使用新定义的作用域。


发表评论

Copyright 2002-2022 by 艾苟科技集团网(琼ICP备2022001899号-3).All Rights Reserved.