做网站的说3年3年包括什么软件,首页关键词排名,旅行网站首页模板,东莞seo优化联系电话目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别#xff1f;Spring Boot的优点Spring IoC是什么#xff1f;说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值#xff1f;如何理解Spring的SPI机制#xff1f;Spr… 目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别Spring Boot的优点Spring IoC是什么说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值如何理解Spring的SPI机制Spring Boot自动装配原理Spring MVC工作原理 JavaWeb三大组件 ServletServlet是JavaWeb应用程序中处理请求和生成响应的基本组件。它是一个Java类通过实现或继承Servlet接口来处理客户端请求并生成响应数据。 Listener监听器用于监听Web应用程序中的事件并在事件发生时执行相应的逻辑处理。 使用场景 初始化释放资源日志记录 Filter过滤器用于在请求和响应的处理过程中对数据进行拦截和处理。一个请求可以经过多个过滤器的处理每个过滤器可以在请求的处理前后进行操作和拦截。 使用场景 权限验证请求转发日志记录字符编码
总结而言
Servlet程序用于处理请求和生成响应数据Listener监听器用于监听特定的Web应用程序事件执行相应逻辑Filter过滤器用于对请求和响应数据进行拦截和处理。
它们各自在Web应用程序开发中具有重要的作用能够实现灵活的请求处理、事件监听和数据过滤。
依赖注入的方式 在 Spring 中实现依赖注入的常见方式有以下 3 种
属性注入Field Injection Autowire实现属性注入Resurce实现属性注入 Setter 注入Setter Injection构造方法注入Constructor Injection
Autowire和Resurce有什么区别 autowire是Spring提供的resource是J2EE提供的 resource默认使用name装配当找不到name时会按类型装配 AutoWire默认按类型装配如果要使用名称装配可以用Qualifier结合使用
Spring Boot的优点 开箱即用 通过在pom文件中添加相关依赖包然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期 约定优于配置 约定优于配置convention over configuration也称作按约定编程是一种软件设计范式旨在减少软件开发人员需要的配置。 内置tomcat
Spring IoC是什么 IoCInversion of Control:控制反转 是一种设计思想而不是一个具体的技术实现IoC 的思想就是将原本在程序中手动创建对象的控制权交由 Spring 框架来管理。 为什么叫控制反转 控制指的是对象创建实例化、管理的权力 反转控制权交给外部环境Spring 框架、IoC 容器 Spring IoC的实现机制工厂模式反射机制
说说Spring Aop的优点 减少系统的重复代码降低模块间的耦合度封装切面逻辑
Component和Bean的区别 Component 注解用在类上表明一个类会作为组件类并告知Spring要为这个类创建bean每个类对应一个 Bean。 Bean 注解用在方法上表示这个方法会返回一个 Bean。 Bean 注解更加灵活相比Component注解自定义性更强
自定义注解时使用的RetentionPolicy枚举类有哪些值 值源代码类文件虚拟机SOURCE✔️CLASS✔️✔️RUNTIME✔️✔️✔️
当值设为SOURCE只有源文件中可以看到注解 当值设为CLASS可在源文件和编译后的Class文件中可以看到注解 当值设为RUNTIME不仅在源文件和编译后的Class文件中可以看到注解JVM还能通过反射机制获取到注解
如何理解Spring的SPI机制 Java SPI
SPI 全称 Service Provider Interface是 Java提供的一套用来被第三方实现或者扩展的接口它可以用来启用框架扩展和替换组件。
SPI的作用就是为这些被扩展的API 寻找服务实现。本质是通过基于接口的 编程策略模式配置文件 实现动态加载。可以实现 解耦 接口和实现分离提高框架的 可拓展性第三方可以自己实现达到插拔式的效果。
Spring SPI
Spring SPI对 Java SPI 进行了封装增强。我们只需要在 META-INF/spring.factories 中配置接口/类/注解名即可通过服务发现机制在运行时进行自动加载。
Spring Boot自动装配原理 Spring Boot自动装配如下图所示 Springboot项目的启动类需要由 SpringBootApplication 注解修饰该注解复合了如下三个注解。 SpringBootConfiguration。表明Springboot启动类是一个配置类 ComponentScan。会将指定路径下的被特定注解修饰的类加载为Spring中的Bean这些特定注解为ComponentControllerServiceRepository和Configuration注解 EnableAutoConfiguration。用于开启Springboot的自动装配该注解复合了如下两个核心注解。 AutoConfigurationPackage。用于将启动类所在的包里面的所有组件注册到spring容器。Import(AutoConfigurationImportSelector.class) 自动装配流程说明重要 Import 将 AutoConfigurationImportSelector 注入到spring容器中AutoConfigurationImportSelector 通过 SpringFactoriesLoader 从类路径下去读取META-INF/spring.factories文件信息此文件中有一个key为org.springframework.boot.autoconfigure.EnableAutoConfiguration定义了一组需要自动配置的bean
Spring MVC工作原理 Spring MVC 原理如下图所示
流程说明重要 客户端浏览器发送请求 DispatcherServlet拦截请求。DispatcherServlet 根据请求信息调用 HandlerMapping 。HandlerMapping 根据 URL 去匹配查找能处理的 Handler也就是我们平常说的 Controller 控制器 并会将请求涉及到的拦截器和 Handler 一起封装。DispatcherServlet 调用 HandlerAdapter适配器执行 Handler 。Handler 完成对用户请求的处理后会返回一个 ModelAndView 对象给DispatcherServletModelAndView 顾名思义包含了数据模型以及相应的视图的信息。Model 是返回的数据对象View 是个逻辑上的 View。ViewResolver 会根据逻辑 View 查找实际的 View。DispaterServlet 把返回的 Model 传给 View视图渲染。把 View 返回给请求者浏览器