我枯了,终于运行出了实验十的第一个部分的内容。。

一、新建项目:


(有些配置有错,后面会给出解决方案)

new->file->project

添加依赖:

由于官网的源速度太慢,替换为老师给的setting.xml文件:

setting.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><pluginGroups /><proxies /><servers /><localRepository>D:/server/maven/repository</localRepository><mirrors><mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror><mirror><id>central</id><name>Maven Repository Switchboard</name><url>http://repo1.maven.org/maven2/</url><mirrorOf>central</mirrorOf></mirror><mirror><id>repo2</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo2.maven.org/maven2/</url></mirror><mirror><id>ibiblio</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url></mirror><mirror><id>jboss-public-repository-group</id><mirrorOf>central</mirrorOf><name>JBoss Public Repository Group</name><url>http://repository.jboss.org/nexus/content/groups/public</url></mirror><mirror><id>google-maven-central</id><name>Google Maven Central</name><url>https://maven-central.storage.googleapis.com</url><mirrorOf>central</mirrorOf></mirror><!-- 中央仓库在中国的镜像 --><mirror><id>maven.net.cn</id><name>oneof the central mirrors in china</name><url>http://maven.net.cn/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors></settings>

在references做如下修改:

二、项目内容


整个项目的目录如下:

根据提示导入相应的包。

BookCategory:

package cn.edu.ncu.bootjpademo.entity;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.math.BigInteger;
import java.sql.Timestamp;@Entity//默认对应的数据库的名字为book_category,实体
public class BookCategory {@Id//主键//IDENTITY:主键由数据库自动生成(主要是自动增长型)@GeneratedValue(strategy = GenerationType.IDENTITY)private BigInteger categoryId;private String categoryName;private Timestamp createTime;//时间戳private Timestamp updateTime;public BigInteger getCategoryId() {return categoryId;}public void setCategoryId(BigInteger categoryId) {this.categoryId = categoryId;}public String getCategoryName() {return categoryName;}public void setCategoryName(String categoryName) {this.categoryName = categoryName;}public Timestamp getCreateTime() {return createTime;}public void setCreateTime(Timestamp createTime) {this.createTime = createTime;}public Timestamp getUpdateTime() {return updateTime;}public void setUpdateTime(Timestamp updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "BookCategory{" +"categoryId=" + categoryId +", categoryName='" + categoryName + '\'' +", createTime=" + createTime +", updateTime=" + updateTime +'}';}
}

BookCategoryDao.java:

package cn.edu.ncu.bootjpademo.dao;import cn.edu.ncu.bootjpademo.entity.BookCategory;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;import java.math.BigInteger;@Repository//将dao类声明为spring bean
//<实体,主键类型>
public  interface  BookCategoryDao extends JpaRepository<BookCategory, BigInteger> {}

BookCategoryService.java:

package cn.edu.ncu.bootjpademo.service;import cn.edu.ncu.bootjpademo.dao.BookCategoryDao;
import cn.edu.ncu.bootjpademo.entity.BookCategory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;
//把dao类注入到service实现类中
@Service
public class BookCategoryService {@Autowiredprivate BookCategoryDao bookCategoryDao;public List<BookCategory> findAll(){return bookCategoryDao.findAll();}
}

BookCategoryController.java:

package cn.edu.ncu.bootjpademo.controller;import cn.edu.ncu.bootjpademo.entity.BookCategory;
import cn.edu.ncu.bootjpademo.service.BookCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping(value = "category")
public class BookCategoryController {@Autowiredprivate BookCategoryService service;@RequestMapping(value = "",method = RequestMethod.GET)public List<BookCategory> findAll(){return service.findAll();}
}

BookCategoryServiceTest.java:

package cn.edu.ncu.bootjpademo.service;import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.junit.runner.RunWith;@RunWith(SpringRunner.class)//直接使用spring容器
@SpringBootTest
class BookCategoryServiceTest {private final Logger logger = LoggerFactory.getLogger(this.getClass());@Autowiredprivate BookCategoryService service;@Testpublic void findAll() {logger.debug(service.findAll().toString());}
}

BookJpaDemoApplication.java:

package cn.edu.ncu.bootjpademo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class BootJpaDemoApplication {public static void main(String[] args) {SpringApplication.run(BootJpaDemoApplication.class, args);}
}

application.yml:


spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 数据库密码url: jdbc:mysql://localhost:3306/book?characterEncoding=utf-8&useSSL=falsejpa:show-sql: true
logging:level:cn.edu.ncu.bootjpademo: debug

数据库内容:在book_category表中已添加入数据

三、报错及解决方法


1、运行BootJpaDemoApplication.java文件(启动项目),发现报如下错误:

解决方案:

打开老师给的setting.xml文件,发现localRepository的路径是D盘,可是我没有D盘呀,问题就出现在这里。

查看maven的配置信息,把localRepository的路径修改为本地的路径(路径见下图),然后再导入这个setting.xml文件

2、再次运行 BootJpaDemoApplication.java文件(启动项目),发现报错:

这是一个看不懂的错误,但是注意到spring-context有两个版本,可能是这个原因导致的,故需要删除一个版本。

当删除低版本的spring-context的jar包之后,BootJpaDemoApplication.java能运行起来了,但是依旧会报错:

这很可能是由于重复导入,版本冲突引起的,因为在实验初始时,为了避免缺少某些jar文件,我把上一个实验的全部jar导进来了,却没有意识到重复导入可能会出错。在project-Structure的modules中查看导入的jar包,发现有许多重复的jar包,删除重复jar包,最终只需要额外导入黄框里面的两个包就可以了,其他的包在建项目的时候已经自动导入了。如下图:

