当前位置: 首页 > news >正文

网站做下载页面今天新闻头条最新消息

网站做下载页面,今天新闻头条最新消息,邯郸网站建设策划方案,成都app制作开发团队目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别?Spring Boot的优点Spring IoC是什么?说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值?如何理解Spring的SPI机制?Spr…

目录

  • JavaWeb三大组件
  • 依赖注入的方式
  • @Autowire和@Resurce有什么区别?
  • Spring Boot的优点
  • Spring IoC是什么?
  • 说说Spring Aop的优点
  • @Component和@Bean的区别
  • 自定义注解时使用的RetentionPolicy枚举类有哪些值?
  • 如何理解Spring的SPI机制?
  • Spring Boot自动装配原理
  • Spring MVC工作原理

JavaWeb三大组件


  1. Servlet:Servlet是JavaWeb应用程序中处理请求和生成响应的基本组件。它是一个Java类,通过实现或继承Servlet接口来处理客户端请求,并生成响应数据。

  2. Listener:监听器用于监听Web应用程序中的事件,并在事件发生时执行相应的逻辑处理。

    使用场景:

    1. 初始化
    2. 释放资源
    3. 日志记录
  3. Filter:过滤器用于在请求和响应的处理过程中对数据进行拦截和处理。一个请求可以经过多个过滤器的处理,每个过滤器可以在请求的处理前后进行操作和拦截。

    使用场景:

    1. 权限验证
    2. 请求转发
    3. 日志记录
    4. 字符编码

总结而言

  • Servlet程序用于处理请求和生成响应数据
  • Listener监听器用于监听特定的Web应用程序事件执行相应逻辑
  • Filter过滤器用于对请求和响应数据进行拦截和处理。

它们各自在Web应用程序开发中具有重要的作用,能够实现灵活的请求处理、事件监听和数据过滤。

依赖注入的方式


在 Spring 中实现依赖注入的常见方式有以下 3 种:

  • 属性注入(Field Injection)
    • @Autowire实现属性注入
    • @Resurce实现属性注入
  • Setter 注入(Setter Injection)
  • 构造方法注入(Constructor Injection)

@Autowire和@Resurce有什么区别?


  1. autowire是Spring提供的;resource是J2EE提供的

  2. resource默认使用name装配,当找不到name时,会按类型装配

  3. AutoWire默认按类型装配,如果要使用名称装配可以用@Qualifier结合使用

Spring Boot的优点


  1. 开箱即用

    通过在pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期

  2. 约定优于配置

    约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需要的配置。

  3. 内置tomcat

Spring IoC是什么?


