JAVA初学者的排坑经历(持续更新)

  • Eclipse和IntelliJ IDEA
  • Navicat
  • MySQL
  • Spring Boot 单元测试
  • swagger 测试

Eclipse

1 .xml文件的显示问题

默认的editor打开xml文件时,是以一个overview的形式展现的,很不利于编辑:

xml显示

注意看上图中红色框框部分,我们将其选择从“Overview”改为“pom.xml”,就可以很利于我们的编写了,具体表现为下图:

这里写图片描述

2 JUnit Test 的新建问题

想要创建单元测试,但是却怎么也找不到JUnit Test在哪里创建的(已导入JUnit),经过一番探索,发现新建路径为:右键new –> Other –> JAVA –> JUnit –> JUnit Test Case/JUnit Test Suite

具体操作如下gif图所示:

JUnit Test

3 详细的配置及使用方法

关于eclipse中插件安装方法、tomcat及svn的配置、Eclipse常见配置,请参阅:传送门

IDEA

1 安装方法

想了解的直接去这里看吧:传送门

2 使用方法

一些很有用的小方法

解决Navicat连接数据库MySQL报错2059

MySQL

安装MySQL的经验:建议大家使用zip的解压文件直接解压,不要选择安装版

如果使用了安装版,在设置authentication(选择强弱密码方式)时,可能会出现显示框不显示next按钮的问题

解决方法是 桌面 –> 右键 –> 个性化 –> 显示(左下方) –> 设置为100%,然后根据提示,选择注销,重新登录后即可解决,具体如下图所示:
显示不完整

在配置MySQL时,请大家一定牢记密码!!!

因为我忘记了密码,网上给你各种重置密码的方式,都没法用(针对MySQL 8)。

然后,我就重装了。

关于MySQL的安装,推荐看这篇详细图解MySQL(win7x64 5.7.16版本)下载、安装、配置与使用

Spring Boot 单元测试

今天写了一下单元测试,碰到很多坑,当然,还有一些暂时还未解决,先把已经解决的坑填一下!

  • 使用JUnit测试时,出现“Error creating bean with name”

    问题具体描述:我使用的测试框架是JUnit4,注解为@RunWith(SpringJUnit4ClassRunner.class)。然后就出现无法注入依赖的情况,试了很多方法,都未能解决,最后采用的解决方法如下。

    具体解决方法:首先,在pom.xml中添加依赖如下:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.5.201505241946</version>
    <executions>
        <execution>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>

接下来,使用MockMvc框架编写单元测试。下面是我写的一个简单测试代码,供大家参考:


package com.abc.helloworld;

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;

import com.abc.helloworld.Pu;
import com.abc.helloworld.impl.PrjImpl;

import io.swagger.annotations.ApiOperation;

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class ProductServiceTest {

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private PrjImpl prjImpl; 

    @Test
    public void insertTest() throws Exception {
        Pu pu = new Pu();
        pu.setId(110101);
        pu.setName("xxx");

        int flag = prjImpl.insert(product);
        System.out.println("returnNum:" + flag); 
    }

swagger 测试

利用springboot + swagger进行联调时,出现了两个错误,花了一天时间,终于解决,现在分享给大家!

  • 问题1:访问 http://localhost:8080/swagger-ui.html#/ 时,出现重定向错误,会自动跳转到http://localhost:8080/login#/。需要输入用户名和密码才能登陆,具体情况如下图所示:
    这里写图片描述

  • 解决方法: 解决方法有两个。麻烦一点的方法就是登陆,用户名:user(均小写);密码在日志中,具体位置如下图所示:
    这里写图片描述

    图中红色线标记处的部分,每次运行时都会生成,复制进去即可登陆!

    简单一点的方法是,直接在application.java 主程序前添加注解:@EnableAutoConfiguration(exclude={SecurityAutoConfiguration.class}),跳过输入账号和密码。

  • 问题2: 进入 http://localhost:8080/swagger-ui.html#/ 后,未显示接口信息!

  • 解决方法:同样需要两个步骤,首先检查自己的 com.xxx.config(名字可能不同) 包下的 Swagger2Config(名字可能不同) 配置文件中,basePackage 是否配置正确,如下图中打马赛克的那里所示:
    这里写图片描述

    如果这个没有问题,那么就直接清空浏览器缓存 (具体方法请自行百度) !!

    然后,就可以成功开始调试接口了!

发布了21 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/fIsh1220Fish/article/details/81182491
今日推荐