关于springboot:SpringBootVue3-项目实战打造企业级在线办公系统网盘分享

download:SpringBoot+Vue3 我的项目实战,打造企业级在线办公零碎

什么是SpringBoot?
SpringBoot是Spring开源阻止下的子项目,是Spring组件一站式解决打算,次要是简化了使用Spring的难度,简省了沉重的配置,提供了各种启动器,使开发者可能疾速上手。

为什么要使用SpringBoot?
疾速开发,疾速整合,配置简略,内嵌服务容器

SpringBoot有哪些有点?
容易上手,提成开发效率,简略开发。
开箱即用,简省繁琐配置
提供了一系列大型项目的非业务性功能。例如:内嵌服务器、运行数据监控、运行状况查看、和内部优化配置等
总结:编码简略、配置简略、部署简略、监控变简略
SpringBoot核心注解是哪几个?
启动类下面的@SpringBootApplication,它也是SpringBoot的核心注解,蕴含了以下3个注解

@SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能
@EnableAutoConfiguration:打开主动配置的功能
@ComponentScan:扫描组件
SpringBoot Starter的工作原理
在SpringBoot启动时由@SpringBootApplication注解会主动去maven去读取每个starter中的spring.factories文件,该文件外面配置了所有需要被创建的bean,并且进行主动拆卸把bean注入Spring content中去

SpringBoot2.x 与SpringBoot1.x有什么区别?
配置变更
JDK版本升级
第三方类库升级
响应式Spring编程反对
Http/2反对
配置属性绑定
SprigBoot反对什么前端模板?
thymeleaf、freemarker、jsp

开启SpringBoot个性有哪几种形式?
集成Spring-boot-starter-parent我的项目
导入Spring-boot-dependencies我的项目依赖
SpringBoot实现热部署有哪几种形式?
Spring loaded
Spring-boot-devtools
SpringBoot事物怎么使用?
在SpringBoot启动类下面使用@EnableTransactionManagement 开启事物之后 在service方法下面使用@Transactional
Aysnc 异步调用方法
在SpringBoot中使用异步调用是很简略,只需要在方法上使用@Async注解就可能实现方法的以部调用。需要开启@EnableAsync开启@Async才会失效。

如何在SpringBoot 启动的时候运行一些特定的代码?
可能实现接口ApplicationRunnher或者CommandLineRunner,而后在run方法执行特定操作,该类会在SpringBoot启动实现运行

SpringBoot 有哪几种读取配置的形式?
SpringBoot可能通过@PropertySource,@Value,@Enviornment,@ConfigurationProperties注解来绑定变量。

SpringBoot的主动配置原理是什么?
次要是SpringBoot的启动类上的核心注解@SpringBootApplication注解配置类,有了这个主配置类启动的时候就会为SpringBoot开启一个@EnableAutoConfiguration注解主动配置功能
有了这个@EnableAutoConfiguration 的话就会
从配置文件META_INF/Spring.factories加载可能用到的主动配置类
去重,并将execulde和excludeName属性携带的类排除
过滤,将满足条件的主动配置类返回
SpringBoot可能使用哪几种形式来加载配置?
properties
YAML文件
零碎环境变量
命令行参数
还有更多形式
什么是YAML?
YAML是一种可读的序列化语言,通常用于配置文件,与属性文件相比,YAML更加结构化,更少混淆。

YAML配置的劣势有哪些?
配置有序
简单明了
相比properties配置文件,YAML还有一个缺点,不反对@PropertySource注解导入自定义的YAML配置
SpringBoot是否可能使用XML配置?
是可能的,然而SpringBoot 推荐采纳Java配置而且而非XML配置。

Springboot 核心配置文件是什么?bootstrap.properties 和application.properties的区别
bootstrap由父ApplicationContext加载的,比application优先加载,配置的应用程序上下文的疏导阶段失效。一般来说在SpringCloud配置的时候会使用到这个文件
application由ApplicationContext加载,用于SpringBoot我的项目的自动化配置
SpringBoot多数据源拆分思路?
先在properties 配置文件中配置两个数据源,创建分包mapper,使用@ConfigurationProperties读取propeties中的配置,使用@MapperScan注册到对应的mapper中去

SpringBoot多数据源事物如何治理?
第一种形式是在service层的@TransactionManager中使用transactionManager指定datasourceConfig配置的事物
第二种是使用ta-atomikos实现分布式事物治理
保护SpringBoot利用的方法有哪些?
生产种使用Https
使用snyk查看依赖关系
升级到最新版本
启动CRSF 保护
使用安全策略形式XSS攻打
如何实现SpringBoot应用程序的安全性?
使用spring-boot-starter-security依赖项,并且增加安全配置。配置类扩大WebSecurityConfigurerAdapter 并且覆盖

比较Spring security和Shiro的优缺点?
security是一个重量级框架,shiro是个轻量级框架
security 配置繁琐,shiro简略
security功能弱小 shiro功能简略
SpringBoot种如何解决跨域问题?
跨域可能在前端通过JSONP来解决,然而只能解决GET请求。SpringBoot可能通过实现WebMvcConfigurer接口而后重写addCorsMappings方法解决跨域问题。