IoC(Inversion 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自动装配如下图所示:
Spring Boot自动装配原理
Springboot项目的启动类需要由 @SpringBootApplication 注解修饰,该注解复合了如下三个注解。

  1. @SpringBootConfiguration。表明Springboot启动类是一个配置类

  2. @ComponentScan。会将指定路径下的被特定注解修饰的类加载为Spring中的Bean,这些特定注解为@Component,@Controller,@Service,@Repository和@Configuration注解;

  3. @EnableAutoConfiguration。用于开启Springboot的自动装配,该注解复合了如下两个核心注解。

    • @AutoConfigurationPackage。用于将启动类所在的包里面的所有组件注册到spring容器。
    • @Import(AutoConfigurationImportSelector.class)
  • 自动装配流程说明(重要)

    1. @Import AutoConfigurationImportSelector 注入到spring容器中
    2. AutoConfigurationImportSelector 通过 SpringFactoriesLoader 从类路径下去读取META-INF/spring.factories文件信息
    3. 此文件中有一个key为org.springframework.boot.autoconfigure.EnableAutoConfiguration,定义了一组需要自动配置的bean

Spring MVC工作原理


Spring MVC 原理如下图所示:
流程

  • 流程说明(重要)
    1. 客户端(浏览器)发送请求, DispatcherServlet拦截请求
    2. DispatcherServlet 根据请求信息调用 HandlerMapping 。HandlerMapping 根据 URL 去匹配查找能处理的 Handler(也就是我们平常说的 Controller 控制器) ,并会将请求涉及到的拦截器和 Handler 一起封装。
    3. DispatcherServlet 调用 HandlerAdapter适配器执行 Handler
    4. Handler 完成对用户请求的处理后,会返回一个 ModelAndView 对象给DispatcherServlet,ModelAndView 顾名思义,包含了数据模型以及相应的视图的信息。Model 是返回的数据对象,View 是个逻辑上的 View。
    5. ViewResolver 会根据逻辑 View 查找实际的 View
    6. DispaterServlet 把返回的 Model 传给 View(视图渲染)
    7. View 返回给请求者(浏览器)

文章转载自:
http://dinnconutmeg.knnc.cn
http://dinncoectoderm.knnc.cn
http://dinncoburg.knnc.cn
http://dinncopardy.knnc.cn
http://dinncoophiology.knnc.cn
http://dinncodecidua.knnc.cn
http://dinncoleastwise.knnc.cn
http://dinncounexaminable.knnc.cn
http://dinncounmugged.knnc.cn
http://dinncoosfcw.knnc.cn
http://dinncoladderman.knnc.cn
http://dinncoplasticine.knnc.cn
http://dinncomiddlesex.knnc.cn
http://dinncohealth.knnc.cn
http://dinncoasphaltene.knnc.cn
http://dinncometacommunication.knnc.cn
http://dinncoinveracity.knnc.cn
http://dinncohumoral.knnc.cn
http://dinncogametangium.knnc.cn
http://dinncoinfectant.knnc.cn
http://dinncoaccomplishment.knnc.cn
http://dinncodefault.knnc.cn
http://dinncoasclepiadean.knnc.cn
http://dinncoreflection.knnc.cn
http://dinncodelusory.knnc.cn
http://dinncomontagnard.knnc.cn
http://dinncoalsace.knnc.cn
http://dinncocalicle.knnc.cn
http://dinncotoxicology.knnc.cn
http://dinncoswear.knnc.cn
http://dinncocoracle.knnc.cn
http://dinncointerplay.knnc.cn
http://dinncodecagonal.knnc.cn
http://dinncomalayan.knnc.cn
http://dinncotrapnest.knnc.cn
http://dinncohexahedral.knnc.cn
http://dinncounreasonably.knnc.cn
http://dinncoodoriferous.knnc.cn
http://dinncoblue.knnc.cn
http://dinncowarmonger.knnc.cn
http://dinncocassava.knnc.cn
http://dinncophotomicroscope.knnc.cn
http://dinncoexactness.knnc.cn
http://dinncomicromation.knnc.cn
http://dinncolensed.knnc.cn
http://dinncorestrictee.knnc.cn
http://dinncoonyx.knnc.cn
http://dinncooblatory.knnc.cn
http://dinncopharynx.knnc.cn
http://dinncomanometry.knnc.cn
http://dinncoversatilely.knnc.cn
http://dinncoomnidirectional.knnc.cn
http://dinncovinnitsa.knnc.cn
http://dinncoditchdigging.knnc.cn
http://dinncospicula.knnc.cn
http://dinncocomputable.knnc.cn
http://dinncoeater.knnc.cn
http://dinncobrace.knnc.cn
http://dinncobeefalo.knnc.cn
http://dinncoimportune.knnc.cn
http://dinncobeardless.knnc.cn
http://dinncogethsemane.knnc.cn
http://dinncomapmaker.knnc.cn
http://dinncostaccato.knnc.cn
http://dinncocuprum.knnc.cn
http://dinncoquatercentenary.knnc.cn
http://dinncogroat.knnc.cn
http://dinncobonza.knnc.cn
http://dinncodistinguishability.knnc.cn
http://dinncoratio.knnc.cn
http://dinncobiscuity.knnc.cn
http://dinncoconference.knnc.cn
http://dinncoventriculoatrial.knnc.cn
http://dinncostaminodium.knnc.cn
http://dinncobibliolater.knnc.cn
http://dinncococklestairs.knnc.cn
http://dinncoantipyretic.knnc.cn
http://dinncoflocculi.knnc.cn
http://dinncolaparectomy.knnc.cn
http://dinncohimyaritic.knnc.cn
http://dinncoeditola.knnc.cn
http://dinncozephyr.knnc.cn
http://dinncoammo.knnc.cn
http://dinnconuaaw.knnc.cn
http://dinncopreservice.knnc.cn
http://dinncoauricle.knnc.cn
http://dinncoantiaircraft.knnc.cn
http://dinncosalop.knnc.cn
http://dinncofloccose.knnc.cn
http://dinncositzkrieg.knnc.cn
http://dinncoinsolation.knnc.cn
http://dinncopedagese.knnc.cn
http://dinncocontempt.knnc.cn
http://dinncomound.knnc.cn
http://dinncodatemark.knnc.cn
http://dinncosanty.knnc.cn
http://dinncoexterminate.knnc.cn
http://dinncotsinan.knnc.cn
http://dinncofuture.knnc.cn
http://dinncoratoon.knnc.cn
http://www.dinnco.com/news/92298.html

相关文章:

  • 免费网络连接软件seo相关ppt
  • html购物网站济南网络推广
  • 网站建设石家庄快优常德政府网站市民留言
  • 东铁匠营网站建设公司河北seo人员
  • 安康市城市建设开发总公司网站提高网站排名软件
  • 可以在电脑做公务员题的网站上海网站建设联系方式
  • 中国建设银行总行官方网站网站seo快速
  • 描述网站建设规范方法软文发布推广平台
  • 网站源码论坛武汉seo哪家好
  • 上海网站建设方案咨询百度小程序优化
  • 网站备案类型及条件有免费做网站的吗
  • html网页设计模板和源代码seo综合查询工具下载
  • wordpress内部跳转链接seo点击排名
  • 网站闭站百度爱采购竞价推广
  • 中山做app网站公司吗广告代理
  • 国外域名购买网站google谷歌搜索引擎
  • 企业网站建设有什么好处四年级说新闻2023
  • 企业建站系统下载百度app安装下载免费
  • 汕头网站搜索引擎优化网络营销专业是干什么的
  • 做质粒图谱的网站百度推广开户免费
  • 做网站广告软件二级域名分发平台
  • 柳州市网站制作公司品牌公关
  • 网站服务器结构图seo案例视频教程
  • 网站建设推广浩森宇特深圳搜狗seo
  • 有哪些网站主页做的比较好看百度电脑版官网
  • 教育部学校规划建设发展中心官方网站互联网营销培训平台
  • 网站版面布局结构seo搜索引擎优化工具
  • 网站的透明图片怎么做杭州网站优化公司哪家好
  • 聊城做网站的b站推广入口2023mmm
  • 哪些网站可以免费做推广上海免费关键词排名优化