IntellJ IDEA使用及配置杂记

前言

本人项目多用Java语言开发,且IDE主要是IntelliJ IDEA2019.1 x64版本,由于在IDEA工具的使用上,本人有时也是一知半解,遇到问题就百度搜索,然而网上很多资料参差不齐,故想着将自己遇到的问题整理总结,希望能对你有所帮助,我尽量会整理详细些,如有不懂或描述不恰当的地方,请留言指出,谢谢~

问题一:Maven项目JDK与本机JDK版本不一致

描述:本人安装的JDK版本是1.8,每当我创建一个Maven工程后,项目的默认JDK版本默认是1.5,而且每次我重新打开项目或者挂着项目没操作后,即使更改为JDK1.8也会被默默改回JDK1.5。出现问题如下:

Lambda表达式无法使用
编译时程序报错

下面介绍两种方法解决,第一种比较笨且为临时的,第二种较好。

解决方法一:修改项目JDK版本

  1. 打开Settings窗口(快捷键Ctrl + Alt + S):File -> Settings
Setting窗口修改Java Compiler

修改JDK版本为8

  1. 打开Project Structure窗口(快捷键Ctrl + Alt + Shift + S):File -> Project Structure
Project JDK版本是否对应
Modules source的JDK是否对应

逐一修改每个项目的JDK版本,Apply即可解决

存在不足:临时性修改,下一次重启有可能会出现版本不一致问题

解决方法二:pom文件约定JDK版本

在pom.xml文件中添加如下插件



    
        1.8
        3.5.1
    
    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                ${maven.version}
                
                    ${java.version}
                    ${java.version}
                
            
        
    


都贴上了,免得你不知道放在哪里,嘿嘿

如果你的项目是多个模块,那么只需要在主模块中添加

可以一劳永逸解决

问题二:如何生成IDEA自定义代码模板

例如上一个问题中的代码块,如果每次使用时,都需要找到对应的代码进行复制粘贴,很繁琐,好在IDEA提供了一个Live Templates功能,能够自定义代码模板,只需要输入相应的快捷方式就能自动生成,类似于psvmIDEA就能自动填充为public static void main(String[] args)一样。

  • 打开Settings窗口(快捷键Ctrl + Alt + S):File -> Settings
Editor下的Live Templates
  • 创建一个Template Group
创建Template Group
  • 在新建的Template Group下创建Live Template
创建Live Template
  • 创建Live Template
创建Live Template

其中maven_jdk_setting类似于psvm,设置作用在xml文件中

  • 效果图如下:
快捷方式生成自定义代码模块
效果图

个人常用模板

  • 热部署插件(devtools_build)

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
        
    
    
  • JPA对应的persistence_xml的文件格式(jpa_persistence_xml)

    
    
        
        
            
            org.hibernate.jpa.HibernatePersistenceProvider
    
            
            
                
                
                
                
                
    
                
                
                
            
        
    
    
  • mybatis的application配置yml文件(mybatis_applicaiton_yml)

    # 数据源配置
    spring:
      datasource:
        # url username password TODO
        url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf8
        username: 用户名
        password: 密码
        driver-class-name: com.mysql.jdbc.Driver
    # MyBatis配置
    mybatis:
      # type-aliases-package mapper-locations TODO
      type-aliases-package: cn.tod.mybatisgenerator.entity
      mapper-locations: classpath:cn.tod.mybatisgenerator.mapper/*.xml
    
    # mybatis.config = mybatis 配置⽂件名称
    # mybatis.mapperLocations = mapper xml ⽂件地址 #
    # mybatis.typeAliasesPackage = 实体类包路径
    # mybatis.typeHandlersPackage = type handlers 处理器包路径
    # mybatis.check-config-location = 检查 mybatis 配置是否存在,⼀般命名为 mybatis-config.xml
    # mybatis.executorType = 执⾏模式。默认是 SIMPLE
    
  • mybatis对应的config_xml文件格式(mybatis_config_xml)

    
    
    
        
        
            
            
                
                
                
                
                    
                    
                    
                    
                
            
        
        
        
            
            
        
    
    
  • mybatis对应的config_xml文件配置(基于注解配置)(mybatis_config_xml_annotation)

    
    
    
        
        
            
            
                
                
                
                
                    
                    
                    
                    
                
            
        
        
        
            
        
    
    
  • mybatis对应的mapper_xml文件格式(mybatis_mapper_xml)

    
    
    
        
    
    
  • mybatisgenerator的pom插件(mybatisgenerator_build_pom_xml)

    
        
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    
                    src/main/resources/MybatisGeneratorConfig.xml
                    true
                    true
                
                
                    
                        Generate MyBatis Artifacts
                        
                            generate
                        
                    
                
                
                    
                        org.mybatis.generator
                        mybatis-generator-core
                        1.3.2
                    
                    
                        mysql
                        mysql-connector-java
                        5.1.47
                    
                
            
        
    
    
  • mybatisgenerator的配置文件(mybatisgenerator_config_xml)

    
     
    
    
        
        
        
            
            
            
                
                
            
    
            
            
    
            
            
                
                
            
            
                
            
    
            
            
                
                
            
    
            
                
            
    
            
                
            
    
    
            
            
  • spring基于aop的bean_xml文件格式(spring_aop_bean_xml)

    
    
        
        
        
            
        
        
        
            
            
        
        
        
            
            
        
        
        
            
            
            
            
        
    
        
        
            
        
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
            
            
                
                
            
        
    
    
  • spring对应的注解方式的bean_xml文件格式(spring_bean_annotation_xml)

    
    
        
        
        
        
            
            
            
            
        
        
        
            
        
    
    
  • spring对应的bean_xml文件格式(spring_bean_xml)

    
    
        
        
        
            
            
                
                    AAA
                    bbb
                    CCC
                
            
            
            
                
                    DDD
                    eee
                    FFF
                
            
            
            
                
                    GGG
                    GGG
                    hhh
                
            
            
            
                
                    aaa
                    bbb
                
            
            
            
                
                    
                    
                        bbb
                    
                
            
        
        
        
    
    
    
            
            
            
        
        
    
    

问题三:如何使用IDEA自动生成实体类的serialVersionUID

有时候我们为了防止实体类在存储中被人为修改,需要实现实体类的序列化机制,实现Serializable接口,同时定义一个唯一的SerializeUID,代码如下:

import java.io.Serializable;

public class User implements Serializable {
    private static final long serialVersionUID = 2588932577248604962L;
}

serialVersionUID可以自己定义,也可以有IDEA自动生成,只要保证唯一即可

下面讲一下如何使用IDEA自动生成serialVersionUID

  • 打开Settings窗口(快捷键Ctrl + Alt + S):File -> Settings
设置中打开生成serialVersionUID警告

搜索serialize,选择实现Serializable接口的类没有定以serialVersionUID会有警告提示

  • 生成实体类的serialVersionUID
生成serialVersionUID

在实体类名称上按下Alt + Enter快捷键

效果图

你可能感兴趣的:(IntellJ IDEA使用及配置杂记)