SpringBoot-毕业设计

本文探讨了HandlerInterceptor在请求处理过程中的作用,介绍了preHandle、postHandle和afterCompletion方法的应用,同时详细解读了DependencyInjection(DI)的概念,包括DI的原理和JavaEE中的Resource注解以及PostConstruct在Bean初始化中的应用。
摘要由CSDN通过智能技术生成

HandlerInterceptor

用于拦截请求的处理过程。HandlerInterceptor 接口定义了在请求处理的不同阶段执行的方法,允许我们在请求到达处理程序之前和之后执行自定义逻辑。

  • preHandle:在请求到达处理程序之前被调用。可以用于执行一些前置处理逻辑,例如身份验证、日志记录等。如果此方法返回true,则请求继续传递到处理程序;如果返回false,则请求处理终止。
  • postHandle:在请求处理程序执行之后,视图渲染之前被调用。可以用于执行一些后置处理逻辑,例如修改模型数据、记录执行时间等。
  • afterCompletion:在整个请求完成之后被调用。通常用于清理资源、记录最终日志等。可以在这里获取到处理程序的执行结果和可能的异常信息。


依赖注入(DI)

依赖注入(Dependency Injection, DI)是一种设计模式,也是Spring框架的核心概念之一。

作用:去除Java类之间的依赖关系,实现松耦合,以便于开发测试。例如,A类要依赖B类,A类不再直接创建B类,而是把这种依赖关系配置在外部xml文件(或java config文件)中,然后由Spring容器根据配置信息创建、管理bean类。

class Player{  
    Weapon weapon;  

    // weapon 被注入进来
    Player(Weapon weapon){  
        this.weapon = weapon;  
    }  
    public void attack() {
        weapon.attack();
    }
    public void setWeapon(Weapon weapon){  
        this.weapon = weapon;  
    }  
}  

Weapon类的实例并不在代码中创建,而是外部通过构造函数传入,传入类型是父类Weapon,所以传入的对象类型可以是任何Weapon子类。

理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”

  ●谁依赖于谁:当然是应用程序依赖于IoC容器

  ●为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源

  ●谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象

  ●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)

@Resource

@Resource注解是Java EE中常用的依赖注入注解之一,它可以用于类、字段、方法和构造函数上,在不同作用域中进行依赖注入。

1.标识要注入的依赖对象

@Component
public class TokenUtils {

    @Resource
    AdminService adminService;
    @Resource
    BusinessService businessService;
}

2.指定依赖对象的作用域

可以通过@Resource注解指定依赖对象的作用域。

@Resource(name="foo", type=Bar.class)
private Bar bar;

@PostConstruct注解

JavaEE5引入了@PostConstruct和@PreDestroy两个作用于Servlet生命周期的注解,实现Bean初始化之前和销毁之前的自定义操作。

该注解的方法在整个Bean初始化中的执行顺序:

Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的初始化方法)

import javax.annotation.PostConstruct;
 
@Component
public class Utils {
 
    @Autowired
    private UserService userService;
 
    @PostConstruct
    void init() {
        userService.doSomething();  //userService注入后执行一些初始化操作
    }
 
}

参考:

理解依赖注入(DI – Dependency Injection) - 知乎 (zhihu.com)   

依赖注入的三种方式_依赖注入的三种实现方式-CSDN博客  

PostConstruct注解详细使用说明及理解-CSDN博客


新增一个角色

entity->mapper接口->mapper.xml ->service ->修改tokenUtils和JwtInterceptor ->controller前端操作接口

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值