IDEA常用设置及推荐插件

Thu, 18 Jun 2020 06:23:51 GMT

摘要

本文主要记录IDEA的一些常用设置,IDEA与Eclipse的常用快捷键对比及推荐一些好用的插件。

基本设置

设置界面风格及修改外部UI尺寸大小

 

展示图片

 

打开IDEA时设置不重新打开最近的项目

IDEA默认会打开最近的项目,有时候我们需要自己选择要打开的项目,不勾选该选项可以实现。

 

展示图片

 

设置IDEA的快捷键

 

展示图片

 

设置代码字体大小

 

展示图片

 

设置项目文件编码格式

 

展示图片

 

设置代码提示的匹配模式

 

展示图片

 

设置新建类文件的类注释模版

 

展示图片

 

IDEA和Eclipse常用快捷键对比

友情提示:IDEA可以设置为Eclipse风格的快捷键,在File->Settings->Keymap处,如需更改部分快捷键可按如下表格中的英文描述进行搜索,并改为相应快捷键。

Eclipse IDEA 英文描述 中文描述
ctrl+shift+r ctrl+shift+n Navigate->File 找工作空间的文件
ctrl+shift+t ctrl+n Navigate->Class 找类定义
ctrl+shift+g alt+f7 Edit->Find->Find Usages 查找方法在哪里调用.变量在哪里被使用
ctrl+t ctrl+t Other->Hierarchy Class 看类继承结构
ctrl+o ctrl+f12 Navigate->File Structure 搜索一个类里面的方法
shift+alt+z ctrl+alt+t Code->Surround With 生成常见的代码块
shift+alt+l ctrl+alt+v Refactor->Extract->Variable 抽取变量
shift+alt+m ctrl+alt+m Refactor->Extract->Method 抽取方法
alt+左箭头 ctrl+alt+左箭头 Navigate->Back 回退上一个操作位置
alt+右箭头 ctrl+alt+右键头 Navigate->Forward 前进上一个操作位置
ctrl+home ctrl+home Move Caret to Text Start 回到类最前面
ctrl+end ctrl+end Move Caret to Text End 回到类最后面
ctrl+e ctrl+e View->Recent Files 最近打开的文件
alt+/ ctrl+space Code->Completion->Basic 提示变量生成
ctrl+1 alt+enter Other->Show Intention Actions 提示可能的操作
ctrl+h ctrl+shift+f Find in Path 全局搜索
alt+上/下箭头 alt+shift+上/下箭头 Code->Move Line Up/Down 移动一行代码
ctrl+/ ctrl+/ Other->Fix doc comment 方法注释
ctrl+alt+s alt+insert Generate 生成getter,setter,tostring等

推荐插件

由于IDEA本身就自带很多插件,可以完成大部分需求,这里就推荐两个本人常用的插件。

Free MyBatis plugin

非常好用的MyBatis插件,对MyBatis的xml具有强大的提示功能,同时可以关联mapper接口和mapper.xml中的sql实现。

可以从mapper接口和mapper.xml文件中相互跳转

 

展示图片

 

mapper.xml中的各种提示

 

展示图片
展示图片

 

Lombok plugin

Lombok为Java语言添加了非常有趣的附加功能,你可以不用再为实体类手写getter,setter等方法,通过一个注解即可拥有。

一个没有getter,setter方法的类通过添加@Getter和@Setter注解拥有了getter,setter方法。

 

展示图片
...
浏览 : 1550 阅读全文

摘要

本文主要以图文的形式讲解mall项目所需环境在windows下的安装,主要包括IDEA、Mysql、Redis、Elasticsearch、Mongodb、RabbitMQ、OSS。

IDEA

1.关于IDEA的安装与使用具体参考github.com/judasn/Inte…

2.搜索插件仓库,安装插件lombok

 

展示图片
3.将项目下载到本地,然后直接打开

 

 

展示图片

 

 

展示图片

 

Mysql

  1. 下载并安装mysql5.7版本,下载地址:dev.mysql.com/downloads/i…
  2. 设置数据库帐号密码:root root
  3. 下载并安装客户端连接工具Navicat,下载地址:www.formysql.com/xiazai.html
  4. 创建数据库mall
  5. 导入document/sql下的mall.sql文件

Redis

1.下载Redis,下载地址:github.com/MicrosoftAr…

 

展示图片

 

2.下载完后解压到指定目录

 

展示图片

 

3.在当前地址栏输入cmd后,执行redis的启动命令:redis-server.exe redis.windows.conf

 

展示图片

 

Elasticsearch

1.下载Elasticsearch6.2.2的zip包,并解压到指定目录,下载地址:www.elastic.co/cn/download…

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba266d0a341?w=669&h=350&f=png&s=28924

 

