解决spring boot创建项目遇到配置的问题

目录
  • spring boot创建项目遇到配置的问题
    • 如下图所示
    • 需要修改sping运行时读取的地址
  • SpringBoot项目创建及一些常见问题处理
    • 1.先创建一个maven项目,确保可以正常使用
    • 2.定义同一版本的spring组件
    • 3.添加配置文件
    • 4.启动类
    • 5.启动项目

spring boot创建项目遇到配置的问题

今天在创建spring-boot时遇到一个读取不到application.properties的问题,正常是将此文件放在src/main/resouces的子目录下,但是有时候为了方便管理所以需要将位置转移。

如下图所示

此图中我是将文件放在src/main/resouces的propertiesConfig目录下,所以直接运行项目会找不到该文件,此时会报以下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.sql.DataSource org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.dataSource; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath.

需要修改sping运行时读取的地址

@PropertySource("classpath:propertiesConfig/Application.properties")

加上此注解就可以。此注解是加载application上的

对了,不知道为啥要在application这个类上加上@EnableAutoConfiguration这个注解

SpringBoot项目创建及一些常见问题处理

SpringBoot是个Spring和SpringMVC的整合升级版,通过配置文件中的注解可以省去大量的配置,减少配置代码,同时它自带了tomcat组件,省去了引入tomcat组件的步骤

所以SpringBoot项目如何创建?

1.先创建一个maven项目,确保可以正常使用

这里扯一句,有些时候maven项目创建后会报这样一个错:

这种的 我们就需要一个版本高于web Module 2.5的架构了↓

<?xml version="1.0" encoding="UTF-8"?>
CreateMaven
index.html index.htm index.jsp default.html default.htm default.jsp

然后在项目路径下的settings文件夹下找到这么个文件

打开,找到这么一句(此处我的版本号为2.3)

↑修改版本号为3.0

然后在pom文件添加这么一段

问题解决(此处finalName取决于项目)。

2.定义同一版本的spring组件

在pom文件中添加如下引用

org.springframework.boot
spring-boot-starter-parent
1.5.6.RELEASE

添加之后就会自动下载spring和springMvc相关的包了,之后也不需要再次引用spring和springMvc相关的jar包了,否则会出现jar包版本的冲突(具体效果为添加引用之后会以黄色波浪线在版本号下面提示警告)

其他的引用根据自己的需求添加。

3.添加配置文件

在更新项目后(alt+f5)在resources目录下添加一个配置文件(yml格式),具体样板百度一搜一大把,这里放一个我自己用的

可以发现这些配置都是原先ssm中的配置,现在通过这些注解就可以完成之前三个配置文件才能完成的配置,具体内容根据自己的进行修改即可。

关于log配置部分:记录日志的配置,具体配置↓

同样的丢进resources目录下

4.启动类

springboot本身整合了tomcat功能,那怎么去启动项目?

我们需要一个特殊的springboot启动类,可以理解为是一个main方法,当它运行时就启动了tomcat的功能。这个类因为启动时会加载当前目录及其子目录下的所有类,因此直接丢进项目根目录。具体写法如下

5.启动项目

写好之后clear项目,运行启动类。

这里有个小不同,springboot项目启动时不再需要写上项目名,直接写上端口/要访问的页面 即可,在原ssm项目中还需要写上项目名。

总结一下具体流程好了:运行启动类,启动了内置tomcat→通过启动类中的注解@MapperScan读取到Dao层→加载.yml配置文件,读取端口,建立数据库连接,再读取mapper文件等配置→Service、Controller层和spring流程一致→Service中通过自动装配记录了Dao层、Controller同样方法记录了Service层→Controller层连接前端,完成数据展示。

关于配置文件报错的问题:一般导入yml文件后其中的语句并不会提示报错,请自行下载适合当前eclipse版本的sts包,导入。另外常见的问题有注解的冒号之后需要有个空格、#为注释之类的问题,都会导致启动阶段报错,需要仔细排查。再有就是可能会出现jar包读取的问题导致冲突进而启动报错,此时可以考虑根目录jar包全部删除重新下载或者注释pom文件重新加载。

