开发工具
IntelliJ IDEA
常用设置
设置代码提示忽略大小写
- Editor > General > Code Completion 下拉框处选择None
设置自动导包
- Editor > General > auto import
- 勾选: Add unambiguous imports on the fly
- 勾选: Optimize imports on the fly(for current project)
设置全局UTF-8
- Editor > File EncodingsGlobal
- Encoding: UTF-8Project
- Encoding: UTF-8Default encoding for properties
- files: UTF-8
检查idea默认代码缩进(tab是否等于4个空格,强制4个空格)
- Editor > Code Style > java
- 没勾选: Use tab
- characterIndent: 4
关闭方法返回值类型提醒
- Editor > Inlay Hints > java没勾选: Method chains
自定义代码模板
- Editor->Live Templates
idea 类的注释模板
- Editor->File and Code Templates
项目编译器版本
- ctrl + alt + s > Build, Execution, Deployment > Complier > java Compiler
- File > Project Structure > Project > Project SDK
- File > Project Structure > Modules > Sources
maven聚合工程
创建项目
- 创建项目
- File > new > Project > Empty Project
- 删除src目录pom.xml
- 增加 < packaging >pom</ packaging >
- 创建父工程
- File > new > Module > maven/spriing Initializr
- 创建子工程
- File > new > Module > maven/spring Initializr >
- 修改Parent创建二级子工程选中项目 > File > new > Module > maven/spring Initializr
打包docker 镜像
-
安装Docker 插件
- Ctrl + Alt + S > Plugins > 搜索 Docker 安装
-
配置Docker 服务器远程连接
- Ctrl + Alt + S > Build, Execution, Deployment > Docker
- 填写: (开启Docker远程连接)
-
项目日志application.properties
- logging.level.root=infologging.file.path=log/${spring.application.name}
-
打包pom.xml
<build> <finalName>api-serve</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> -
执行打包命令
- maven >> Lifecycle >> package : Run Maven Build
构建docker镜像
-
创建Dockerfile文件,与pom.xml同级目录
Docker image for springboot application #VERSION 0.0.1 #author: xx ##基础镜像,使用alpine操作系统,openjkd使用8u201 FROM openjdk:8-jdk-alpine #作者 MAINTAINER xx <xx@qq.com> #指定系统编码,指定时区 ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 TZ=Asia/Shanghai #声明一个挂载点,容器内此路径会对应宿主机的某个文件夹,声明一个log目录用于存放日志文件,也可以挂载到宿主机 VOLUME /tmp VOLUME /log VOLUME /config #将本地target目录下面的jar文件被复制到镜像内,名字也改成了app.jar ADD target/api-serve.jar app.jar #启动容器时的进程,并接受docker启动脚本传入的JAVA_OPTS传入参数 #ENTRYPOINT ["java","-jar","/app.jar"] ENTRYPOINT exec java $JAVA_OPTS -jar /app.jar #暴露80端口 EXPOSE 80 -
构建镜像的配置
Run > Edit Configurations > Docker > 项目(新建/编辑) 填写: Name: 项目名称 (eureka-server) Server: 远程Docker服务器 Dockerfile: 选择对应的Dockerfile文件 Image tag: 填写镜像名称与版本(docker.io/eureka-server:1.0.0)
idea 推荐插件
对象产生所有setter插件
- 输入generateAllSetter进行搜索,并点击Install进行安装插件就已经安装完毕。
- 使用时,再待生成setter方法的地方,按alt+enter
快捷键提示插件
- 搜索 key promoter,并进行安装
翻译插件
- 搜索 translation,并进行安装重启完成之后,选中待翻译的文本,按ctrl+shift+y 进行翻译
时序图插件
- 搜索 sequenceDiagram,并进行安装
- 在想查看时序图的方法处,右键-->Sequence Diagram去掉display only project classes,之后点击ok
代码规约
- 搜索 alibaba,找到 Alibaba java Coding Guidelines 并进行安装
lombok插件
- 搜索 lombok并进行安装
常用快捷键
- 复制整行代码至下一行(ctrl + D)
- 剪切面板历史记录(ctrl + shift + V)
- 删除一整行代码(ctrl + Y)
- 添加单行注释(ctrl + ?)
- 多行注释(ctrl + shift + ?)
- 移动整行代码(ctrl + shift + ↑ 或者 ↓)
- 整体代码格式化(ctrl + alt + L)
- 切换当前操作类(alt + ← 或者 →)
- 代码大小写切换(ctrl + shift + U)
- 快速生产get/set方法(alt + insert)
- 快捷生成new Object();对象的引用 (ctrl + alt + V)
- 自动导包(alt + enter)
- 快速定位错误位置(F2)
- 光标历史位置快速移动(ctrl + alt + ← 或者 →)
- 快速生成逻辑代码块(ctrl + alt + T)
- 历史打开的文件(ctrl + E)
- 常用代码注入(ctrl + J)
- 查看方法的所有引用(ctrl + alt + H)
- 提取公共代码快速生成方法(ctrl + alt + M)
- 全局修改名称以及引用(shift + F6)
- 查看接口类的实现方法(ctrl + alt + B)
Maven
配置环境变量
- MAVEN_HOME : maven的安装目录
- Path: ;%MAVEN_HOME%\bin;
查看maven版本
- mvn --version
配置
-
修改maven本地仓库默认位置
<settings> <localRepository>目录</localRepository> </settings> -
将镜像源换成其它的
#在mirrors中增加 #如:url是http://maven.aliyun.com/nexus/content/groups/public/ <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>镜像源地址</url> <mirrorOf>central</mirrorOf> </mirror>
指定JDK
-
打开apache-maven-3.5\conf文件下的settings.xml文件,在180行左右的profiles标签内加入这么一段话,如果你的jdk版本为1.8的话就这样设置
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
idea-maven 配置
- Settings>Build,Execution,Deployment>Build Tools>Maven
- Maven home directory: E:/maven-3.6.2
- User settings file: E:\maven-3.6.2.m2\settings.xml
- Local repository: E:\maven-3.6.2.m2\repository
- Settings>Build,Execution,Deployment>Build Tools>Maven>Importing
- JDK for importer: E:\Java\jdk1.8.0_131
将第三方jar包导入本地仓库
#mvn install:
install-file
-Dfile=E:\jar\fastjson-1.2.62.jar
-DgroupId=org.zss
-DartifactId=fastjson
-Dversion=1.0
-Dpackaging=jar
-DgeneratePom=true
-DcreateChecksum=true
将maven项目打包成jar包
- mvn clean package -Dmaven.test.skip=true
Maven基本命令
- mvn validate。验证项目是否正确
- mvn package。打包
- mvn compile。编译
- mvn test-compile。编译测试代码
- mvn test。运行测试
- mvn verify。运行检查
- mvn clean。清理项目
- mvn install。安装项目到本地仓库
- mvn deploy。发布项目到远程仓库
- mvn dependency:tree。显示maven依赖树
- mvn dependency:list。显示maven依赖列表
Web相关命令
- mvn tomcat:run。启动Tomcat
- mvn jetty:run。启动jetty
- mvn tomcat:deploy。运行打包部署
Maven三个构建生命周期
clean
- pre-clean。执行一些清理前需要完成的工作
- clean。清理上一次构建生成的文件
- post-clean。执行一些清理后需要完成的工作
default
- validate。验证工程是否正确
- compile。编译
- test。运行测试
- package。把编译后的代码打包
- verify。运行检查,验证包是否有效
- install。安装到maven本地仓库
- deploy。发布到远程仓库