欲善其事,必先利其器!
就在不久之前,Java领域的开发神器IntelliJ IDEA终于迎来2021年的一个重要的大版本更新:IntelliJ IDEA 2021.1。
现如今大量的Java开发者深度依赖着这款开发软件,正如网上的段子所言:“可以毫不夸张地说,多少Java程序员离开了IDEA就不会写代码了(狗头)”,由此可见其使用的广泛程度。
新版本一出来,我也迫不及待地想尝试一番。当然,主力开发机我是不敢乱升级的,所以这两天,我在一台平时用来做测试的老开发本子上更新了全新的IDEA。
软件启动界面打开的那一瞬间,我就知道事情并不简单。
更新后,全新的启动页面更加花里胡哨了。
软件启动速度也是非常之快,就我这多年苦练的火箭般手速,都差点没截来下面这张启动页面图。
JetBrains提供的Space这个功能不知道大家有没有听说过,讲白了就是一套集成的团队协作环境,可以提供包括构建交付、聊天协作、团队管理以及项目管理等在内的一整套协作一体化解决方案。
最新的IDEA 2021.1把Space环境给无缝地集成进来了,现在属于开箱即用的状态,软件的右上角就有快捷入口:
这个功能相信对于很多依赖Windows系统以及WSL功能的用户来说,简直是喜大普奔!
以前WSL就算再好用,但是你的IDE并没有和它打通,多少总是一个遗憾。
这下好了,二者直接打通了,IDEA支持WSL 2。你可以直接在新版IDEA 2021.1中运行并开发WSL 2中的Java项目,包括Gradle类型项目和Maven类型等项目均支持。
Run Targets这个功能的意思有点类似于上面刚聊过的WSL 2。它允许开发者直接在远程主机甚至在Docker容器上运行和调试项目。
所以到目前为止,新版IDEA 2021允许开发者可以在本地、WSL 2、SSH远程主机、Docker等目标上运行项目,可以说贼香了!
这也算是一个比较重磅的更新。
近两年来,Java版本的发布速度也是快如老狗,我还在用Java 8,它都淦到Java 16了。
关于Java 16的新特性,我还准备写篇文章来详细聊一聊呢,包括比如:
这次IDEA 2021版的一个很重要的更新就是加入了对Java 16的基本支持,注意是基本支持。
除此之外IDEA还新增了几项检查机制,典型比如更加智能的数据流分析检查。
链式构造方式的优化格式设置等等。
目的都是为了帮助提升可读性,进一步提升用户体验。
Code With Me是一项用于协作开发与结对编程的服务,可以实Host-Guest模式的“手摸手”(滑稽)结对编程和群体编程。
目前,新版IDEA开箱即用地支持了Code With Me功能,同时它还具有音频通话和视频通话功能,可以满足随时随地的沟通需求,这操作简直骚到爆。
版本控制
版本控制这一块目前做了不少的更新,包括可以更快地完成PR的创建提交,支持PR模板。
变更提交至代码库前的自定义代码检查配置。
以及支持自定义Git提交模板等等。
以前在IDEA中预览网页得跳到外部浏览器,而现如今IDE的编辑器内部就支持Built-in级别的网页预览,只需要在右上角点那个IDEA小图标即可激活,而且可以编辑网页源码时做到同步更新和预览。
在Windows平台的新版IDEA上,可直接在任务栏(或开始菜单)上右键快捷呼出最近使用的项目。
讲白了,就是使搜索范围更易于自定义,我们可以直接在设置中进行Scope定义,自行选择External Dependencies的范围是否包含。
当你对编辑器里的多个文件进行垂直窗口拆分时,双击某个Tab就可以将当前文件窗口最大化,再次双击Tab则会还原。
当然除了这些之外,新版IDEA还新增了很多更新和增强,比如:对Kotlin、Scala、JavaScript等语言的开发优化、对常见框架与技术的优化和支持、对Kubernetes和Docker的更新支持和改进、数据库工具的更新支持等等,由于时间有限,在此就不一一赘述了,有需要的可以按需细究。
最后,让我们一起大喊一句:“IDEA,yyds!”
作者:dulk 来源:www.cnblogs.com/deng-cc/p/6416332.html
、项目配置的理解
IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行。最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse,为了更深入理解和使用,就找来各种资料再研究一下,这里整理后来个输出。
1.1 Project
1.2 Modules
1.2.1 增删子项目
一个项目中可以有多个子项目,每个子项目相当于一个模块。一般我们项目只是单独的一个,IntelliJ IDEA 默认也是单子项目的形式,所以只需要配置一个模块。
(此处的两个项目引入仅作示例参考)
1.2.2 子项目配置
每个子项目都对应了Sources、Paths、Dependencies 三大配置选项:
1.2.3 增删框架(Web部署-1)
每个子项目之下都可以定义它所使用的框架,这里重点说明一下Web部分的设置。
1.3 Libraries
这里可以显示所添加的jar包,同时也可以添加jar包,并且可以把多个jar放在一个组里面,类似于jar包整理。
这里默认将每个jar包做为了一个单独的组(未测试,待定)。
1.4 Facets
官方的解释是:
When you select a framework (a facet) in the element selector pane, the settings for the framework are shown in the right-hand part of the dialog.
(当你在左边选择面板点击某个技术框架,右边将会显示这个框架的一些设置)
说实话,并没有感觉到有什么作用。
1.5 Artifacts(Web部署-2)
项目的打包部署设置,这个是项目配置里面比较关键的地方,重点说一下。
先理解下它的含义,来看看官方定义的artifacts:
An artifact is an assembly of your project assets that you put together to test, deploy or distribute your software solution or its part. Examples are a collection of compiled Java classes or a Java application packaged in a Java archive, a Web application as a directory structure or a Web application archive, etc.
即编译后的Java类,Web资源等的整合,用以测试、部署等工作。再白话一点,就是说某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式。某个module有了 Artifacts 就可以部署到应用服务器中了。
(
jar:Java ARchive,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库;
war:Web application ARchive,一种JAR文件,其中包含用来分发的JSP、Java Servlet、Java类、XML文件、标签库、静态网页(HTML和相关文件),以及构成Web应用程序的其他资源;
exploded:在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。
)
默认情况下,IDEA的 Modules 和 Artifacts 的 output目录已经设置好了,不需要更改,打成war包的时候会自动在 WEB-INF目录下生成classes,然后把编译后的文件放进去。
你可能对这里的输出目录不太理解,之前不是配置过了文件编译的输出目录了吗?为什么这里还有一个整合这些资源的目录呢?它又做了哪些事呢?
其实,实际上,当你点击运行tomcat时,默认就开始做以下事情:
在这里还要注意的是,配置完成的artifact,需要在tomcat中进行添加:
前言
该项目为前后端分离项目的前端部分,后端项目mall地址:传送门。
项目介绍
mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。 主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等功能。
项目演示
项目在线演示地址:http://39.98.190.128/index.html
项目布局
src -- 源码目录 ├── api -- axios网络请求定义 ├── assets -- 静态图片资源文件 ├── components -- 通用组件封装 ├── icons -- svg矢量图片文件 ├── router -- vue-router路由配置 ├── store -- vuex的状态管理 ├── styles -- 全局css样式 ├── utils -- 工具类 └── views -- 前端页面 ├── home -- 首页 ├── layout -- 通用页面加载框架 ├── login -- 登录页 ├── oms -- 订单模块页面 ├── pms -- 商品模块页面 └── sms -- 营销模块页面
搭建步骤
https://github.com/macrozheng/mall-admin-web
*请认真填写需求信息,我们会在24小时内与您取得联系。