解决以上问题之后就可以愉快的开始写具体的项目逻辑了。以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • SpringBoot项目中遇到的BUG问题及解决方法

    1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 解决方法: 在yml配置文件中加入debug: true,因为默认的话是false 2.在集成mybatis时mapper包中的类没被扫描 org.springframework.beans.factory.NoSuchBean

  • 详解配置spring-boot-actuator时候遇到的一些小问题

    前言 spring-boot-actuator是一个spring-boot提供的用于监控组件,只需要在代码中加入依赖就可以了 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> 遇到的一些小问题 1.可以加入依赖 <dependenc

  • spring boot创建项目包依赖问题的解决

    今天捣腾了spring boot,按照官网案例,缺发现本地无论包依赖出现问题,并且无法启动,一整天在踩maven的坑,记录下这个血的教训. 1.spring-core依赖包问题 运行application,发现缺少依赖的spring-core包: 但是spring boot的包都是通过parent的starter引入的,通过mvn denpendency:tree查看项目的jar依赖信息:  发现spring-core依赖包是存在的,但是为什么运行的时候回报错找不到类. 倒腾了一个下午试过各种方

  • spring boot开发遇到坑之spring-boot-starter-web配置文件使用教程

    本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们知道Spring Boot支持容器的自动配置,默认是Tomcat,当然我们也是可以进行修改的: 1.首先我们排除spring-boot-starter-web依赖中的Tomcat:在pom文件中排除tomcat的starter <dependency> <groupId>org.springframework.boot</groupId> <

  • 解决spring boot创建项目遇到配置的问题

    目录 spring boot创建项目遇到配置的问题 如下图所示 需要修改sping运行时读取的地址 SpringBoot项目创建及一些常见问题处理 1.先创建一个maven项目,确保可以正常使用 2.定义同一版本的spring组件 3.添加配置文件 4.启动类 5.启动项目 spring boot创建项目遇到配置的问题 今天在创建spring-boot时遇到一个读取不到application.properties的问题,正常是将此文件放在src/main/resouces的子目录下,但是有时候为

  • 解决spring boot 1.5.4 配置多数据源的问题

    spring boot 已经支持多数据源配置了,无需网上好多那些编写什么类的,特别麻烦,看看如下解决方案,官方的,放心! 1.首先定义数据源配置 #=====================multiple database config============================ #ds1 first.datasource.url=jdbc:mysql://localhost/test?characterEncoding=utf8&useSSL=true first.datasou

  • 解决IDEA使用Spring Initializr创建项目时无法连接到https://start.spring.io的问题

    IDEA使用Spring Initializr创建项目时报错 但在浏览器中输入https://start.spring.io能正常访问. 解决方式 点击"Check connection"测试一下配置,输入 https://start.spring.io  ,提示连接成功,就说明弄好了. 到此这篇关于解决IDEA使用Spring Initializr创建项目时无法连接到https://start.spring.io的问题的文章就介绍到这了,更多相关IDEA使用Spring Initia

  • 解决Spring Boot项目端口8080被占用的问题

    错误提示: 2018-11-12 21:25:58.422 ERROR 15916 - [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : APPLICATION FAILED TO START Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or t

  • 解决Spring Boot 正常启动后访问Controller提示404问题

    问题描述 今天重新在搭建Spring Boot项目的时候遇到访问Controller报404错误,之前在搭建的时候没怎么注意这块.新创建项目成功后,作为项目启动类的Application在com.blog.start包下面,然后我写了一个Controller,然后包的路径是com.blog.ty.controller用的@RestController 注解去配置的controller,然后路径也搭好了,但是浏览器一直报404.最后找到原因是Spring Boot只会扫描启动类当前包和以下的包 ,

  • 解决Spring Boot 多模块注入访问不到jar包中的Bean问题

    情景描述 一个聚合项目spring-security-tutorial,其中包括4个module,pom如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mav

  • Spring Boot两种全局配置和两种注解的操作方法

    目录 零.学习目标 一.全局配置文件概述 二.Application.properties配置文件 1.配置tomcat端口号和web虚拟路径 2.对象类型的配置与使用 3.两种属性注解方式的对比 三.Application.yaml配置文件 四.两种配置文件的比较 五.课后作业 零.学习目标 1.掌握application.properties配置文件 2.掌握application.yaml配置文件 3.掌握使用@ConfigurationProperties注入属性 4.掌握使用@Valu

  • Spring Boot创建非可执行jar包的实例教程

    我们经常会有这种场景,只需要把Spring Boot打成普通的jar包,不包含配置文件,供其他程序应用 本文介绍如何使用Maven将Spring Boot应用打成普通的非可执行jar包. 配置maven-jar-plugin <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugi

  • 使用Spring Boot创建Web应用程序的示例代码

    在这篇文章中,我们将探讨使用Spring Boot创建Web应用程序的细节. 我们将探索Spring Boot如何帮助你加速应用程序开发. 我们将使用Spring Boot构建一个简单的Web应用程序,并为其添加一些有用的服务. 1. 介绍 启动一个新项目的主要挑战之一是该项目的初始设置. 我们需要对不同的目录结构进行调用,并且需要确保我们遵循所有行业标准.对于使用Spring Boot创建Web应用程序,我们需要以下工具: 我们自己喜欢的IDE (我将使用IntelliJ) Maven JDK

随机推荐