当前位置: 首页 > 科技观察

IntelliJIDEA必装插件和SpringBoot使用技巧合集

时间:2023-03-17 18:23:53 科技观察

IntelliJIDEA必装插件,你知道怎么安装吗?File-->settings打开设置面板,找到plugins,输入你要安装的插件回车。pluginspanel1.背景图片IDEA目前支持设置背景图片。这对于广大程序员来说无疑是一个很好的特性。整天对着枯燥的代码,真的很累。要是能定个美女图。..设置方法:Ctrl+Shift+A(或help->findaction)调出弹窗后进入SetBackgroundImage。在里面设置要设置为Image的图片,把透明度调到15左右,保存。效果如图:2、在MavenHelper的日常开发过程中,可能经常会遇到jar包冲突等问题,需要通过查看maven依赖树来查看依赖情况。这种方法不是很有效。这里推荐一个插件。安装完成后,直接打开pom文件,可以查看依赖数量,自动分析是否有jar包冲突。MavenHelper插件安装完成后,只要打开pom文件,就可以打开pom文件的DependencyAnalyzer视图(文件打开后,文件下方会有这样一个tab)。进入DependencyAnalyzer视图后,有三个查看选项:Conflicts(冲突)AllDependenciesasList(以列表形式查看所有依赖)AllDependenciesasTree(以树结构查看所有依赖),并且该页面还支持搜索。3、FindBugs——IDEAFindBugs对于很多人来说并不陌生。Eclipse中有一个插件可以帮助查找代码中隐藏的bug,IDEA中也有这个插件。使用方法很简单,就是可以对各种级别的内容进行finbugs。findBugs分析后,会有view提示,详细说明是什么问题。4、阿里巴巴代码协议检测检测JAVA代码中不规则的位置,然后给出提示。阿里巴巴协议插件包含三个子菜单:编码协议扫描、关闭测试检测功能。阿里巴巴代码插件安装此插件后,可以在不规则位置自动提示。Tip5.GsonFormatJava开发中,经常需要将json格式的内容转成Object。比如在项目开始的时候,合作伙伴给你提供了一个json格式的request/response。这时候就需要将其定义为一个Java类,GsonFormat插件就可以实现这个功能。6.Lombok插件在Java中,我们经常会定义很多JavaBean,这些bean需要有getter、setter、toString、equals和hashCode等方法。通常情况下,我们可以使用IDEA的快捷键来生成这些代码,但是自动生成的代码之后,如果修改了bean中的属性,就需要重新生成,给代码维护增加了一定的负担。有一个很棒的插件可以为开发人员节省这部分工作。那就是龙目岛。只要在IDEA中安装插件,只需要在JavaBean中添加一行注解代码,插件就会自动为我们生成getter、setter、toString、equals、hashCode等方法。当然,这些方法不仅需要在IDE中的代码调用中使用,在实际的线上部署中也需要使用。所以,也需要使用maven导入一个lombok包。@DataclassWechat{privateStringid;privateStringdesc;}我们在Wechat类中添加了@Data注解,插件自动为我们添加了getter/setter和toString方法。7.StringManipulation在日常的字符串开发中经常用到,但是不同的字符串类型在不同的地方可能会有一些不同的规则,比如类名要驼峰,常量要全部大写等等,有时候你需要进行编码和解码等。这里有一个强大的字符串转换工具——StringManipulation。看看它的功能列表就知道它有多强大了:安装插件后,选择要处理的内容,按下快捷键Alt+m,就会弹出工具功能列表。一个很好很强大的字符串处理工具。8.Mybatisplugin在目前的ORM框架中,Mybatis是非常流行的。但是同时困扰很多开发的是,Mybatis需要的xml配置文件非常多,而且有时候修改起来比较困难。这里推荐一个神器,可以让你像编辑java代码一样编辑mybatis文件。IntellijIdeaMybatis插件主要功能:提供配置文件中SQL对应的Mapper接口和导航。编辑XML文件时自动补全根据Mapper接口,使用快捷键生成xml文件和SQL标签中的属性ResultMap支持自动补全和级联(PropertyA.PropertyB.PropertyC)快捷键生成@Param注解编辑SQL时在XML中,括号自动补全在XML中编辑SQL时,支持参数自动补全(根据@Param注解识别参数)自动检查MapperXML文件自动检查MapperXML文件中错误的属性值ID冲突支持FindUsageSupportforrefactoringAutomaticallygenerateResultMappropertiesfromnaming支持别名(来源:https://www.oschina.net/p/intellij-mybatis-plugin)但是这个插件是收费的,但是不影响。确实是一个非常实用的插件,可以大大提高开发效率。读者可以考虑使用FreeMybatisplugin(我没用过这个插件,是否好用还有待考证)。9.KeypromoterX对于很多刚开始使用IDEA的开发者来说,最苦恼的就是不知道快捷键操作是什么。使用IDEA,如果你所有的操作都使用鼠标,那你就不是一个合格的程序员。这里推荐一款可以提示快捷键的插件KeypromoterX。KeyPromoterX是一个提示插件。当你在IDEA中使用鼠标时,如果鼠标操作可以用快捷键代替,那么KeyPromoterX会弹出一个提示框,告诉你这个鼠标操作可以用什么快捷键代替。当我用鼠标查看某个方法被哪些类使用时,会提示:记住这个快捷键后,就可以用快捷键代替鼠标了。10.activate-power-mode介绍了一个非常好的插件,方便程序员在girls-activate-power-mode前面安装X。安装这个插件后,当你写代码的时候,它会添加一些疯狂炫酷的效果。11、ignoregit在提交时过滤掉不需要提交的文件,非常方便。一些本地文件不需要提交到Git上。12.CamelCase会快速将非驼峰格式的名称转换为驼峰格式。安装完成后,选择要修改的名称,按快捷键shift+alt+u。13.CodeGlance在编辑区右侧显示代码图。14.MaterialThemeUI这是一个主题插件,可以让你的ide图标漂亮,颜色搭配到位,还可以切换不同的颜色,甚至可以自定义颜色。默认配色方案非常漂亮。如果需要修改配色方案,可以到工具栏中的Tools->MaterialTheme修改配色方案。15.BackgroundimagePlus这是一个可以设置idea背景图片的插件。不仅可以设置纯色图片,还可以设置背景图片一段时间后随机变化,设置图片的透明度等等。16.###RainbowBrackets彩虹色的括号看起来很舒适,代码效率变得更高。弹簧启动|要么直接把根包下的favicon.ico换成自己的,要么把链接的ref设置成网页头部的icon,然后设置它的href值。在SpringBoot中,替换图片也很简单。只需要将自定义图片放在静态资源目录即可,即默认有static、public、resources、/META-INF/resources或自定义静态目录。能。目录结构:允许跨域访问CORS是一个W3C标准,全称是“Cross-originresourcesharing”。它允许浏览器向跨域(协议+域名+端口)服务器发送XMLHttpRequest请求,从而克服AJAX只能在同源上使用的限制。简单的说跨域问题可以通过nginx解决,也可以通过jsonp解决(只支持get请求)。SpringBoot中也提供了配置方法。0.使用@CrossOrigin注解,可以放在类或方法上。所有在类上代表整个控制层的映射方法都支持跨域请求。@CrossOrigin(origins="http://blog.lqdev.cn",maxAge=3600)@RestControllerpublicclassdemoController{@GetMapper("/")publicStringindex(){return"hello,CORS";}}1.配置全局CORS配置。官网也给出了例子,如下:lq.cn");}};}}独立的Tomcat运行说明了这么久,一般我们都是通过jar包来启动应用的。那么在独立的tomcat上部署时,如何解决呢?其实也很简单。只需要将项目打包方式改为war包,然后修改启动类配置即可。0.修改pom打包方式为war,排除内置tomcat。warorg.springframework.bootspring-boot-starter-tomcatcompilejavax.servletjavax.servlet-apiprovided1.改造启动类继承SpringBootServletInitializer并重写配置方法。@SpringBootApplication@Slf4jpublicclassChapterApplicationextendsSpringBootServletInitializer{publicstaticvoidmain(String[]args){SpringApplication.run(ChapterApplication.class,args);//newSpringApplicationBuilder().sources(ChapterApplication.class).web(false).run(args);//之后在这里设置业务逻辑,比如挂起线程或者设置定时任务。保证不退出//否则就是启动类,启动后就停止了。log.info("jar,chapterstarts!");}@OverrideprotectedSpringApplicationBuilderconfigure(SpringApplicationBuilderapplication){log.info("Externaltomcat,chapterstarts!");returnapplication.sources(ChapterApplication.class);}}2.maven打包成war(mvncleaninstall),然后放入tomcat,启动运行。其实这样设置的话,开发时还是可以直接运行启动类的,方便。启动时没有为一些定时任务服务项设置端口,它本身只提供定时调度功能,不需要调用其他服务,只是调度其他服务。像这样的服务,一般不需要设置端口。此时也支持SpringBoot。只需更改启动方法:newSpringApplicationBuilder().sources(ChapterApplication.class).web(false).run(args);//之后在这里设置业务逻辑,比如挂起一个线程或者设置定时任务。保证不退出//否则就是启动类,启动后就停止了。或者修改配置文件的属性:spring.main.web-environment=false看看效果,没看到端口:在启动完成之前执行业务逻辑使用CommandLineRunner或者ApplicationRunner可以在完成之前执行一些业务逻辑SpringApplication的run()0.修改启动类实现CommandLineRunner接口。ApplicationRunner类似,只是run的输入参数不同。@Overridepublicvoidrun(String...args)throwsException{log.info("CommandLineRunnerrunning");}1.运行应用,注意查看控制台输出:当然也可以直接声明一个bean。@Configuration@Slf4jpublicclassCommandLineRunnerConfig{@BeanpublicCommandLineRunnerrunner(){returnnewCommandLineRunner(){publicvoidrun(String...args){log.info("CommandLineRunnerrun2");}};}}如果有多个,可以设置@Order以确定执行顺序。通过org.springframework.boot.logging.LoggingSystem提供的api动态修改日志级别。loggingSystem.setLogLevel(null,LogLevel.DEBUG);比如默认是info模式,debug模式不修改是不会输出的。动态设置后:热部署在很多章节都讲了,因为功能很单一,所以一般直接重启服务进行更新操作。但当服务功能较多,启动速度较慢时,配置热部署会更方便。在SpringBoot中,只需要添加一个spring-boot-devtools即可。org.springframework.bootspring-boot-devtoolstrue题外话:这里的true表示不传递依赖,依赖本项目的人需要使用时需要另外导入这个包。如果不行,尝试在打包工具spring-boot-maven-plugin下的配置中加入true。具体配置项如下:org.springframework.bootspring-boot-maven-plugintrue自定义启动Banner看腻了内置Banner,自己动手修改一个是时候退出自己的Banner了~哈哈,以下是官网提供的配置指南:其实,替换很简单,只需要在类路径中创建一个banner.txt即可。官网上也给出了一些具体的变量,如下:下面我们来定制一个属于自己的Banner。_______||||||||//||||_____||||______|'/_________|||'_/_||||/_/_|