2.安装中文分词插件,在elasticsearch-6.2.2\bin目录下执行以下命令:elasticsearch-plugin install github.com/medcl/elast…

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2688ac71d?w=993&h=174&f=png&s=8876

 

3.运行bin目录下的elasticsearch.bat启动Elasticsearch

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba29baf96b4?w=662&h=384&f=png&s=44105

 

4.下载Kibana,作为访问Elasticsearch的客户端,请下载6.2.2版本的zip包,并解压到指定目录,下载地址:artifacts.elastic.co/downloads/k…

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba29299f652?w=618&h=363&f=png&s=36769

 

5.运行bin目录下的kibana.bat,启动Kibana的用户界面

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba28dc4ae74?w=675&h=160&f=png&s=15289

 

6.访问http://localhost:5601 即可打开Kibana的用户界面

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba29ea62fe9?w=1058&h=484&f=png&s=36116

 

Mongodb

1.下载Mongodb安装包,下载地址:fastdl.mongodb.org/win32/mongo…

2.选择安装路径进行安装

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2b04722ae?w=499&h=389&f=png&s=27747

 

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2a551ba47?w=656&h=443&f=png&s=53848

 

3.在安装路径下创建data\db和data\log两个文件夹

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba29f6640fd?w=583&h=154&f=png&s=9511

 

4.在安装路径下创建mongod.cfg配置文件

systemLog:
    destination: file
    path: D:\developer\env\MongoDB\data\log\mongod.log
storage:
    dbPath: D:\developer\env\MongoDB\data\db
复制代码

5.安装为服务(运行命令需要用管理员权限)

D:\developer\env\MongoDB\bin\mongod.exe --config "D:\developer\env\MongoDB\mongod.cfg" --install
复制代码

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2c6863ee8?w=821&h=170&f=png&s=4512

 

6.服务相关命令

启动服务:net start MongoDB
关闭服务:net stop MongoDB
移除服务:D:\developer\env\MongoDB\bin\mongod.exe --remove
复制代码

7.下载客户端程序:download.robomongo.org/1.2.1/windo…

8.解压到指定目录,打开robo3t.exe并连接到localhost:27017

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2bf53eccc?w=716&h=478&f=png&s=30534

 

RabbitMQ

1.安装Erlang,下载地址:erlang.org/download/ot…

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2c060dae9?w=503&h=390&f=png&s=19892

 

2.安装RabbitMQ,下载地址:dl.bintray.com/rabbitmq/al…

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2cc11097b?w=503&h=390&f=png&s=19438

 

3.安装完成后,进入RabbitMQ安装目录下的sbin目录

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2cd9d317f?w=750&h=296&f=png&s=34614

 

4.在地址栏输入cmd并回车启动命令行,然后输入以下命令启动管理功能:

rabbitmq-plugins enable rabbitmq_management
复制代码

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2e53bd66e?w=993&h=195&f=png&s=10265

 

5.访问地址查看是否安装成功:http://localhost:15672/

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2d968467e?w=986&h=321&f=png&s=21777

 

6.输入账号密码并登录:guest guest

7.创建帐号并设置其角色为管理员:mall mall

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2e315b868?w=903&h=765&f=png&s=48415

 

8.创建一个新的虚拟host为:/mall

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2e7558693?w=1349&h=611&f=png&s=70997

 

9.点击mall用户进入用户配置页面

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2efa5f52a?w=744&h=729&f=png&s=43403

 

10.给mall用户配置该虚拟host的权限

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2f6f8cff7?w=807&h=768&f=png&s=40200

 

11.至此,RabbitMQ的安装和配置完成。

OSS

开通OSS服务

  • 登录阿里云官网;
  • 将鼠标移至产品标签页,单击对象存储 OSS,打开OSS 产品详情页面;
  • 在OSS产品详情页,单击立即开通。

创建存储空间

  • 点击网页右上角控制台按钮进入控制台

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba2fee832ff?w=788&h=64&f=png&s=7050

 

  • 选择我的云产品中的对象存储OSS

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba30225395f?w=1407&h=151&f=png&s=12740

 

  • 点击左侧存储空间的加号新建存储空间

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba30aee9b91?w=220&h=281&f=png&s=7672

 

  • 新建存储空间并设置读写权限为公共读

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba30ff77866?w=790&h=796&f=png&s=61541

 

跨域资源共享(CORS)的设置

  • 选择一个存储空间,打开其基础设置

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba31e248b1c?w=791&h=363&f=png&s=26831

 

  • 点击跨越设置的设置按钮

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba31cc2d94d?w=727&h=183&f=png&s=8812

 

  • 点击创建规则

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba32833e571?w=597&h=84&f=png&s=5305

 

  • 进行跨域规则设置

 

