【SpringBoot】SpringBoot 中 Bean 管理和拦截器的使用

目录

1.Bean管理

1.1 自定义Bean对象

1.2 Bean的作用域和生命周期

2.拦截器的使用


1.Bean管理

默认情况下,Spring项目启动时,会把我们常用的Bean都创建好放在IOC容器中,但是有时候我们自定义的类需要手动配置bean,这里主要介绍两种方式。

  • 直接使用注解的方式
  • 使用配置类+@Bean注解方式

1.1 自定义Bean对象

(1)使用注解的方式

这种方式主要是通过使用 @Component, @Service, @Repository, @Controller 等注解来标记类,告诉 Spring 容器这是一个应该被管理的 Bean。

(2)使用配置类

相当于我们之前使用的xml,用来自定义Bean对象,一般用来配置第三方的Bean对象。

使用:

  1. 先创建一个config包,然后创建名称为xxxConfig的普通java类,并在类上使用注解@Configuration表示该类为配置类。
  2. 在类中使用@Bean注解声明Bean方法,

 完整的配置类配置Bean如下

1.2 Bean的作用域和生命周期

Spring 容器中的 Bean 的作用域

  • Singleton:默认的作用域,Spring 容器只会创建一个实例,并将其保存在一个缓存中。
  • Prototype:每次请求都会创建一个新的 Bean 实例。
  • Request:对于每个 HTTP 请求都会创建一个新的 Bean 实例(仅适用于 Web 应用程序)。
  • Session:对于每个 HTTP Session 创建一个新的 Bean 实例(仅适用于 Web 应用程序)。
  • Global Session:针对 Portlet 应用程序,每个全局 Session 创建一个 Bean 实例

 Bean 的生命周期

Spring 容器管理着 Bean 的整个生命周期,从创建、初始化到销毁。

  1. 创建:根据定义创建 Bean 实例。
  2. 初始化:调用初始化方法(如果有的话)。可以通过 @PostConstruct 注解或 <bean init-method="..."> 标签来指定初始化方法。
  3. 销毁:当容器关闭时,调用销毁方法(如果有的话)。可以使用 @PreDestroy 注解或 <bean destroy-method="..."> 标签来指定销毁方法。

2.拦截器的使用

拦截器的特点和拦截器中的方法的使用和SpringMVC中的一致,只是配置方式有所区别。

使用

(1)创建来拦截器类,实现HandlerInterceptor接口,并重写相关的方法,并使用@Compoent配置为Bean对象。【创建拦截器】

(2)创建配置类,实现WebMvcConfigurer接口,重写addInterceptors方法,并依赖注入你写的拦截器对象,然后在addInterceptors方法中定义你要拦截的范围。【定义拦截范围】

(3)查看拦截效果,如下图,访问后页面为空白,控制台有输出,表明拦截器已经生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值