四、运行结果


运行BookCategoryServiceTest可以正常查看到日志中的信息:

运行BootJpaDemoApplication,报错:当前的8080已经被占用(如果是第一次运行BootJpaDemoApplication的并不会报这个错误),解决方法如下:

再次运行,成功:

在postman中输入路径,可以查看到数据库中的信息:

啊!还好没放弃!调出来了!!!心情舒畅!Spring Boot还没有学,完全是在硬着头皮做实验!

以后绝不会从事网页的工作!!!(;´༎ຶД༎ຶ`)

【JavaWeb】IDEA中启动SpringBoot项目及解决相关报错问题相关推荐

  1. Eclipse中创建SpringBoot项目流程,及报错解决方案

    Eclipse中创建SpringBoot项目流程,及报错解决方案 参考文章: (1)Eclipse中创建SpringBoot项目流程,及报错解决方案 (2)https://www.cnblogs.co ...

  2. IDEA中启动SpringBoot项目时提示:“Error java:程序包xxx不存在”,但实际上是存在的

    场景 在IDEA中启动SpringBoot项目时提示: Error java: 程序包xxx不存在" 但是实际上这个包是存在的. 这个包是自己写的websocket的服务端和客户端的包,是存 ...

  3. Eclipse中新建WEB项目,JSP页面报错。

    在Eclipse中新建java web项目,在JSP页面的第一行提示这个错误: [The superclass "javax.servlet.http.HttpServlet" w ...

  4. 启动react项目时失败,报错Error: Cannot find module

    拷贝react项目到本地 npm run 运行项目时,报错Error: Cannot find module - 解决办法:一次性安装模块 sudo npm i 或者 先安装yarn,利用yarn安装 ...

  5. 写SpringBoot项目的时候,报错Ordinal parameter not bound

    文章目录 一.背景 二.解决 一.背景 使用JPA更新数据的时候,做Junit始终报错Ordinal parameter not bound,异常信息是 org.springframework.dao ...

  6. eclipse中导入maven项目时pom文件报错

    问题: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.a ...

  7. 关于springboot项目连接oracle数据库报错 ORA01017的改正

    拉取的项目本身用的是mysql数据库,改用orcl数据库,引入 驱动,连接时报ORA01017 ,确认用户名和密码是正确的.查看报错,之前有druid驱动,注释了就不报错了.

  8. SpringBoot项目测试时报NullPointException报错

    自己在写用户登录的时候 在test里面测试 发现控制台报了空指针错误 很奇怪自己哪里没有数据 想了想或许是那步没有get到数据 于是debug 运行在这一步程序空指针了 打开一看 在获取avatar是 ...

  9. 启动SpringBoot项目时,报程序包不存在或者找不到符号的错误

    启动SpringBoot项目时,报程序包不存在或者找不到符号的错误 我们使用idea新建SpringBoot项目时有时候会遇到这样的错误: 当启动主启动类时控制台报错,如下所示: Error:(3, ...

  10. 启动springboot项目 Error running ‘xxx‘

    1.java运行环境 OS:windows10 jdk:1.8 idea:2018 2.启动springboot项目 报Error running 'xxx' Error running 'xxx' ...

最新文章

  1. 如何从菜鸡变成收割机,大厂面试的算法,你懂了吗?
  2. Java的类装载器(Class Loader)和命名空间(NameSpace)
  3. td里面字体大小怎么改_王者荣耀战区怎么改到其他地方 2020荣耀战区修改方法...
  4. STC89C52单片机 数码管动态显示
  5. ORA-28001: the password has expired
  6. android Base64加密解密
  7. JDK synchronized的实现细节
  8. 爬虫 spider10——搭建elk平台,开发服务提供者
  9. 全场灭灯_海天黄豆酱《新相亲大会2》首遇滑铁卢,男嘉宾险遭全场灭灯
  10. make -j32 21 | tee show.log
  11. 大学计算机专业挂科人多吗,这几个专业真的是太难了,挂科率年年都是新高,很多人都后悔了...
  12. 利用Visual Studio Project自动将数据加载到SQL Server数据库中
  13. android java静态库,Android NDK开发相关知识集合
  14. mysql5.7 作为openstack的数据库添加bind-address 字段之后mysql不能起来
  15. OCaml已经做好iOS开发准备
  16. matlab java mac_macOS Mojave上Matlab 2018a与Java的联合编程
  17. 【转载】企业安全建设之数据库安全(中)
  18. CM311-3_YST_晨星MSO9385_2+8_安卓9.0_TTL免费升级固件
  19. python画圣诞帽_用Python就可以给你的头像戴上圣诞帽,别@微信团队了!
  20. Linux下parity联盟链的实现

热门文章

  1. 搭建邮件系统,采用sendmail+dovecot+openwebmail架构
  2. 补丁生成与应用工具 V1.5.4
  3. DiscuzNT改造系列之删除帖子后论坛版块列表同步更新
  4. 蓝桥杯 前缀判断——2013年省赛C/C++A组真题5
  5. linux 去掉csv文件第一行,使用PowerShell删除文本文件的第一行
  6. 接口与抽象类的相同点和不同点
  7. 少儿编程、软硬编程课件、创意Scratch的项目小游戏,可单独上一节课
  8. android 新版本gradle,Android:更新到新版本的gradle后出现“Manife...
  9. hbase put 写入数据慢_HBase运维 | HBase 疑难杂症诊治
  10. 单元格自适应宽度_Excel – 合并单元格时,如何同时保留每个单元格的内容?...