如今,Intellij无疑是最适合Java开发,或者说SpringBoot开发的IDE。大多数项目,除了SpringBoot以外,还会结合SpringCloud进行微服务或者说多服务开发,本文着重介绍Intellij作为开发工具,在微服务开发当中的一些使用技巧。
微服务开发,涉及到多服务协同开发,在Intellij中每个服务可以以module的形式存在,所有module挂靠在一个project下,如此一来,一个项目目录可以方便进行服务切换:
一个项目多个模块
这种方式如何实现呢?
其实很简单,在项目开始时创建一个空的Project
创建空Project
在Project创建完成之后,开始添加Module,每个服务其实就是Intellj中的一个Module:
新建Module
新建的时候,可以通过Spring Initializr创建,方便在创建之初就引入服务需要的组件,如:web-starter,服务发现,熔断,mysql,redis等。
服务在开发阶段,可以多个同时启动或者debug多个服务,该过程是通过Run Dashboard完成的,打开方法是:
点击IDEA上面工具栏View---Tool Windows---Run Dashboard 即可打开界面,
如果Tool Windows的子选项里没有Run Dashboard,可以在工程目录下找.idea文件夹下的workspace.xml,在其中增加如下组件
<component name="RunDashboard">
<option name="configurationTypes">
<set>
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
这样,你可以通过仪表盘来统一管理所有服务
Run Dashboard
把服务作为Module挂靠Project,在我们使用Intellij自带的Version Control时要注意,如果通过Version Control pull rebase的时候,它会将所有Module的代码pull下来,push也同理,所以如果你不希望这样,可能需要通过Terminal,进入各个需要版本管理的服务目录中进行pull&push操作。