https://user-gold-cdn.xitu.io/2019/6/26/16b93ba328d31c8d?w=810&h=682&f=png&s=25441

 

mall-admin

mall-search

mall-portal


 

 

...
浏览 : 1919 阅读全文

摘要

本文主要以图文的形式讲解mall在Linux环境下的部署,涉及在Docker容器中安装Mysql、Redis、Nginx、RabbitMQ、Elasticsearch、Mongodb,以及SpringBoot应用部署,基于CenterOS7.6。

Docker环境安装

  • 安装yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
复制代码
  • 为yum源添加docker仓库位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
复制代码
  • 安装docker:
yum install docker-ce
复制代码
  • 启动docker:
systemctl start docker
复制代码

Mysql安装

  • 下载mysql5.7的docker镜像:
docker pull mysql:5.7
复制代码
  • 使用docker命令启动:
  docker run -p 3306:3306 --name mysql \
  -v /mydata/mysql/log:/var/log/mysql \
  -v /mydata/mysql/data:/var/lib/mysql \
  -v /mydata/mysql/conf:/etc/mysql \
  -e MYSQL_ROOT_PASSWORD=root  \
  -d mysql:5.7
复制代码
  • 参数说明
    • -p 3306:3306:将容器的3306端口映射到主机的3306端口
    • -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
    • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
    • -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
    • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
  • 进入运行mysql的docker容器:
docker exec -it mysql /bin/bash
复制代码
  • 使用mysql命令打开客户端:
mysql -uroot -proot --default-character-set=utf8
复制代码
  • 创建mall数据库:
create database mall character set utf8
复制代码
  • 安装上传下载插件,并将docment/sql/mall.sql上传到Linux服务器上:
yum -y install lrzsz
复制代码
  • 将mall.sql文件拷贝到mysql容器的/目录下:
docker cp /mydata/mall.sql mysql:/
复制代码
  • 将sql文件导入到数据库:
use mall;
source /mall.sql;
复制代码
  • 创建一个reader帐号并修改权限,使得任何ip都能访问:
grant all privileges on *.* to 'reader' @'%' identified by '123456';
复制代码

Redis安装

  • 下载redis3.2的docker镜像:
docker pull redis:3.2
复制代码
  • 使用docker命令启动:
  docker run -p 6379:6379 --name redis \
  -v /mydata/redis/data:/data \
  -d redis:3.2 redis-server --appendonly yes
复制代码
  • 进入redis容器使用redis-cli命令进行连接:
docker exec -it redis redis-cli
复制代码

 

展示图片

 

Nginx安装

下载nginx1.10的docker镜像:

docker pull nginx:1.10
复制代码

从容器中拷贝nginx配置

  • 先运行一次容器(为了拷贝配置文件):
  docker run -p 80:80 --name nginx \
  -v /mydata/nginx/html:/usr/share/nginx/html \
  -v /mydata/nginx/logs:/var/log/nginx  \
  -d nginx:1.10
复制代码
  • 将容器内的配置文件拷贝到指定目录:
docker container cp nginx:/etc/nginx /mydata/nginx/
复制代码
  • 修改文件名称:
mv nginx conf
复制代码
  • 终止并删除容器:
docker stop nginx
docker rm nginx
复制代码

使用docker命令启动:

docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx  \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
复制代码

RabbitMQ安装

  • 下载rabbitmq3.7.15的docker镜像:
docker pull rabbitmq:3.7.15
复制代码
  • 使用docker命令启动:
  docker run -d --name rabbitmq \
  --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 \
  --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \
  rabbitmq:3.7.15
复制代码
  • 进入容器并开启管理功能:
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_management
复制代码

 

展示图片

 

  • 开启防火墙:
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
复制代码
  • 访问地址查看是否安装成功:http://192.168.3.101:15672/
    展示图片
  • 输入账号密码并登录:guest guest
  • 创建帐号并设置其角色为管理员:mall mall
    展示图片
  • 创建一个新的虚拟host为:/mall
    展示图片
  • 点击mall用户进入用户配置页面
    展示图片
  • 给mall用户配置该虚拟host的权限
    展示图片

Elasticsearch安装

  • 下载elasticsearch6.4.0的docker镜像:
docker pull elasticsearch:6.4.0
复制代码
  • 修改虚拟内存区域大小,否则会因为过小而无法启动:
sysctl -w vm.max_map_count=262144
复制代码
  • 使用docker命令启动:
  docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
  -e "discovery.type=single-node" \
  -e "cluster.name=elasticsearch" \
  -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
  -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
  -d elasticsearch:6.4.0
复制代码
  • 启动时会发现/usr/share/elasticsearch/data目录没有访问权限,只需要修改/mydata/elasticsearch/data目录的权限,再重新启动。
