
SpringBoot入门
文章平均质量分 77
SpringBoot入门
鸣鼓ming
这个作者很懒,什么都没留下…
展开
-
36-SpringBoot 整合SpringSession实现跨服务共享session
对于session无法跨服务, 跨域名使用的问题, 我们可以使用SpringSession将session保存在中间件中(比如redis), 从而实现了session的共享.浏览器cookie保存一个session的key, 如图就是叫jsessionid, 这个key就对应着redis中的session, 用来标识一个用户。原创 2022-10-07 16:17:37 · 775 阅读 · 0 评论 -
35-SpringBoot 短信验证码接口使用
我选择第一个进入,然后购买。我们要修改的参数就以下几个。使用postman测试。code:你的验证码。原创 2022-09-29 16:21:03 · 1781 阅读 · 0 评论 -
34-SpringBoot 整合Elasticsearch-Rest-Client
在pom.xml文件中添加以下依赖。原创 2022-08-05 16:55:38 · 585 阅读 · 0 评论 -
33-SpringBoot JSR303数据校验
校验注解我们也可以自定义,使用我们自己的校验规则自定义校验注解@ListValue//初始化方法@Overridepublicvoidinitialize(ListValueconstraintAnnotation){vals){}}//判断是否校验成功/****@paramvalue需要校验的值*@return}}Stringmessage()default"必须提交指定的值";测试类运行测试。...原创 2022-07-23 23:04:34 · 443 阅读 · 0 评论 -
32-SpringBoot 集成阿里云对象存储OSS
这种方式不需要我们的服务器中转文件,我们的服务器只分发签名,前端拿着签名直接就将文件上传至阿里云,效率更高.这种上传方式需要先将文件上传到我们的服务器,然后通过我们的服务器中转再上传到阿里云OSS。访问http//localhost9080/oss/getPolicy。开启对象存储服务后(按流量计费),进入对象存储控制台。现在使用postman模拟前端使用签名上传文件。运行测试(我的项目整合了swagger2)返回的url也就是图片的访问地址。创建AccessKey。......原创 2022-07-23 18:56:03 · 933 阅读 · 0 评论 -
31-SpringBoot 集成Swagger2
前后端分离开发模式中,api文档是最好的沟通方式。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。2.集成配置Swagger21.添加依赖2.创建swagger的配置类SwaggerConfig3.API模型可以添加一些自定义设置,例如:定义样例数据定义接口说明和参数说明定义在类上:@Api定义在方法上:@ApiOperation定义在参数上:@ApiParam如果报错请降低springboot版本到2.5就可以访问原创 2022-07-10 21:33:43 · 224 阅读 · 0 评论 -
30-SpringBoot Docker安装与使用
Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);docker客户端(Client):连接docker主机进行操作;docker仓库(Registry):用来保存各种打包好的软件镜像;docker镜像(Images):软件打包好的镜像;原创 2022-07-10 18:24:45 · 163 阅读 · 0 评论 -
29-SpringBoot 安全与SpringSecurity
Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型。他可以实现强大的web安全控制。对于安全控制,我们仅需引入spring-boot-starter-security模块,进行少量的配置,即可实现强大的安全管理。几个类:WebSecurityConfigurerAdapter:自定义Security策略AuthenticationManagerBuilder:自定义认证策略@EnableWebSecurity:开启WebSecurit原创 2022-07-09 16:57:40 · 1196 阅读 · 0 评论 -
28-SpringBoot 异步任务、定时任务、邮件任务
1.在主类或者配置类上使用@EnableAsync注解开启异步任务2.编写异步任务3.测试执行访问立即得到返回数据项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息。Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor 、TaskScheduler 接口。两个注解:@EnableScheduling、@Scheduled1.在配置类或者启动类上使用@EnableScheduling注解开启定时任务2.编写定时任务cron表达式可使用原创 2022-07-05 09:26:59 · 184 阅读 · 0 评论 -
27-SpringBoot 消息服务与RabbitMQ
4. 点对点式: 消息发送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后被移出队列 消息只有唯一的发送者和接受者,但并不是说只能有一个接收者5. 发布订阅式: 发送者(发布者)发送消息到主题,多个接收者(订阅者)监听(订阅)这个主题,那么就会在消息到达时同时收到消息6. JMS(Java Message Service)JAVA消息服务: 基于JVM消息代理的规范。ActiveMQ、HornetMQ是JMS实现7. AMQP(Advanced Message原创 2022-07-02 22:59:45 · 181 阅读 · 0 评论 -
26-SpringBoot 缓存与Redis
Java Caching定义了5个核心接口,分别是CachingProvider, CacheManager, Cache, Entry和 Expiry。• CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。• CacheManager定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中。一个CacheManager仅被一个CachingPro原创 2022-07-01 11:07:39 · 531 阅读 · 0 评论 -
25-SpringBoot 自定义starter
步骤如下1.创建空工程, 用来作为hello-spring-boot-starter和hello-spring-boot-starter-autoconfigure的父工程然后在该工程下创建hello-spring-boot-starter和hello-spring-boot-starter-autoconfigure这两个项目模块hello-spring-boot-starter为普通Maven工程, 它是场景启动器用Spring Initializr创建的Maven工程hello-spri原创 2022-06-27 20:28:36 · 409 阅读 · 0 评论 -
24-SpringBoot Profile环境切换
为了方便多环境适配,Spring Boot简化了profile功能。application.propertiesapplication-prod.propertiesapplication-test.properties把web项目打包为jar包, 在命令行中启动命令中还可以修改配置文件中的任意属性@Profile可写在类上或者方法上, 当为指定环境时该类或者方法才生效MyConfigBlueRedapplication.propertiesapplication-prod.pr原创 2022-06-27 13:03:47 · 286 阅读 · 0 评论 -
23-SpringBoot 指标监控Actuator
未来每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。官方文档 - Spring Boot Actuator: Production-ready Features1.x与2.x的不同:暴露所有监控信息为HTTP测试例子http://localhost:8080/actuatorhttp://localhost:8080/actuator/beans原创 2022-06-25 15:13:58 · 204 阅读 · 0 评论 -
22-SpringBoot JUnit5单元测试-前置条件、嵌套测试、参数化测试
JTest5我们对比一下断言JTest5官方文档 - Nested Tests执行最外层类的测试方法est02执行最内层内的测试方法test21执行整个测试类官方文档 - Parameterized Tests参数化测试是JUnit5很重要的一个新特性,它使得用不同的参数多次运行测试成为了可能,也为我们的单元测试带来许多便利。利用@ValueSource等注解,指定入参,我们将可以使用不同的参数进行多次单元测试,而不需要每新增一个参数就新增一个单元测试,省去了很多冗余代码。利用@Val原创 2022-06-24 17:06:18 · 919 阅读 · 0 评论 -
21-SpringBoot JUnit5单元测试-断言机制
断言Assertion是测试方法中的核心部分,用来对测试需要满足的条件进行验证。这些断言方法都是org.junit.jupiter.api.Assertions的静态方法。检查业务逻辑返回的数据是否合理。所有的测试运行结束以后,会有一个详细的测试报告。JUnit 5 内置的断言可以分成如下几个类别:用来对单个值进行简单的验证。如:JTest5断言判断为假, 程序抛出异常后立即终止运行, 余下的代码都不会被执行.通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等。ass原创 2022-06-23 19:47:22 · 1474 阅读 · 0 评论 -
20-SpringBoot 整合单元测试JUnit5
Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库, JUnit 5官方文档作为最新版本的JUnit框架,JUnit5与之前版本的JUnit框架有很大的不同。由三个不同子项目的几个不同模块组成。JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage注意:Spring的JUnit 5的基本单元测试模板(Spring的JUnit4的是@SpringBootTest+@RunWith(SpringRunner.clas原创 2022-06-23 18:06:18 · 786 阅读 · 0 评论 -
19-SpringBoot 整合Redis
SpringBoot默认使用lettuce客户端2.编写配置application.properties3.代码测试HelloController2.编写配置application.properties3.代码测试HelloController原创 2022-06-23 13:24:54 · 247 阅读 · 0 评论 -
18-SpringBoot 整合MyBatis-Plus
在使用mybatis或者mybatis-plus时,我们可以安装IDEA的MyBatis的插件 - MyBatisX,这样我们就可以实现点击接口跳转到sql文件, 点击sql文件可以跳转到接口的功能, 很方便.这个插件的功能还有很多, 可以查看MyBatis-Plus官网安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装, 然后重启IDEA。点击小鸟可实现跳转在pom.xml添加如下依原创 2022-06-22 21:27:37 · 519 阅读 · 1 评论 -
17-SpringBoot 整合MyBatis
在pom.xml添加如下依赖2.编写配置application.properties3.编写接口UserMappersql映射文件UserMapper.xml注意要开启mapper接口文件的扫描SpringbootTest2Application4.运行测试HelloControllerpom.xmlapplication.propertiesUserMapper.xmlSpringbootTest2ApplicationUserUserMapperHelloCont原创 2022-06-22 19:55:52 · 147 阅读 · 0 评论 -
16-SpringBoot 整合Druid数据源
Druid是数据库连接池,它能够提供强大的监控和扩展功能。官方文档Spring Boot整合第三方技术的两种方式:使用自定义方式整合Druid在pom.xml添加相关依赖2.编写配置application.properties配置Druid的监控页功能:DataSourceConfig3.测试HelloController多次点击刷新进行访问登录druid后台查看监控信息账号admin, 密码123456使用场景启动器整合druid, 效果和自定义方式一样, 但更加方便在pom.x原创 2022-06-22 17:55:13 · 483 阅读 · 0 评论 -
15-SpringBoot 自定义异常处理页面
当发生异常时, 跳转到我们自定义的异常处理页面.SpringBoot中只需在静态资源目录下创建一个error文件夹, 并把异常处理页面放入其中, 页面的命名与异常错误代码对应, 如404.html, 500.html.5xx.html可以对应所有错误代码为5开头的错误默认静态资源目录为类路径(resources)下的:/static/public/resources/META-INF/resourcesHelloController404.html5xx.html3.运行测试测试404测试原创 2022-06-22 12:16:33 · 417 阅读 · 0 评论 -
14-SpringBoot 文件上传与下载
pom.xmlapplication.properties2.java代码SpringbootTest2ApplicationHelloController3.前端代码下载页面down.html上传页面up.html4.运行测试1.测试下载下载成功上传成功原创 2022-06-21 21:01:52 · 125 阅读 · 0 评论 -
13-SpringBoot 登录拦截器
当没有输入正确的账号密码登录成功时, 除了登录页,其他页面都无法访问(静态资源要放行)pom.xmlapplication.properties2.java代码SpringbootTest2ApplicationLoginInterceptorWebConfigHelloController3.前端代码index.cssindex.htmlsuccess.html3.运行测试1.直接通过网址访问登录成功页面被重定向到登录页2.输入错误账号密码被重定向到登录页3.输入正确原创 2022-06-21 18:03:57 · 432 阅读 · 0 评论 -
12-SpringBoot 使用@MatrixVariable传参(前端传到后端)
WebConfig第二种,自定义WebMvcConfigurer类型组件并添加到容器中。WebConfig3.代码测试index.htmlHelloController测试1测试2原创 2022-06-20 23:17:05 · 223 阅读 · 0 评论 -
11-SpringBoot web场景的静态资源规则与定制化
默认只要静态资源放在类路径(resources)下:/static/public/resources/META-INF/resources浏览器访问: 当前项目根路径/ + 静态资源名请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面。我们在controller里写个测试方法来测试一下把controller里的方法注释后也可以改变默认的静态资源路径,/static,/public,/resources, /ME原创 2022-06-19 14:32:55 · 179 阅读 · 0 评论 -
10-SpringBoot 配置文件yaml的用法
1.字面量:单个的、不可再分的值。date、boolean、string、number、null2.对象:键值对的集合。map、hash、set、object3.数组:一组按次序排列的值。array、list、queue3.代码测试UserEntity1application.ymlHelloController测试结果可以看到.........原创 2022-06-10 15:29:17 · 213 阅读 · 0 评论 -
09-SpringBoot 使用Spring Initailizr快速创建项目
1.在IDEA中,菜单栏New -> Project2.选择Spring Initailizr, 然后Next3.填写命名4.勾选需要的依赖你要什么功能就勾选, 没有固定的, 这就是一个导入依赖的功能, 只不过不用手动编写pom.xml文件了5.Finish6.创建完成看看pom.xml文件7.一些用不上的文件可以删除删除后可以正常运行...原创 2022-06-09 15:38:40 · 226 阅读 · 0 评论 -
08-SpringBoot devtools热启动
当开发者将spring-boot-devtools引入项目后,只要classpath路径下的静态资源文件发生了变化,项目就会自动重启,这极大地提高了项目的开发速度。如果开发者使用了Eclipse,那么在修改完代码并保存之后,项目将自动编译并触发重启,而开发如果使用了IntelliJ IDEA,默认情况下,需要开发者手动编译(Build Project)才会触发重启。pom.xml中导入依赖3.使用测试未改变classpath路径下的文件时application.properties改变applicat原创 2022-06-09 14:58:46 · 226 阅读 · 0 评论 -
07-SpringBoot Lombok安装使用
Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等, 同时可以自动化日志变量。在pom.xml中添加lombok的依赖2.安装插件IDEA中 File->Settings->Plugins,搜索安装Lombok插件。安装完成,重启IDEA如果编译时出错,可能是没有enable注解处理器。Annotation Processors > Enable annotation processing。设置完成之后程序正常运行(记得设置完成重启一下IDE原创 2022-06-09 11:37:54 · 322 阅读 · 0 评论 -
03-SpringBoot 自动配置
SpringBoot通过场景启动器, 帮我们自动配置许多组件自动配好Tomcat自动配好SpringMVC自动配好Web常见功能,如:字符编码问题我们在主类里打印我们的组件看看MainApplication如下图, HelloController在启动类MainApplication的子包下, 所以能被自动扫描而TestController不在启动类MainApplication所在包及其下面的所有子包里面, 所以不能被自动扫描,这时就需要手动填写配置改变扫描路径SpringBoot所有的自动配原创 2022-06-08 21:19:59 · 425 阅读 · 0 评论 -
06-SpringBoot @Conditional条件装配
@Conditional注解可以用在任何类型或者方法上面,通过@Conditional注解可以配置一些条件判断,当所有条件都满足的时候,被@Conditional标注的目标才会被spring容器处理。比如可以通过@Conditional来控制bean是否需要注册,控制被@Configuration标注的配置类是需要需要被解析等。Conditional相关的其它注解:@ConditionalOnBean, 在某个 bean 存在的时候被标注的组件才被注册到IOC容器中下面是其详细代码我们就拿它来测试一原创 2022-06-08 16:31:33 · 376 阅读 · 0 评论 -
05-SpringBoot @ConfigurationProperties、@PropertySource、@Import
如何使用Java读取到properties文件中的内容,并且把它封装到JavaBean中,以供随时使用user1.properties1.传统方法这种传统方法真的很麻烦User如果属性值不在application.properties中, 则需使用@PropertySources导入properties文件MyConfigMainApplicationUserMyConfigMainApplicationUserMyConfigMainApplicationapplicatio原创 2022-06-07 22:11:51 · 353 阅读 · 0 评论 -
04-SpringBoot @Configuration和@ImportResource注解
@Configuration是用于配置类上的一个注解, 配置类被标注后会注入IOC容器中成为一个组件@Configuration代码如下2.与SSM配置文件对比之前我们SSM注册一个bean, 需要编写配置文件bean1.xml使用@Configuration编写配置类, 效果和上面一致MyConfig有的时候就是想用外部文件bean1.xml注入bean怎么办?我们可以在配置类上使用@ImportResource注解MyConfig测试一下MainApplicationproxyBe原创 2022-06-07 20:24:16 · 375 阅读 · 0 评论 -
02-SpringBoot 依赖管理特性
pom文件中含有父依赖这样我们子依赖中就不用写版本号了这是因为父依赖中帮我们填写版本号((当然有些依赖没有帮我们填写版本号, 这个时候就需要我们填写版本号了), 我们打开父依赖文件看看进入了父依赖文件继续寻找它的父依赖可以看到有很多帮我们填写号的依赖版本号总结: 父依赖它几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制虽然父依赖帮我们设置了常用依赖的版本号, 但是其版本号也是可以修改的比如mysql驱动的版本号给我们默认设置为8.0.21主要有两种修改方式修改方式1:修改原创 2022-06-07 16:26:28 · 216 阅读 · 0 评论 -
01-SpringBoot 搭建HelloWord项目
SpringBoot官网: https://spring.io/projects/spring-bootSpringBoot官方文档: https://docs.spring.io/spring-boot/docs/打开你的Maven安装目录下的setting.xml文件可以打开IDEA的Settings查看安装目录在setting.xml文件添加以下内容3.创建工程1.什么都不要勾选, 直接Next2.给项目取个名字3.Finish4.创建成功修改pom.xml文件, 内容如下原创 2022-06-07 12:18:11 · 178 阅读 · 0 评论