![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
5-4 SpringBoot
文章平均质量分 65
SpringBoot
微凉归期
一起加油^0^~
展开
-
Springboot-29高级特性-分布式(分布式、Dubbo/Zookeeper、SpringBoot/Cloud)
服务拆分成多个模块部署,由注册中心统一管理分配。A服务需要调用B服务,需要先调用注册中心,再由注册中心找到B服务;组合一:Dubbo+ZookeeperZookeeper注册中心:应用程序协调服务;Dubbo分布式服务框架:使各层解耦;使用:需要使用docker安装镜像(1)服务提供者需要进行的准备第一步:创建一个服务提供者引入依赖服务提供者为服务接口类dubbo依赖<dependency> <groupId>org.apache.du原创 2022-02-27 18:28:23 · 872 阅读 · 0 评论 -
Springboot-28高级特性-安全(spring Security)
1、概念安全框架:shiro、security主要功能:认证:建立用户授权:用户可以访问的资源权限2、使用(1)依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </de原创 2022-02-27 14:38:23 · 3788 阅读 · 0 评论 -
Springboot-27高级特性-任务(异步、定时、邮件)
1、异步任务@EnableAsyc:主程序开启异步注解;@Asyc:方法添加注解,告诉spring是一个异步方法,就会开一个线程池自动调用;2、定时任务@EnableScheduling:开启定时任务;@Scuheduled:方法标注定时表达式;表达式6位,分别代表:秒分时日月周//每天每秒启动@Scuheduled(cron="* * * * * MON-SAT")//每周一到周五整秒启动,即每周一到周五每分钟启动一次@Scuheduled(cron="0 * * * * MO原创 2022-02-27 11:59:25 · 311 阅读 · 0 评论 -
Springboot-26高级特性-检索(ElasticSearch)
概念:分布式搜索服务,快速存储、搜索和分析海量数据,通过restful API;1、使用docker中国,安装镜像。学习路径:学习官网路径原创 2022-02-26 23:05:49 · 1361 阅读 · 0 评论 -
Springboot-25高级特性-消息(简介、RabbitMQ)
1、简介使用场景(1)异步处理注册——》发短信——》发邮件——》收到响应注册——》同时发短信邮件——》收到响应注册——》写入消息队列——》收到响应——》异步读取发送短信邮件(异步处理)(2)应用解耦订单——》库存订单——》消息队列《——库存(3)流量削峰秒杀数量为1w,当消息队列请求达到1w之后,用户请求直接返回秒杀失败,之后进行业务处理。用户请求——》消息队列——》业务处理概念(1)消息代理:message broker,中间服务器;(2)目的地:destinati原创 2022-02-26 22:50:03 · 810 阅读 · 0 评论 -
Springboot-24高级特性-缓存(JSR107、缓存抽象Cacheable、整合redis)
用途:读取缓存,减少服务器压力,提高性能;临时数据,如有效期验证码;1、JSR107(1)java caching定义5个核心接口cachingprovider:创建、配置、获取、管理和控制cachemanager,一个应用可以运行时访问多个cachingprovider;chchemanager:创建、配置、管理和控制多个唯一命名的cache,这些cache存在于cachemanager的上下文中。一个cachemanager只能被一个cachingprovider用于;cache:一原创 2022-02-26 16:48:08 · 441 阅读 · 0 评论 -
Springboot-23高级特性(profile、加载优先级、自定义starter)
1、profile(1)环境切换#1、环境配置spring: #当前环境 profiles: active: dev默认配置文件与环境配置同时存在某个配置项,环境配置优先加载;打包之后可以重新选择环境激活,使用如下指令:java -jar xxx.jar --spring.profiles.active=prod --person.name=haha–spring.profiles.active=prod:重新制定配置文件;–person.name=haha:重新原创 2022-02-26 00:01:22 · 571 阅读 · 0 评论 -
Springboot-22指标监控(Actuator)
1、Actuator简介每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。springboot1.0与springboot2.0版本存在很大区别,2.0版本支持内容更多。2、Actuator使用(1)引入依赖<dependency> <groupId>org.springframework.boot</groupId&原创 2022-02-25 23:04:36 · 301 阅读 · 0 评论 -
Springboot-21单元测试(Junit5、assertions、assumptions、嵌套测试、参数化测试)
1、JUnit5 的变化Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库作为最新版本的JUnit框架由,三个不同子项目的几个不同模块组成。JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit VintageJUnit Platform: Junit Platform是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也都可以接入。JUnit Jupiter: JUnit Jupiter提供了原创 2022-02-23 22:31:52 · 424 阅读 · 0 评论 -
Springboot-20数据访问-NoSQL(redis、jedis)
1、概念:Redis 是一个开源(BSD 许可)的内存数据结构存储,用作数据库、缓存和消息中间件。Redis 提供数据结构,例如字符串、散列、列表、集合、具有范围查询的排序集合、位图、超日志、地理空间索引和流。2、redis自动配置依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo原创 2022-02-23 21:16:43 · 825 阅读 · 0 评论 -
Springboot-19数据访问-SQL(Druid、Mybatis、MybatisPlus)
数据访问-SQL(Druid、Mybatis、MybatisPlus)原创 2022-02-22 22:46:10 · 621 阅读 · 0 评论 -
Springboot-18嵌入式Servelt容器与定制化原理
嵌入式Servelt容器1、概念内置服务器,直接启动服务默认支持的webServerTomcat, Jetty, or UndertowServletWebServerApplicationContext 容器启动寻找ServletWebServerFactory并引导创建服务器切换服务器<dependency> <groupId>org.springframework.boot</groupId> <artifact原创 2022-02-21 22:15:50 · 97 阅读 · 0 评论 -
Springboot-17原生组件注入(servlet、fileter、listener)
1、方式一:使用Servlet API//指定扫描目录@ServletComponentScan(basePackages = "com.atguigu.admin") :指定原生Servlet组件都放在那里//servelt@WebServlet(urlPatterns = "/my"):效果:直接响应,没有经过Spring的拦截器?//过滤器@WebFilter(urlPatterns={"/css/*","/images/*"})//监听器@WebListenerservlet原创 2021-10-21 22:58:51 · 154 阅读 · 0 评论 -
Springboot-16错误处理
1、默认处理当访问页面时是返回404,500等错误信息默认情况下,Spring Boot提供/error处理所有错误的映射。如果是浏览器请求URL错误,返回错误页面;如果是postman等非浏览器客户端请求URL错误,返回 json 数据。浏览器客户端机器客户端2、自定义要对其进行自定义,添加View解析为error;error/404.html error/5xx.html;有精确的错误状态码页面就匹配精确,没有就找 4xx.html;如果都没有就触发白页。注意:html原创 2021-10-20 22:19:07 · 190 阅读 · 0 评论 -
Springboot-15文件上传
1、单文件<form method="post" action="/upload" enctype="multipart/form-data"> <input type="file" name="file"><br> <input type="submit" value="提交"></form>2、多文件<form method="post" action="/upload" enctype="multipart/f原创 2021-10-18 22:34:08 · 82 阅读 · 0 评论 -
Springboot-14拦截器(登录检查、静态放行)
需求:对于每个页面访问时都需要登录验证,如果不登录则无法访问。实现拦截器需要实现HandlerInterceptor类,分为方法执行前,执行时,执行后三个处理阶段。注册拦截器时需要实现WebMvcConfigurer类。逻辑:登录前检查session对象中是否存在登录用户,如果没有跳转到登录页,并往session中放入提示信息;实现:1、写一个拦截器,明确拦截逻辑;package com.springbootweb.Interceptor;import lombok.exte原创 2021-10-18 21:57:52 · 599 阅读 · 1 评论 -
Springboot-13Web实验
注意:使用模板引擎需导入动态资源模板引擎驱动1、下载资源百度搜索bootstrap模板,即可找到免费资源下载2、导入资源资源目录导入目录3、处理请求3.1 访问请求登录页//访问http://localhost:8005 或者http://localhost:8005/login进入登录页 @GetMapping(value = {"/","login"}) public String toLogin(){ return "login";原创 2021-10-18 20:57:54 · 110 阅读 · 0 评论 -
Springboot-12视图解析与模板引擎(thymeleaf)
1、视图解析概念:springboot处理完请求想要跳转页面的位置;SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。实现:转发重定向自定义视图2、模板引擎(thymeleaf)thymeleaf 不适用高并发2.1 基本语法1、表达式表达式名字——》语法——》用途变量取值——》${…} ——》获取请求域、session域、对象等值选择变量——》*{…}——》获取上下文对象值消息——》#{…}——》获取国际化等值链接——》@{…} ——》生原创 2021-10-16 12:44:54 · 326 阅读 · 0 评论 -
Springboot-11数据响应(响应JSON)、内容协商
1、json1.1 引入Springboot web包,帮我们自动导入json处理<!-- 启动器-web-Mvc环境依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>原创 2021-10-16 11:58:13 · 355 阅读 · 0 评论 -
Springboot-10请求处理(Servlet、复杂参数、自定义)
1、Servlet API:WebRequest、ServletRequest、MultipartRequest、 HttpSession、javax.servlet.http.PushBuilder、Principal、InputStream、Reader、HttpMethod、Locale、TimeZone、ZoneId2、复杂参数1、Map、Model(map、model里面的数据会被放在request的请求域 ),即等价于给HttpServletRequest 放数据(request.setA原创 2021-10-13 22:56:42 · 248 阅读 · 0 评论 -
Springboot-09请求处理(rest风格、参数注解)
1、rest使用与原理index.html<form action="/user/get" method="get"> <input value="REST-GET" type="submit"></form><form action="/user/post" method="post"> <input value="REST-POST" type="submit"></form><form act原创 2021-09-29 23:01:19 · 412 阅读 · 0 评论 -
Springboot-08Web场景(静态资源、webjars、欢迎页)
1、静态资源官网静态资源内容学习地址1.1 默认访问路径类路径下以下路径如果存在静态资源(图片,文件,视频等),可以浏览器直接访问得到:当前项目根路径/ + 静态资源名/static (or /public or /resources or /META-INF/resources)Controller优先处理如果存在与静态资源相同的Controller访问路径,则优先处理。即优先处理Controller路径,如果没有再从静态路径找。1.2 默认配置修改1.2.1 访问路径加前缀s原创 2021-09-28 22:23:26 · 149 阅读 · 0 评论 -
SpringBoot-07配置文件
1、properties同传统配置文件2、yamlspringboot推荐使用,适合以数据为中心的配置文件2.1基本语法key: value;kv之间有空格大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空格数不重要,只要相同层级的元素左对齐即可'#'表示注释字符串无需加引号,如果要加,’'与""表示字符串内容 会被 转义/不转义通过@ConfigurationProperties(prefix = "student")使用双引号 \n 换行,单引号转义不换行原创 2021-09-27 22:13:19 · 134 阅读 · 0 评论 -
SpringBoot-06简化开发(lombok、dev-tools、Spring Initailizr)
1、lombok1.1 引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>1.2 安装插件1.3 使用@Data :setter,getter;@AllArgsConstru原创 2021-09-27 21:58:26 · 89 阅读 · 0 评论 -
SpringBoot-05最佳实战
1、引入依赖 https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter2、查看哪些开启,哪些未开启application.yml配置文件中加入 debug:true,即可在控制台查看哪些配置生效,哪些未生效。Negative(不生效)\Positive(生效)3、修改配置项 https://docs.spring.io/spring原创 2021-09-27 21:39:41 · 180 阅读 · 0 评论 -
SpringBoot-04自动装配原理3(底层)
1、主程序注解1.1 @SpringBootApplication等效于以下3个注解(1)@SpringBootConfiguration/***里面是一个@Configuration*说明是一个配置类**/(2)@ComponentScan/***包扫描**/(3)@EnableAutoConfiguration@AutoConfigurationPackage@Import({Registrar.class}) //Registrar批量注册组件,默认注册主原创 2021-09-26 23:50:03 · 61 阅读 · 0 评论 -
SpringBoot-03自动装配原理2(注解)
1、组件添加1.1 @Configuration/**proxyBeanMethods特性 * 1、配置类本身也是一个组件 * 2、组件注册默认是单例的 * 3、proxyBeanMethods:代理bean的方法,为true时每次都是从容器中取,保持单实例,每次拿到的对象是相等的 * Full:proxyBeanMethods = true * Lits:proxyBeanMethods = false */ //告诉这是一个配置类 @Configuration(proxy原创 2021-09-25 22:16:17 · 180 阅读 · 0 评论 -
SpringBoot-02自动装配原理1(依赖)
1、依赖管理帮我们进行了版本管理,几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制。pom.xml依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.5-SNAPSHOT</ver原创 2021-09-25 20:08:43 · 176 阅读 · 0 评论 -
SpringBoot-01背景与入门
1、微服务https://martinfowler.com/microservices/微服务是一种架构风格一个应用拆分为一组小型服务每个服务运行在自己的进程内,可独立部署和升级服务之间使用轻量级HTTP交互服务围绕业务功能拆分可以由全自动部署机制独立部署去中心化,服务自治。服务可以使用不同的语言、不同的存储技术2、分布式分布式的困难远程调用服务发现负载均衡服务容错配置管理服务监控链路追踪日志管理任务调度3、分布式上云的困难服务自愈弹性伸缩服务隔离原创 2021-09-25 18:15:04 · 84 阅读 · 0 评论