chmod 777 /mydata/elasticsearch/data/
复制代码
  • 安装中文分词器IKAnalyzer,并重新启动:
docker exec -it elasticsearch /bin/bash
#此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip
docker restart elasticsearch
复制代码
  • 开启防火墙:
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
复制代码

kibana安装

  • 下载kibana6.4.0的docker镜像:
docker pull kibana:6.4.0
复制代码
  • 使用docker命令启动:
  docker run --name kibana -p 5601:5601 \
  --link elasticsearch:es \
  -e "elasticsearch.hosts=http://es:9200" \
  -d kibana:6.4.0
复制代码
  • 开启防火墙:
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload
复制代码

Mongodb安装

  • 下载mongo3.2的docker镜像:
docker pull mongo:3.2
复制代码
  • 使用docker命令启动:
  docker run -p 27017:27017 --name mongo \
  -v /mydata/mongo/db:/data/db \
  -d mongo:3.2
复制代码

Docker全部环境安装完成

  • 所有下载镜像文件:
    展示图片
  • 所有运行在容器里面的应用:
    展示图片

SpringBoot应用部署

构建所有Docker镜像并上传

  • 打开pom.xml中使用docker插件的注释:
    展示图片
  • 修改dockerHost为你自己的docker服务器地址:
  • 构建镜像并上传:
    展示图片
    展示图片

部署mall-admin

docker run -p 8080:8080 --name mall-admin \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT
复制代码

注意:CenterOS7.2版本需要加入此行,否则容器时区和宿主机无法同步

-v /etc/timezone:/etc/timezone \
复制代码

部署mall-search

docker run -p 8081:8081 --name mall-search \
--link elasticsearch:es \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/search/logs:/var/logs \
-d mall/mall-search:1.0-SNAPSHOT
复制代码

部署mall-port

docker run -p 8085:8085 --name mall-portal \
--link mysql:db \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT
复制代码

开启防火墙

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8085/tcp --permanent
firewall-cmd --reload
复制代码

访问接口进行测试


 

 

...
浏览 : 1948 阅读全文

摘要

本文主要讲解如何在IDEA中创建、启动SpringBoot应用以及查看应用暴露监控端点的正确方式。

创建SpringBoot应用

由于SpringCloud应用也属于SpringBoot应用的一种,这里我们以创建Eureka注册中心为例来看看在IDEA中创建并运行SpringBoot应用的正确姿势。

使用IDEA来创建SpringBoot应用

  • 创建一个Eureka注册中心模块,并使用Spring Initializer初始化一个SpringBoot项目:

 

 

  • 填写应用信息:

 

 

  • 选择你需要的SpringBoot或SpringCloud组件进行创建:

 

 

  • 创建完成后会发现pom.xml文件中已经有了eureka-server的依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
复制代码
  • 当然你也可以使用其他组件来创建SpringBoot应用,IDEA中提供了很多SpringBoot中常用的组件,比如:

 

 

启动SpringBoot应用

创建完成的SpringBoot应用,直接运行启动类的main方法就可以运行了。但是有时候我们会启动很多应用,为了便于管理,我们使用IDEA的Run Dashboard来启动。

打开Run Dashboard的方式

默认情况下,当IDEA检查到你的项目中有SpringBoot应用时,会提示你开启,如果你没开启,可以用以下方法开启。

 

 

通过默认配置启动

直接在Run Dashboard中右键应用,点击run即可启动。

 

 

使用指定配置运行

我们曾经搭建过一个用于注册到注册中心的eureka-client服务,只使用默认配置启动的话,我们直接使用上面的启动方式即可,但是如果我们要用其他配置来启动,如果我们没使用IDEA的话,可能会把eureka-client打成jar包,然后使用java命令指定不同的配置来启动,接下来我们试试使用IDEA怎么用不同的配置启动同一个SpringBoot应用。

  • 此时我们的eureka-client有三个不同的配置,默认配置为application.yml,我们将采用application-replica.yml来启动它;

 

 

  • 首先我们复制eureka-client原来的启动配置:

 

 

  • 复制完后设置启动文件为application-replica.yml:

 

 

  • 直接在Run Dashboard中运行即可。

覆盖配置中的某个属性运行

如果我们启动只是需要覆盖某个SpringBoot的配置,比如说是运行的端口号,可以采用以下方式,还是以eureka-client为例。

复制eureka-client原来的启动配置,然后直接修改运行端口号即可:

 

 

查看SpringBoot应用暴露的监控端点

我们可以从IDEA的Run Dashboard中查看到所有暴露的Actuator监控端点,这里以hystrix-dashboard(断路器仪表盘服务)为例。

 


作者:MacroZheng
链接:https://juejin.im/post/5d8b69366fb9a04e3348b06c
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

...
浏览 : 1708 阅读全文