工具栏Analyze的Inspect Code里面有你要的
Ctrl+P:根据方法名提示参数,会列出所有重载的方法参数
Shift+Ctrl + i:在弹出的小窗口显示方法的源码
Alt + F7:列出变量在哪些位置被使用
IDEA除了可以对整个进程Debug外,还可以对每个线程进行Debug,这里需要将断点模式进行修改。
**设置Thread模式:Thread模式代表所有的线程运行到此处都会停止,而如果设置成All模式的话,则是当有一个线程运行到此处就所有线程都停止,其他的线程停在哪儿就不一定了。
操作方法:设置右键断点(红点),在弹框中勾选Suspend,并选择 Thread。
在 Debugger 窗口中,在Frames下方下拉框中选择某线程后,就可以使用上方的调试按钮就是操作该线程了。
checkout 远程分支
生成hibernate实体类:
添加关联关系:
点击 Database Schema Mapping 下的加号+,添加关联关系
生成的实体类如下:
Book
BookCatalog
参考: IntelliJ IDEA 的 Project Structure 窗口中的 Artifacts 勾选 Include in project build IDEA中Facets和Artifacts配置说明 idea中artifacts、facets、modules IntelliJ IDEA 部署 Web 项目,终于搞懂了 IntelliJ IDEA在应用服务器上更新应用
传统SpringMvc项目目录和对应tomcat配置如下: ![[Pasted image 20240414101521.png]] ![[Pasted image 20240414095547.png]]
在日常开发过程中,我们修改完java代码后,接着就点击 Build 编译,然后就可以去验证代码了(前提是 On 'Update' Action 选择了 Update classes and resources)
但是修改JSP的时候遇到一个问题:每次修改完JSP文件后,都必须重启tomcat才能使应用的页面生效。仅仅点击Build(Build Project)是不能使JSP页面生效的。 原因是 Build 不是 'Update' Action,无法触发 Update classes and resoures 。
方法1:可以Ctrl + F10 或者点击 Update Tomcat Application 实现触发,这时会有弹框提示。 ![[Pasted image 20240414120748.png]]
方法2:如果要使JSP页面或者说是 webapp 目录下的修改生效,就需要点击 Build 下的 Build Artifact。其实这步操作就是 Tomcat配置 Before launch 中的 Build 'favor-bill:war exploded' artifact,即重新构建war包,将classes和resources、webapp目录复制到 target 目录中。
方法3:另外还有一种方法将 Build Artifact 和 Build 合二为一。即在 Project Setting 的 Artifacts 勾选 Include in project build,意为在 Build 的时候构建artifact。
![[Pasted image 20240414111717.png]]
注:IDEA中web应用的配置都在 Project Structure。
还有一个问题,百思不得其解。当启动tomcat后,在 target 和 target/favor-bill-1.0-SNAPSHOT/WEB-INF 下各有1个classes文件夹。而当点击Build后,只会将修改的java文件重新编译到 target/classes 文件夹下,WEB-INF/classes里的class文件没变。这个时候修改的代码在web应用里竟然生效了。 那么IDEA中启动tomcat应用时,生效的是 target/classes 还是 target/favor-bill-1.0-SNAPSHOT/WEB-INF/classes呢???
Java文件图标变成下面这样,而且包也没有分层。 解决方法:
打开 “Project” 中的 “Project Structure”
点击删除后,重新 “Add Content Root” 。
通常我们这样使用TODO
if (id != null) {
// TODO 这是一条更新待办
//更新
} else {
// TODO 这是一条新增待办
//新增
}