SpringBoot入门--profile学习笔记

profile简介

我们在开发SpringBoot应用始,通常一套程序会被安装到不同的环境中 ,比如:开发、测试、生产等,其中数据库地址、服务器端口等等配置都不同。

如果每次打包时都要修改配置文件,那么就会非常麻烦。

profile是用来完成不同环境下,配置动态切换的。

profile配置方式 

  • 多profile文件方式--提供多个配置文件,每个代表一种环境

通常默认使用以下配置文件代表不同环境

  • application-dev.properties/yml    开发环境
  • application-test.properties/yml    测试环境
  • application-pro.properties/yml    生产环境

文件目录示例

文件application.properties中使用如下代码启用文件application-dev.properties

spring.profiles.active=dev

启用成功后控制台提示

  • yml文档方式--在yml中使用“---”分隔不同配置

创建文件application.yml,代码如下,其中“---”将代码划分为一段一段的文档

spring:
  profiles:
    active: pro
---
server:
  post: 8081

spring:
  profiles: dev
---
server:
  post: 8082

spring:
  profiles: test
---
server:
  post: 8083

spring:
  profiles: pro
---

此时启用pro,端口号为对应8083

profile激活方式 

  • 配置文件

配置文件方式即上述配置方式,在配置文件中配置。

  • 修改参数

我们打开IDEA开发工具如图设置页面

虚拟机参数配置为

-Dspring.profiles.active=xxx

写入如下位置,点击OK后重新启动程序,配置生效

命令行参数配置为

--spring.profiles.active=xxx

写入如下位置,点击OK后重新启动程序,配置生效

当我们的程序被打包成jar包形式,我们可以在Powershell窗口通过如下命令运行

java -jar .\xxxxxx.jar --spring.profiles.active=xxx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对接国标摄像头需要使用 SIP 协议进行通信,以下是整合 springboot 和 SIP 协议的代码示例: 1. 添加依赖 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-sip</artifactId> <version>2.4.5</version> </dependency> ``` 2. 配置 SIP 在 application.properties 文件中添加以下配置: ```properties # SIP server configuration spring.sip.server.address=192.168.0.1 spring.sip.server.port=5060 spring.sip.server.transport=udp # SIP client configuration spring.sip.client.address=192.168.0.2 spring.sip.client.port=5060 spring.sip.client.transport=udp spring.sip.client.username=username spring.sip.client.password=password ``` 3. 编写代码 创建一个 SIP 消息监听器,用于处理 SIP 消息: ```java @Component public class SipListener implements MessageListener { @Autowired private SipSessionRegistry sipSessionRegistry; @Override public void onMessage(SipMessage sipMessage) { // 处理 SIP 消息 } } ``` 创建一个 SIP 客户端,用于向 SIP 服务器发送请求: ```java @Service public class SipClient { @Autowired private SipSessionRegistry sipSessionRegistry; @Autowired private SipMessageFactory sipMessageFactory; @Autowired private SipClientTransactionFactory sipClientTransactionFactory; @Autowired private SipServerLocator sipServerLocator; public void sendInvite(String address) throws Exception { Request request = sipMessageFactory.createRequest( "INVITE", "sip:" + address + ":5060", "SIP/2.0"); // 添加必要的头部信息 request.addHeader("From", "<sip:username@192.168.0.2>;tag=123456"); request.addHeader("To", "<sip:" + address + ":5060>"); request.addHeader("Call-ID", UUID.randomUUID().toString()); request.addHeader("CSeq", "1 INVITE"); request.addHeader("Contact", "<sip:username@192.168.0.2>"); request.addHeader("Content-Type", "application/sdp"); // 设置 SDP String sdp = "v=0\r\n" + "o=- 0 0 IN IP4 192.168.0.2\r\n" + "s=Java SIP Client\r\n" + "c=IN IP4 192.168.0.2\r\n" + "t=0 0\r\n" + "m=video 5004 RTP/AVP 96\r\n" + "a=rtpmap:96 H264/90000\r\n" + "a=fmtp:96 packetization-mode=1; profile-level-id=42001E; sprop-parameter-sets=Z00AH5pmDoAtyA==,aOvssiw=\r\n" + "a=sendonly"; request.setContent(sdp, "application/sdp"); // 发送 INVITE 请求 SipClientTransaction transaction = sipClientTransactionFactory.createClientTransaction(request); transaction.sendRequest(); // 将会话保存到会话注册表中 SipSession session = new SipSession(); session.setTransaction(transaction); session.setRemoteAddress(address); session.setRemotePort(5060); sipSessionRegistry.addSession(session); } } ``` 4. 调用 SIP 客户端 在需要发送 INVITE 请求的地方调用 SIP 客户端的 sendInvite 方法即可: ```java @Autowired private SipClient sipClient; public void sendInviteRequest(String address) throws Exception { sipClient.sendInvite(address); } ``` 5. 配置国标摄像头 配置国标摄像头需要使用国标协议,以下是配置国标摄像头的代码示例: ```java public void configureCamera(String address) throws Exception { // 创建 SIP 客户端 SipClient sipClient = new SipClient(); // 发送 INVITE 请求 sipClient.sendInvite(address); // 等待响应 Thread.sleep(5000); // 获取 SDP SipSession session = sipSessionRegistry.getSession(address); String sdp = session.getResponse().getContent().toString(); // 解析 SDP 获取视频流地址 String videoUrl = parseVideoUrlFromSdp(sdp); // 配置国标摄像头 configureGbCamera(videoUrl); } ``` 以上就是整合 springboot 和 SIP 协议进行国标摄像头对接的流程和代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值