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提供的随机数为其赋值

四:数据层解决方案

目录

一:热部署

1:手工启动热部署

2:自动启动热部署

3:热部署范围配置

4:关闭热部署

二:配置高级

1:ConfigurationProperties

2:松散绑定

3:常用计量单位

4:Bean属性校验

5:进制数据转换规则

三:测试

1:加载测试专用属性

2:加载测试专用配置

3:测试类中启动web环境

4:业务层测试事务回滚

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

四:数据层解决方案

1:数据源

2:持久化技术

3:内嵌数据库


1:数据源

  • SpringBoot提供了三种内嵌的数据源对象供开发者选择
  1. HikariCP:默认内置数据源对象
  2. Tomcat提供DataSource:HikariCP不可用的情况下,且在web环境中,将使用Tomcat服务器配置的数据源对象
  3. Commons DBCP: HikariCP不可用,tomcat数据源也不可用,将使用dbcp数据源
  • 通用配置无法设置具体的数据源配置信息,仅提供基本的连接相关配置,如需配置,在下一级配置中具体设定

2:持久化技术

数据层解决方案

  • 内置持久化解决方案——JDBCTemplate
  • 注意:使用此技术要导入相应的配置依赖

  • JDBCTemplate配置,它也可以做相应的设置

3:内嵌数据库

  • SpringBoot提供三种内嵌数据库供开发者选择,提高开发测试效率(下面的以H2数据库为例)
  1. H2
  2. HSQL
  3. Derby
  • 设置当前项目为web工程,并配置H2管理控制台参数
  • 访问用户名sa,默认密码123456
  • 操作数据库(创建表)
  • 设置访问数据源
  • 注意:H2数据库控制台仅用于开发阶段,线上项目请务必关闭控制台功能
  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
队列 消息队列是一种基于生产者-消费者模型的消息传送机制,支持异步通信、解耦系统组件、削峰填谷、可靠投递等功能。消息队列被应用于异步处理、信息通信和解耦等方面,而在微服务和分布式系统中,更是不可缺少的一部分,用于解决服务间的通信和数据交换问题。 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、付费专栏及课程。

余额充值