SpringBoot中的监视器是什么?
SpringBoot actuator是spring启动框架中的重要功能之一,SpringBoot监视器可帮助拜访生产环境的利用以后状态。

如何监听SpringBoot微服务?
SpringBoot提供监视器端点,以及监控各个微服务的度量,这些端点对于获取是否失常运行很有帮助。咱们将使用SpringBoot Actuator之上,它提供了一个webui 使咱们可监督多个应用程序的度量

SpringBoot我的项目如何性能优化?
我的项目比较大就采纳@Compoment指定扫描包范畴
在我的项目启动时设置JVM初始化内存和最大内存雷同

SpringBoot 微服务中如何实现session共享?
使用Spring session+redis实现session共享

SpringBoot中的starter到底是什么?
这份starter是基于spring来实现的,它提供一个自动化配置拆卸类。在这个配置中通过条件来决定一个配置是否失效。而后提供了一系列的默认配置,也可能开发者自定义配置

什么是springboot

    用来简化spring利用的初始搭建以及开发过程 使用特定的形式来进行配置(properties或yml文件) 

            创建独立的spring引用程序 main方法运行

            嵌入的Tomcat 无需部署war文件

            简化maven配置

            主动配置spring增加对应功能starter自动化配置            

springboot罕用的starter有哪些

    spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp反对

    spring-boot-starter-data-jpa 数据库反对

    spring-boot-starter-data-redis redis数据库反对

    spring-boot-starter-data-solr solr反对

    mybatis-spring-boot-starter 第三方的mybatis集成starter


springboot主动配置的原理

    在spring程序main方法中 增加@SpringBootApplication或者@EnableAutoConfiguration

    会主动去maven中读取每个starter中的spring.factories文件  该文件里配置了所有需要被创建spring容器中的bean


springboot读取配置文件的形式

    springboot默认读取配置文件为application.properties或者是application.yml


springboot集成mybatis的过程

    增加mybatis的starter maven依赖

            

                    org.mybatis.spring.boot

                    mybatis-spring-boot-starter

                    1.2.0

            

    在mybatis的接口中 增加@Mapper注解

    在application.yml配置数据源信息


springboot如何增加【修改代码】主动重启功能

    增加开发者工具集=====spring-boot-devtools


org.springframework.boot

spring-boot-devtools

true

什么是微服务

    以前的模式是 所有的代码在同一个工程中 部署在同一个服务器中 同一个我的项目的不同模块不同功能互相抢占资源

    微服务 将工程根据不同的业务规定拆分红微服务 微服务部署在不同的机器上 服务之间进行相互调用

    Java微服务的框架有 dubbo(只能用来做微服务),spring cloud(提供了服务的发现,断路器等)


springcloud如何实现服务的注册和发现

    服务在公布时 指定对应的服务名(服务名包含了IP地址和端口) 将服务注册到注册核心(eureka或者zookeeper)

    这一过程是springcloud主动实现 只需要在main方法增加@EnableDisscoveryClient  同一个服务修改端口就可能启动多个实例

    调用方法:传送服务名称通过注册核心获取所有的可用实例 通过负载平衡策略调用(ribbon和feign)对应的服务


ribbon和feign区别

    Ribbon增加maven依赖 spring-starter-ribbon 使用@RibbonClient(value="服务名称") 使用RestTemplate调用近程服务对应的方法

    feign增加maven依赖 spring-starter-feign 服务提供方提供对外接口 调用方使用 在接口上使用@FeignClient("指定服务名")

Ribbon和Feign的区别:

    Ribbon和Feign都是用于调用其余服务的,不过形式不同。

    1.启动类使用的注解不同,Ribbon用的是@RibbonClient,Feign用的是@EnableFeignClients。

    2.服务的指定地位不同,Ribbon是在@RibbonClient注解上申明,Feign则是在定义抽象方法的接口中使用@FeignClient申明。

    3.调用形式不同,Ribbon需要自己构建http请求,模拟http请求而后使用RestTemplate发送给其余服务,步骤相当繁琐。

    Feign则是在Ribbon的基础上进行了一次改进,采纳接口的形式,将需要调用的其余服务的方法定义成抽象方法即可,

    不需要自己构建http请求。不过要注意的是抽象方法的注解、方法签名要和提供服务的方法残缺一致。


springcloud断路器的作用

    当一个服务调用另一个服务因为网络原因或者自身原因出现问题时 调用者就会等待被调用者的响应 当更多的服务请求到这些资源时

            导致更多的请求等待 这样就会发生连锁效应(雪崩效应) 断路器就是解决这一问题

            断路器有残缺打开状态

          肯定工夫内 达到肯定的次数无奈调用 并且多次检测没有复原的迹象 断路器残缺打开,那么下次请求就不会请求到该服务

             半开

             短时间内 有复原迹象 断路器会将部分请求发给该服务 当能失常调用时 断路器敞开

            敞开

            当服务一直处于失常状态 能失常调用 断路器敞开

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据