spring boot 断点调试

本文详细介绍了一种针对SpringBoot项目的远程调试方法。通过修改pom.xml文件中的配置,使用Maven进行构建,并借助Eclipse的远程调试工具,实现对项目进行有效的调试。此过程分为四个步骤:配置pom.xml、构建项目、设置调试工具和打设断点。

最近导入一个Spring Boot的项目,很多业务逻辑不大懂,没办法理解,只能Debug调试看从哪里下手。

由于直接运行在spring boot application下面,直接Debug运行并不能进入断点,可见我这个调试方式有问题,经过各方面的查询,得到了解决方案。流程如下:

一、配置pom.xml

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
	                <jvmArguments>
	                	-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
	                </jvmArguments>
            	</configuration>
			</plugin>
		</plugins>
	</build>

-Xdebug是通知JVM工作在DEBUG模式下 
-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。该参数同时了一系列的调试选项 
transport指定了调试数据的传送方式,dt_socket是指用SOCKET模式 
server参数是指是否支持在server模式的VM中 
suspend指明,是否在调试客户端建立起来后,再执行VM,如果为y,那么当前的VM就是suspend直到有debug client连接进来才开始执行程序。如果你的程序不是服务器监听模式并且很快就执行完毕的,那么可以选择在y来阻塞它的启动。 
address=5005 调试服务器的端口号,客户端用来连接服务器的端口号。

二、用maven进行build:

maven的启动命令:clean install -Ptest -X spring-boot:run(-Ptest表示测试环境下启动,实际应用的时候去掉,否则会报缺少test项目的错误;-X表示强制执行),不依赖于任何公共配置的spring boot项目可独立执行(即启动按钮)。

build successful!

三、配置eclipse的debug工具调试

右击项目–>选择debug as–>Debug Configuration–>Remote Java Application  

如下图所示  配置host以及port,因项目在本地启动,故使用localhost,port用之前配置的address的值,即5005端口。接着点击debug连接调试

四、打断点,调试

### 如何通过企业微信API实现扫码添加微信功能 要通过企业微信API实现扫码添加微信的功能,主要涉及以下几个方面: #### 1. **创建外部联系人二维码** 创建一个带有参数的二维码,用户扫描该二维码后可直接关注企业的微信账号并成为其外部联系人。此过程依赖于企业微信提供的 `external_contact` 接口。 使用的企业微信API文档中的方法为: - 获取带参二维码接口:`/cgi-bin/business/getcallbackurl?access_token=ACCESS_TOKEN` 需要注意的是,在调用上述接口前,需先获取访问令牌(Access Token)。以下是获取 Access Token 的代码示例[^3]: ```php function getAccessToken($corpId, $corpSecret) { $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpId&corpsecret=$corpSecret"; $response = file_get_contents($url); $data = json_decode($response, true); return isset($data['access_token']) ? $data['access_token'] : null; } ``` 调用成功后返回的结果中会包含有效的 access token 值。 #### 2. **生成二维码图片** 利用第一步获得的 access token 来请求具体的二维码数据。下面是一个 PHP 示例函数用于生成二维码链接: ```php function createExternalContactQrCode($accessToken, $sceneStr){ $url = "https://qyapi.weixin.qq.com/cgi-bin/crm/addcontactway?access_token=" . $accessToken; $postData = array( 'type' => 1, 'scene' => 1, 'style' => '', 'remark' => '', 'skip_verify' => false, 'state' => $sceneStr ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($postData)); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $result=curl_exec ($ch); curl_close ($ch); return json_decode($result, true); } ``` 这里 `$sceneStr` 是自定义场景值,可用于区分不同的渠道来源或者活动标识等用途。 #### 3. **处理回调事件** 当客户完成扫码操作之后,企业微信服务器将会向预先设置好的URL发送通知消息。开发者需要解析这些推送过来的消息内容,并按照业务需求做出响应动作。具体流程可以参考官方说明文档关于接收事件的部分。 --- ### 注意事项 - 确保已经开通了企业微信的相关权限和服务。 - 如果希望进一步定制化显示效果,则可以通过修改 CSS 文件的方式调整样式布局。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值