Java
未读
Spring MVC拦截器
这是一篇关于Spring MVC拦截器的文章,介绍了拦截器的作用、与过滤器的区别、以及如何实现和注册自定义拦截器。Spring MVC的拦截器用于拦截请求并进行预处理和后处理,拦截器通过实现HandlerInterceptor接口来定义三个方法:preHandle(在处理器方法执行前调用)、postHandle(在处理器方法执行后调用)、和afterCompletion(在请求完成后调用)。与过滤器不同,拦截器基于Spring的AOP思想,能够访问IOC容器中的Bean,适用于控制器方法,不能用于静态资源。拦截器的执行顺序与注册顺序一致,可以通过配置类将自定义拦截器注册到Spring MVC中,指定拦截路径和排除路径。
Java
未读
Spring MVC过滤器
这是一篇关于Java过滤器(Filter)的文章,介绍了过滤器的原理、作用以及在Spring Boot中的使用方法。过滤器是Java Servlet规范的一部分,允许开发者在请求到达目标资源之前和响应离开应用程序之前对其进行处理。它可以用于身份验证、请求参数处理、日志记录、性能优化和防止恶意攻击等场景。过滤器的执行顺序包括过滤前、拦截前、AOP、Controller、AOP、拦截后和过滤后。文章还通过一个Spring Boot实战案例,演示了如何创建和配置自定义过滤器,使用@WebFilter注解配置过滤器,并通过@ServletComponentScan启用Servlet组件的自动扫描。
Java
未读
Spring 生命周期
这是一篇关于Spring Bean生命周期的文章,概述了Bean的生命周期流程,并详细介绍了各个扩展点的作用。Spring Bean的生命周期主要包括四个阶段:实例化、属性赋值、初始化和销毁。实例化阶段创建Bean对象,属性赋值阶段为Bean设置属性和依赖,初始化阶段包括多个步骤,其中涉及到Aware接口依赖注入、BeanPostProcessor的前后处理、以及InitializingBean和init-method的初始化操作。销毁阶段则包括注册销毁回调接口,通过DisposableBean和destroy-method进行Bean的销毁。通过这四个大阶段以及具体的初始化和销毁操作,帮助理解Spring Bean的生命周期。
Java
未读
Spring MVC
这是一篇关于SpringMVC框架作用的文章,概述了框架的核心组件和运行流程。SpringMVC框架是基于请求驱动设计的,核心类是DispatcherServlet,它负责接收请求并分发到对应的控制器。主要组件包括DispatcherServlet(接收请求并分发)、HandlerMapping(映射请求与处理方法)、Controller(处理请求并返回响应)、ModelAndView(封装数据与视图信息)、ViewResolver(解析视图组件)。运行流程中,客户端请求先到DispatcherServlet,经过HandlerMapping解析到对应的Controller,由HandlerAdapter处理请求逻辑,返回ModelAndView对象,最终通过ViewResolver找到具体视图,并将结果返回给客户端。
Java
未读
Spring IOC、DI
这是一篇关于IOC和DI的文章,介绍了Spring框架中的控制反转(IoC)和依赖注入(DI)概念。在传统开发中,A类需要主动创建B类的对象,而Spring通过IoC将对象的创建和管理交给Spring容器,避免了硬编码耦合。DI是Spring实现IoC的方式之一,它通过setter或构造器注入将B对象传递给A类,实现依赖关系的解耦。IOC和DI相互关联,DI依赖于IoC来完成。Spring中的IoC操作包括通过XML配置和注解两种方式来管理Bean,常见注解有@Component、@Service、@Repository和@Controller等。此外,Spring提供了@Value、@Autowired、@Qualifier和@Resource等注解进行依赖注入,支持自动装配和按名称或类型装配,生命周期管理可通过@PostConstruct和@PreDestroy注解来完成,Bean的作用域可以通过@Scope注解来定义。
Java
未读
Spring AOP
这是一篇关于AOP(面向切面编程)的文章,介绍了AOP的基本概念、通知类型和应用场景。AOP通过预编译和动态代理实现统一的程序功能管理。主要概念包括切面(Aspect)、连接点(JointPoint)、通知(Advice)、切入点(Pointcut)和AOP代理。Spring AOP通过JDK动态代理和CGLIB代理生成代理对象,并结合IOC容器管理。AOP的通知类型有Before、AfterReturning、AfterThrowing、After、Around等,执行顺序为Around -> Before -> After -> AfterReturning。AOP的应用场景包括日志、权限控制、事务管理、缓存等。Spring AOP基于注解实现“零配置”,通过@Aspect和@Component等注解定义切面及通知方法。