美文网首页
框架知识

框架知识

作者: 晴天M雨天 | 来源:发表于2020-05-24 02:14 被阅读0次

框架知识
→ Servlet
生命周期
Servlet_生命周期:首先加载servlet的class,实例化servlet,然后初始化servlet调用init()的方法,接着调用服务的service的方法处理doGet和doPost方法,最后是我的还有容器关闭时候调用destroy 销毁方法。
线程安全问题
filter 和 listener

image.png
web.xml 中常用配置及作用
要想回答上面的问题,得先了解web.xml文件使用来干什么的。web.xml文件是用来配置:欢迎页、servlet、filter等的。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程。
→ Hibernate
Hibernate / Ibatis / MyBatis 之间的区别
[https://www.cnblogs.com/yccmelody/p/7145198.html]

→ Spring
Bean 的初始化

  1. 解析XML的核心类
  1. XmlBeanDefinitionReader
    Xml资源的阅读器,将xml解析成Document
  2. DefaultBeanDefinitionDocumentReader
    Document阅读器,将document解析成Element、Node、Attribute,以便于后续解析。
  3. BeanDefinitionParserDelegate
    解析xml生成BeanDefinition的委派类。所有解析过程由此类完成
  4. DefaultListableBeanFactory
    xml解析完以后,都注册到BeanFactory。后续通过BeanFactory可以源源不断的创建实例。
    AOP 原理
    (1) SpringAOP是动态代理来实现的。有两种代理方式:JDK动态代理与CGLIB动态代理
    (2) JDK动态代理:是通过反射来接收被代理类,要求必须实现一个接口
    (3) CGLIB动态代理:当被代理类没有实现一个接口的时候,就会使用CGLIB进行动态代理。CGLIB动态代理通过运行时动态生成被代理类的子类,运用继承的方式来实现动态代理。如果被代理类被final修饰了,那么就不能使用CGLIB进行动态代理了。
    实现 Spring 的IOC
    Spring 四种依赖注入方式
    1set注入
    2构造注入
    3静态工厂注入
    4实力工厂的方法注入
    → Spring MVC
    什么是 MVC
    model view controller
    model 包括平时写的service dao bean等 view 代表jsp vue等 controller 就是请求控制
    Spring mvc 与 Struts 的区别
    https://www.cnblogs.com/wl0000-03/p/7803276.html
    博客参考地址
    → Spring Boot
    Spring Boot 2.0、
    几个重要的变动如下:
    Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。
    为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer,并且org.springframework.boot.context.embedded 包被重定向到了org.springframework.boot.web.embedded包下。举个例子,如果你要使用TomcatEmbeddedServletContainerFactory回调接口来自定义内嵌Tomcat容器,你现在应该使用TomcatServletWebServerFactory。
    Servlet-specific 的server properties调整
    大量的Servlet专属的server.* properties被移到了server.servlet下:
    image
    由此可以看出一些端倪,那就是server不再是只有servlet了,还有其他的要加入。

默认的连接池已经由Tomcat切换到了HikariCP。如果你过去使用spring.datasource.type在基于Tomcat的应用程序中强制使用Hikari,现在你可以删除这个覆盖了。同样的,如果想要使用Tomcat的连接池,只需要简单的加入以下配置就可以了:
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

要求Tomcat最低版本为8.5。

@ConfigurationProperties里的ignoreNestedProperties属性已被删除。

Spring Boot 2.0 是建立在Spring Framework 5.0之上的(最低要求)。Spring 5最大的亮点就是reactive。

Spring Boot 2.0 对一下的数据库提供了自动配置( auto-configuration )的reactive的支持:
MongoDB (spring-boot-starter-data-mongodb-reactive)
Redis (spring-boot-starter-data-redis-reactive)
Cassandra (spring-boot-starter-data-cassandra-reactive)
@DataMongoTest测试注解也是支持reactive的。

Reactive controller现在可以使用@WebFluxTest来测试。它提供的功能和 @WebMvcTest类似。而且WebTestClient可以直接使用,已经被自动配置(auto-configured)了。

现在支持一次性批量消费多个ConsumerRecord,你可以创建一批的监听器(listener),这样设置:
spring.kafka.listener.type=batch

jedis客户端驱动现在由Jedis变为了Lettuce。使用Jedis的同学们,大概知道方向了吧。
但仍然支持Jedis,那么exclude掉io.lettuce:lettuce-core,然后添加 redis.clients:jedis就是了。

起步依赖、
起步依赖就是在starter中已经帮我们构建了一些必要的jar放在了父pom里,方便使用。
自动配置、
通过@EnableAutoConfiguration注解完成SpringBoot自动配置的实现。通过@Import注解添加自动配置选择器(AutoConfigurationImportSelector),选择器中首先读取META-INF路径下的spring.factories文件。在spring.factories文件中,SpringBoot官方提供了许多常见组件的默认配置,以java配置类形式存在。在这些java配置类中又利用了Spring的条件注解,让我们可以在默认配置和自定义配置之间灵活切换。
可以这么认为:SpringBoot在Spring原有的基础上,通过拼凑组合又实现了一个强大的特性——自动配置。
自动配置让我们可以在不做任何配置的情况下直接使用一个新的类库(前提是足够普遍),也能满足我们自定义配置的需求。除此之外,我们还可以利用这个思路,实现具有团队特色的自动配置,让团队开发也更加高效。

Spring Boot 的 starter 原理,自己实现一个 starter
Spring Boot在启动时扫描项目所依赖的JAR包,寻找包含spring.factories文件的JAR包,
然后读取spring.factories文件获取配置的自动配置类AutoConfiguration,
然后将自动配置类下满足条件(@ConditionalOnXxx)的@Bean放入到Spring容器中(Spring Context)
这样使用者就可以直接用来注入,因为该类已经在容器中了

→ Spring Cloud
服务发现与注册:Eureka 缓存表、Zookeeper 类似linux的文件通知机制、Consul
负载均衡:Feign 动态代理、Spring Cloud Loadbalance(轮询 权重等相关算法)
服务配置:Spring Cloud Config
spring cloud config是一个基于http协议的远程配置实现方式。通过统一的配置管理服务器进行配置管理,客户端通过https协议主动的拉取服务的的配置信息,完成配置获取。
spring cloud config的使用方式非常简单,spring cloud config server默认的实现方式是git管理配置,官方文档介绍已经详细说明有几种使用方式
服务限流与熔断:Hystrix 线程池技术
服务链路追踪:Dapper
服务网关、安全、消息
[https://www.cnblogs.com/xushuyi/articles/11286376.html]参考每个组件的工作原理

相关文章

  • 【知识体系】如何让学习体系化效果更好?

    其实学习体系就是知识框架。 构建知识框架,也就是把知识建立成一个完整的体系。 一、知识框架 (一)所谓知识框架,就...

  • Java知识框架

    前言 最近在准备面试,特定将所有知识整理出来,以框架的形式进行复习。 知识框架清单 Java知识框架 - Linu...

  • 知识框架

    今天看到一篇理财文章,很有吸引力的标题:你每月整得2万块钱的工资,缺交不起一份20元的外卖。 仔细阅读,发现说的确...

  • 知识框架

    Linux linux basic shell basic PHP php composer Framework ...

  • 知识框架

    0. 建立知识框架的目的是什么? 对自己学到的知识进行整理 对自己不知道的知识知道应该去哪里寻找 建立知识之间的联...

  • 框架知识

    框架知识→ Servlet生命周期Servlet_生命周期:首先加载servlet的class,实例化servle...

  • 知识框架

    个人知识框架 1 收集 粗放的inbox 收集渠道 读书 网络 听课 其他 2 收纳整理,总结,归纳((将知识融入...

  • 知识框架

    要想成为某一个领域的专家应该先拥有这样领域的知识框架。拥有知识框架的好处是明白了这个领域知识的内涵与外延。明白内涵...

  • 20200923《打造状元》笔记2

    1、 考前复习方式: 以框架浏览式复习为主 浏览目录,回顾各章节知识点,巩固知识框架,让知识框架牢固树立起来,从而...

  • 20170822看透这货|知识框架图

    之前写了篇文章《牛哄哄的知识框架》。 主要讲了知识框架图的重要性及如何制作知识框架图。这一次讲,学习一门知识,如果...

网友评论

      本文标题:框架知识

      本文链接:https://www.haomeiwen.com/subject/dzipnhtx.html