spring boot从0到实战 全

前言:看到这篇博客的小可爱们,这篇博客是我自己从0到实战的笔记,后面我会附上我整个过程的源码给大家参考,一起加油把。
同时,这是上一篇博客,SpringBoot详解,完整版。从0到1!(持更 的第二部分,因为一下写完实在是太长,阅读起来不友好(既然写了,我就想给大家最好的阅读体验,也希望大家多多指点👀)
不在废话进入正题:想看前半部分的 传送门
我把综合示例放到另一个里面。传送门:https://blog.csdn.net/qq_44850489/article/details/109313589

spring boot从0到实战

    • 十八:spring boot继承redis
      • 1,首先说明redis是什么东西:
      • 2,在pom.xml中引入redis依赖,
      • 3,主要是在service层。
      • 4,哨兵模式
    • 十九:dubbo以及Zookeeper的安装
      • Zookeeper的安装:这是注册中心,相当于连接前后台。
      • 002: 安装dubbo ,只是一个监控平台。
      • 003: 打包成jar包之后,双击jar包运行,如果没有启动zookeeper的话会一直报错,但是程序不会停止,因为它是一个监控中心,启动Zookeeper之后,访问localhost:7001 默认端口,默认登录账号密码是 root root
      • 01:dubbo的提供者
      • 02:dubbo的消费者
      • 二,配置dubbo配置。
    • 二十:Springboot使用拦截器
    • 二十一:Springboot使用Servlet
      • 1.通过注解
      • 方法二: 编写一个普通的servlet 在写一个配置类
    • 二十二:Springboot使用Filter
      • 方法一:与使用Servlet对应 filter过滤器 ,要在启动类上扫描一下,
      • 方法二: 用一个普通的filter,用配置类,把这个filter注入进来。
    • 二十三:Springboot配置字符编码
      • 第一种方式: 利用spring提供的字符编码过滤器
      • 方式二:在application.properties中配置字符编码
    • 二十四:Springboot 非web应用程序
    • 二十五:Springboot日志Logo处理
    • 二十六:Springboot部署war包
    • 二十七:springboot继承Thymelef
    • 二十八:springboot的服务监控
    • 二十九:springboot综合示例

十八:spring boot继承redis

1,首先说明redis是什么东西:

redis是数据库,用来管理缓存(很重要,很火的一门技术,几乎是java后端面试必备),我这里只讲如何在spring boot项目里继承,坦白说,220-10-27 我还没有系统的学习到redis,我是学这个springboot接触到的。推荐一个redis数据库可视化工具:RedisDesktopManager 。网上可以找到,如果有人需要,可以私信我,如果人多我会封装好发出来,这里就不去弄这些了,我们继续。

2,在pom.xml中引入redis依赖,

在配置文件中配置上数据库的信息,然后就可以再类中注入。
在这里插入图片描述

3,主要是在service层。

我们可以先判断redis中有无要查询的数据,有的话直接返回。没有的话再从数据库中取出,然后放到redis中。
同时要注意,有一些添加功能之后,比如总数已经发生改变,但是我们redis缓存中的数据并没有改变。所以需要我们将数据重新添加到redis中,完成数据的更新。

4,哨兵模式

只需要改一下这个配置就可以,就是redis可能并没有在一个电脑上,我们可能多个集群起来使用,(大广都是这样搞,还是在linux上)
在这里插入图片描述
关于redis就说这么多,现在还用不到,在最后的实战中,里面会有一个使用的demo

十九:dubbo以及Zookeeper的安装

Zookeeper的安装:这是注册中心,相当于连接前后台。

安装方法: 到官网下载 带有bin的版本,在conf文件中 复制zoo_sample 然后更名为zoo。再到bin目录下,以管理员身份运行,zkServer.cmd。
(同样如果找不到可以找我要)
可以运行 zkCli.cmd客户端。看是否启动成功。

002: 安装dubbo ,只是一个监控平台。

本身就是一个mvn springboot项目
安装方法:到官网下载 然后在目录中cmd
执行mvn clean package -Dmaven.test.skip=true 是mvn的打包命令,第一次打包比较慢,clean是先清除配置, -Dmaven.test.skip=true是跳过测试,测试时更慢的。

003: 打包成jar包之后,双击jar包运行,如果没有启动zookeeper的话会一直报错,但是程序不会停止,因为它是一个监控中心,启动Zookeeper之后,访问localhost:7001 默认端口,默认登录账号密码是 root root

pom.xml

<!--Dubbo集成SpringBoot框架起步依赖--><dependency><groupId>com.alibaba.spring.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.0.0</version></dependency><!--zookeeper注册中心--><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.10</version><!--过滤掉log4j的依赖包--><exclusions><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency>

.properties 配置文件

#内嵌的服务端口号
server.port=8081#redis配置
spring.redis.host=127.0.0.1
spring.redis.port=6379#dubbo配置
spring.application.name=01-springboot-all-provider
spring.dubbo.appname=01-springboot-all-provider
spring.dubbo.registry=zookeeper://192.168.43.230:2181#配置数据库连接
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springdb?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false

配置完成时候,dubbo 和zookeeper将项目分为三部分:我在最后的实战中将他分为三个模块

01:dubbo的提供者

dubbo注解,service类用dubbo的@service 还有@Componet注解
在启动类中开启@EnableDubboConfiguration 开启dubbo的自动配置
就是识别出来里面的注解,然后自动配置

02:dubbo的消费者

消费者也是springboot项目,第一步,加依赖springboot继承dubbo的起步依赖

二,配置dubbo配置。

在properties 三加入zookeeper的依赖包
导入接口项目的依赖包
@Reference 引用远程服务 在main方法上开启dubbo自动配置的支持。

到这里应该很多小伙伴都倒下了,不管你倒没倒(我倒了),如果一两天都没搞出来,就继续往下学,最后的实战一用就站起来了。

二十:Springboot使用拦截器

拦截器这种东西就不用多说了吧(如果需要可以自行百度,这个解释很多)。我们看看spring boot里面如何实现
在这里插入图片描述
拦截器做继承,没有业务逻辑 实现一个接口 HandlerInterceptor 实现里面的方法,
逻辑代码按照之前的去写就可以。
写一个配置类,WebConfig 继承一个类 WebMvcConfigurerAdapter,实现add。。方法
注册登录拦截器,里面写可拦截的路径,不拦截的路径。
配置类,加注解@Configuration 注解,表示是一个配置类
(我写的代码demo实在是难以找到,先混个面熟,等会实例就用到了)

二十一:Springboot使用Servlet

1.通过注解

在mian上面继承

在这里插入图片描述

方法二: 编写一个普通的servlet 在写一个配置类

把这个servlet配置到里面去添加配置注解
@Configuration springboot没有xml,这个注解就可以表示是spring的一个xml文件
里面加一个注解@Bean 等价于看成是配置文件

二十二:Springboot使用Filter

方法一:与使用Servlet对应 filter过滤器 ,要在启动类上扫描一下,

方法二: 用一个普通的filter,用配置类,把这个filter注入进来。

有些现有的过滤器实现不了某些功能,所以可以利用添加一个拦截器来实现一些特定的功能
在这里插入图片描述

二十三:Springboot配置字符编码

第一种方式: 利用spring提供的字符编码过滤器

在Config里面设置上,
properties在spring.thhp.encoding.enabled=false 后,过滤器才会生效。

方式二:在application.properties中配置字符编码

在application.properties中配置字符编码
推荐方式

二十四:Springboot 非web应用程序

方式一:创建一个springboot项目,不勾选web,然后写一个service,在启动类中获取service对象调用。

方式二:在入门类实现CommandLineRuner接口,实现里面的方法,实现的这个方法相当于纯java程序的main方法。
那么原来的入口类还是要,它是启动springboot容器,可以吧启动语句方法这个实现方法中。启动之后,会将类放到容器中,那么可以在实现的那个方法里注入@Auowired

二十五:Springboot日志Logo处理

关掉每次启动时 LOGO的输出

在启动类中关闭

二十六:Springboot部署war包

入口方法继承SprinBootServletInitializer类
覆盖里面的方法。
将pom.xml文件中的jar改成war
配置springboot打包插件
在里面写一个controller,调用json和jsp
依赖中加入 tomcat对jsp的解析包,依赖的jar包,start包三个

在这里插入图片描述
在这里插入图片描述

二十七:springboot继承Thymelef

Thymeleaf它是基于HTML 是一个流行的模板引擎,以HTML为载体。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#request请求,在方法参数里面放置一个request,然后在request.setAttribute();放数据,就可以在页面中取。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二十八:springboot的服务监控

在这里插入图片描述

在这里插入图片描述

在xml文件中导入:

org.springframework.boot spring-boot-starter-actuator

在properties中配置文件中指定的监控的http端口
如果不指定,则使用和server相同的端口 比如:
服务运行端口: server.prot=8080
@actuator 监控的端口可配可不配
managent.server.port=8100
managent.server.servlet.context-path=/03-springboot-web
#默认只开启health和info,设置为*,则包括所有web入口端口
management.endpoints.web.exposure.include=*

二十九:springboot综合示例

最最最激动人心的时刻来了,篇幅太长,我把综合示例放到另一个里面。传送门:https://blog.csdn.net/qq_44850489/article/details/109313589

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14487.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手 先从FFT的定义入手&#xff1a; 一个N 点序列x(n) 的DFT 定义为: 下面用MATLAB程序来面熟一下上述这个式子&…

SAP 电商云 Spartacus UI 修改 Delivery Mode 触发的三个 HTTP 请求

LoaderState&#xff1a; loading 状态在 true 和 false 之间的切换&#xff0c;通过 loader .reducer.ts 里的 reducer 函数进行。每次通过 store.dispatch 往 store 里投递新的 action 时&#xff0c;都会触发该 reducer 的执行。 添加上打印日志&#xff1a; 设置 delive…

再送签名书20本、红包封面10000个

大家好&#xff0c;我是北妈 福利又来了&#xff0c;由于北妈红包封面抢手&#xff0c;又增加了 10000个&#xff0c;没领到的赶紧转发&#xff0c;让亲朋好友来领取。 然后下面送签名书喽。 1、送书 又到了送北妈签名书的时候&#xff0c;凑着要放假&#xff0c;赶紧上车关门&…

vue3.0 非常面熟的错误

1&#xff0c;标签错误 ​​​​ 错误文件所在的目录 \src\views\HomeView.vue:2:3 没有结束标签~ 2.编译问题 Compiled with problems: 编译问题 C:\myel\src\views\HomeView.vue 错误出现文件 3:1 error Mixed spaces and tabs no-mixed-spaces-and-tabs 4:1 error M…

Chat GPT5的主要介绍

Chat GPT-5是一种基于人工智能技术的对话系统&#xff0c;用于进行自然语言处理和对话&#xff0c;以提供更好的服务。 它是由OpenAI公司开发的&#xff0c;是GPT系列的最新版本。 GPT代表着"生成式预训练"&#xff0c;因此Chat GPT-5基于神经网络&#xff0c;通过预…

ChatGPT:探索RLHF与GPT的完美结合

前言 ChatGPT已经发布一周了热度依旧不减&#xff0c;ChatGPT也各种大显神通&#xff0c;为各大网友“出谋划策”&#xff0c;有写周报的&#xff0c;有写绩效的甚至还有写论文的&#xff0c;作为一个NLP从业者&#xff0c;除了好好体验下其中的乐趣&#xff0c;其背后的原理当…

一场场网络时代的“墨攻”

编辑&#xff1a;阿冒 设计&#xff1a;沐由 公输般为楚造云梯之械成&#xff0c;将以攻宋。子墨子闻之&#xff0c;起于鲁&#xff0c;行十日十夜&#xff0c;而至于郢&#xff0c;见公输般。 子墨子解带为城&#xff0c;以牒为械&#xff0c;公输般九设攻城之机变&#xff0c…

人工智能在网络犯罪中的应用:5个最重要的趋势

在当今的数字世界中&#xff0c;网络威胁不断演变。 人工智能的使用虽然在网络犯罪中还不是必须的&#xff0c;但无疑是我们将在未来几年看到的具有重大发展的最有前途的技术之一。 随着 AI 技术的进步&#xff0c;攻击者开始尝试新的、越来越复杂和有效的攻击模式和技术。 …

【CICC原创】大模型技术发展研判及应用思考

来源&#xff1a;中国指挥与控制学会 蒲志强&#xff0c;研究员&#xff0c;中国科学院自动化研究所 近年来&#xff0c;随着人工智能&#xff08;Artificial Intelligence, AI&#xff09;技术的深化发展&#xff0c;大模型&#xff08;Large Model,也称基础模型&#xff0c;即…

从ChatGPT看人工智能的军事应用

来源&#xff1a;中国军网 今年3月中旬&#xff0c;聊天机器人程序ChatGPT推出了最新版本GPT-4,可支持多元的输入输出形式&#xff0c;使其具备了更强的专业学习能力。作为一种基于人工智能&#xff08;以下简称AI&#xff09;技术的聊天程序&#xff0c;ChatGPT一经推出&#…

ChatGPT全面升级,GPT4支持多模态数据。

Open AI在3月14日放了大招&#xff0c;GPT4. 不同于ChatGPT&#xff0c;GPT4是支持多模态数据&#xff0c;目前上去看了下&#xff0c;支持图片和文本两种数据格式。 另外&#xff0c;宣传视频中说&#xff1a;GPT4去年8月就完成了训练&#xff0c;只是为了数据和使用安全方…

揭秘中国开发者真实现状:月薪 8k-17k 占比骤减!

作者 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 瞬息万变的技术圈&#xff0c;似乎随时都在给予技术人数不清的机遇与挑战&#xff1a; 过去一年&#xff0c;频繁出圈的虚拟人曾一度将元宇宙的热度推至巅峰&#xff0c;如今却逐渐“悄无声息”&…

中文互联网正在被AI污染

有没有发现&#xff0c;如今&#xff0c;AI越来越火&#xff0c;但AI生成的垃圾信息也越来越多了。 如果你打开知乎&#xff0c;很大几率会看到AI生成的回答&#xff0c;它们简短、概括性十足&#xff0c;看了等于没看。打开今日头条&#xff0c;你也有很大几率看到用ChatGPT生…

写好“提示”改变“智造未来”-GPT4提示词驶入代码优化驾驶座心得

开篇 在前端科技的新浪潮中,Artificial Intelligence (AI)的逐渐成熟与发展引领着我们向前。其中OpenAI的GPT4提供了我们一种新的可能,帮助我们优化代码,使编程变得更加轻松。在这篇文章中,我们将一同探究如何在1-2分钟内,依靠GPT的提示词优化我们的代码,并展现出我们在…

惊天大绝招-用话术诱导GPT掏出图片来!

开篇 今天我要开大家的眼界!来给大家揭示一个运用Prompts的小诡计。 这个技巧的亮点就在于,即使现在的ChatGPT(适应4版本哦)还没学会把画面呈现出来,我们依然可以借助这个小技巧,让它以图画的形式呼应我们的问题。 对于我们聪明的听众们,我要揭晓的第一件事是这个技巧…

比ChatGPT还好用?收藏10+免费实用的AI工具,轻松提高办公效率

ChatGPT的爆火引发了AI工具的热潮&#xff0c;阿强通过这一段时间对AI工具观察和体验过后&#xff0c;帮大家整理了10好用AI工具&#xff0c;可以应用在不同的工作场景中&#xff0c;比如AI设计、AI办公、AI自媒体&#xff0c;帮你轻松提高工作效率&#xff0c;上班摸鱼也能升值…

ChatGPT 提示语——AI提示词玩家,提示词就是和AI沟通语言的桥梁!

前言&#xff1a; 众所周知&#xff0c;在AI的世界里&#xff0c;提示词就是和AI沟通语言的桥梁&#xff0c;提示关键词常用于AI对话及AI绘画等相关场景&#xff0c;通过准确的使用关键词&#xff0c;你就能更好的让AI辅助自己的工作&#xff0c;其中的成分重要性不言而喻&…

ChatGpt基于第三方API2D服务封装的SpringBoot starter

前置条件&#xff1a; 看下API2D官网&#xff0c;第三方API2D服务对接流程&#xff1a; 其对接文档地址 https://api2d.com/wiki/doc 一:创建一个空的Maven项目 完成后整的项目层级图如下 1.pom.xml 中添加相关依赖包 <?xml version"1.0" encoding"UTF-…

ChatGPT开发【一】:打造与ChatGPT默契互动的绝佳输入格式

点击加入->【OpenAI-API开发】技术交流群 文章目录 1. 导入openai库2.示例聊天API调用3.GPT-3.5-Turbo-0301的使用技巧系统消息Few-show prompt 4.计数Token数 Chatgpt由Openai最先进的型号 gpt-3.5-Turbo和 gpt-4提供支持。我们可以使用OpenAI API使用 GPT-3.5-Turbo或…

不知不觉被安利了ChatGPT

近期ChatGPT热度持续不下&#xff0c;尤其是在IT行业更是聊的火热&#xff0c;于是去查了一下&#xff1a; ​ ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;美国OpenAI [1] 研发的聊天机器人程序 [12] &#xff0c;于…