SpringBoot开发实用篇(一)

一:热部署

1:手工启动热部署

关于热部署

  • 重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
  • 重载(Reload):jar包,加载位置base类加载器

启动热部署

  • 开启开发者工具启动热部署(注意要添加坐标)

  • 使用构建项目操作启动热部署(Ctrl+F9)
  • 热部署仅仅加载当前开发者自定义开发的资源,不加载jar资源

2:自动启动热部署

  • 设置自动构建项目

  • 然后Ctrl+Shift+Alt+/

  • 激活方式:idea失去焦点五秒后启动热部署

3:热部署范围配置

  • 默认不触发重启的目录

  • 自定义不参与排除项

4:关闭热部署

  • 设置高优先级的属性禁用热部署

二:配置高级

1:ConfigurationProperties

  • 使用@ConfigurationProperties为第三方Bean添加属性

  • @EnableConfigurationProperties注解可以为@ConfigurationProperties注解对应的类加入到Spring容器中,也就是自动将指定的类标为Bean

注意:@EnableConfigurationProperties与@Component不能同时使用    

2:松散绑定

  • @ConfigurationProperties绑定属性支持属性名宽松绑定 (大小写,下划线,横线什么的,虽然不是一模一样的对应,但是可以匹配) 
  • @Value注解不支持松散绑定

 注意:绑定前缀名命名规范:仅能使用纯小写字母、数字、下划线作为合法的字符

3:常用计量单位

  • SpringBoot支持JDK8提供的时间和空间计量单位

可选的值如下:

4:Bean属性校验

(1)添加JSR303规范坐标与Hibernate校验框架对应的坐标

(2)对Bean开启校验功能             

 (3)设置校验规则

5:进制数据转换规则

  • yaml文件中对于数字的定义支持进制书写格式,如需使用字符串请使用引号明确标注   

 yaml语法规则

字面值表达方式

三:测试

1:加载测试专用属性

  • 在启动测试环境时可以通过properties参数设置测试环境专用的属性     

    优势:比多环境开发中的测试环境影响范围更小,仅对当前测试类有效

  • 在启动测试环境时可以通过args参数设置测试环境专用的传入参数

2:加载测试专用配置

  • 使用@Import注解加载当前测试类专用的配置

  • 加载测试范围配置应用于小范围测试环境

3:测试类中启动web环境

  • 模拟端口
  • 虚拟请求测试
  • 虚拟请求状态匹配
  • 虚拟请求体匹配
  • 虚拟请求体(jsom)匹配
  • 虚拟请求头的匹配

4:业务层测试事务回滚

数据层测试事务回滚

  • 为测试用例添加事务,SpringBoot会对测试用例对应的事务提交操作进行回滚
  • 如果想在测试用例中提交事务,可以通过@Rollback注解设置      

5:测试用例设置随机数据        

测试用例数据设定

  • 测试用例数据通常采用随机值进行测试,使用SpringBoot提供的随机数为其赋值
队列 消息队列是种基于生产者-消费者模型的消息传送机制,支持异步通信、解耦系统组件、削峰填谷、可靠投递等功能。消息队列被应用于异步处理、信息通信和解耦等方面,而在微服务和分布式系统中,更是不可缺少的部分,用于解决服务间的通信和数据交换问题。 Spring Boot提供了丰富的消息队列支持,包括JMS、RabbitMQ和Kafka等,而且还支持将消息队列与其他技术结合使用,例如Spring Cache、Spring Batch和Spring Integration等,从而实现更灵活的系统集成。 JMS Java消息服务(Java Message Service,简称JMS)是种基于Java语言开发的API,用于在两个或多个分布式系统之间进行异步通信,主要用于解耦消息生成者和消息接收者。JMS提供了许多有用的特性,例如持久性、异步传输、事务支持等,因此被广泛应用于金融、电信、物流等领域。在Spring Boot中,我们可以使用ActiveMQ、HornetQ和IBM MQ等实现JMS消息队列。 RabbitMQ RabbitMQ是种基于AMQP(Advanced Message Queuing Protocol)协议的消息队列,支持多种客户端语言(包括Java、Python、Ruby、PHP等)和多种通信模式(包括点对点、发布-订阅和RPC等)。RabbitMQ可以应用于各种场景,例如日志收集、任务调度、实时数据处理等。在Spring Boot中,我们可以使用Spring AMQP提供的RabbitMQ支持。 Kafka Kafka是种分布式的、高吞吐量的消息队列系统,可以处理大量的数据,并支持数据持久化、容错性和扩展性等。Kafka采用了发布-订阅模式,使用主题(topic)来管理消息。Kafka是种非常适合大规模数据处理的消息队列,尤其适合实时流数据处理、日志收集和数据集成等场景。在Spring Boot中,我们可以使用Spring Kafka提供的Kafka支持。 总结 Spring Boot提供了丰富的消息队列支持,包括JMS、RabbitMQ和Kafka等,应用起来都非常方便。不同的消息队列有不同的特点,应根据业务需求和系统场景来选择合适的消息队列。另外,在集成消息队列时要注意异步处理、事务支持和数据致性等问题,以确保系统的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值