我们说起spring,最先想到的是。
是的,他们是spring的基础,正因为其优秀的设计,spring才能从很多优秀的框架中脱颖而出。
今天和大家聊天,谈谈Spring中最常用的11个扩展点。
与spring mvc拦截器根spring拦截器相比,可以检索并等待web对象实例。
spring mvc中介器的顶层界面有三种方法:
我们一般使用接口的实现类。
如果存在权限验证日志和统计场景,则可以使用此拦截器。
第一步,继承类定义拦截器:
步骤2在spring容器中注册拦截器:
在步骤3中,spring mvc可以在请求接口时通过接口,自动地监听接口并验证权限。
我们的日常开发需要从Spring容器中检索Bean,但是您知道如何检索Spring容器对象吗?
实现接口并重写方法后,可以从该方法中检索spring容器对象。
实现接口并重写方法后,还可以从该方法中检索spring容器对象。
以前,我们在开发接口时,为了在发生异常的情况下向用户提供更友好的提示,例如:
如果直接报告了add接口的结果而不进行任何处理:
what? 用户能直接看到错误信息吗?
这种交互方式给用户带来了很差的体验,为了解决这个问题,我们通常会在接口上捕获异常:
接口改造后,出现异常时,提示“数据异常”,对用户更友好。
看起来很好,但有个问题。
如果只是一个界面还好,如果项目有几百上千个界面,会加例外标语吗?
答案是否定的。 在这种情况下,全局异常处理很有用。
只需通过方法处理异常,即可在业务接口中放心使用,无需捕获异常。 真的很弯曲。
spring目前支持三种转换器。
这三种转换器使用的场景不同,我来举个例子吧。 如果接收接口中参数的实体对象中有一个名为Date的字段类型,则实际上引用的是字符串类型。 2021-01-03 10:20:15,该怎么办?
首先,定义实体User。
第二步,实现接口:
第三步,将新定义的类型转换器注入到spring容器中。
第四步,调用接口
您可能需要在一个配置类中引入另一个类,引入的类也会添加到spring容器中。 在这种情况下,可以使用注释完成此功能。
通过查看源代码,您可以看到引入的类支持三种不同的类型。
这种部署方法是最简单的,所部署的类将实例化bean对象。
通过注释引入a类时,spring可以自动实例化a对象,并在需要的地方通过注释注入。
会很意外吧? 可以在不注释的情况下实例化bean。
这个导入方法是最复杂的。 因为注释还支持多种组合注释,包括:
@Import
这种部署方法需要实现接口。
这种方式的优点是方法返回数组,意味着可以同时引入多个类,还是非常方便的。
这种部署方法需要实现接口。
在项目开始时,可能需要定制其他功能,例如加载一些系统参数完成初始化和预热本地缓存,该怎么办?
这两个接口有助于我们实现这些需求。
这些的使用方法很简单。 例如,界面。
实现接口,改写方法,用该方法实现自己的定制需求。
答案使用注释,n的值越小越先执行。 当然,也可以通过注释指定顺序。
答:可以实现接口。
在某些情况下,您可能希望在初始化Bean之前和之后实现一些自己的逻辑。
在这种情况下,可以实现接口。
接口现在有两种方法。
例如:
目前,spring中使用较多的初始化bean方法如下:
能够在需要初始化的方法中添加注释并进行初始化。
接口,实现重写方法,用该方法可以完成初始化功能。
在某些情况下,您可能需要在关闭spring容器之前执行其他任务,例如关闭资源文件。
此时可以实现接口并重写其方法。
我知道默认情况下只支持两种spring。
spring web还扩展和增加了Scope :
尽管如此,也有不能满足我们要求的场景。
例如,如果在同一线程中从spring容器中检索到的所有bean都是同一对象,该怎么办?
这需要自定义作用域。
步骤Scope接口实现:
第二步,将新定义的作用域注入到spring容器中。
第三步使用新定义的作用域。
发表评论