Spring Boot(3)---自定义spring boot starter 问题

1. "Failed to process import candidates for configuration class [com.simple.....]":

主要原因:

是因为自己定制的starter在打包时(package)用了spring-boot-maven-plugin,即在你的定制starter工程的pom.xml中有如下配置:

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

这样打出的包,就是按着spring boot的打包方式,Classpath设定,相对目录,资源目录等。当你用另一个spring boot项目使用这个定制的starter的jar包时。就会有问题 ,因为认为你这个starter是一个普通的jar包。

这样就无法找到你的类定义。

解决办法:

删除自定义starter中的pom.xml中的打包插件设置,采用缺省的jar打包方式。即可解决这个问题。

2.“java.lang.IllegalArgumentException: Not an managed type: class .... ”

根本原因:

是你用到的一些JPA,实体,及Repository类不是你spring boot启动文件所在的目录。导致JPA搜不到这些实体,Repository类。

解决办法:

在spring boot 的启动类中加入如下注解:

@EnableJpaRepositories("com.example.repository")//那些搜索不到的JPA相关的实体及Repository的包路径

@EntityScan("com.example.repository")

如果你用到了mongo的JPA还应该加上相对应的。

@EnableMongoRepositories("com.example.mongo")
@EnableJpaRepositories("com.example.repository")

@EntityScan("com.example.repository")

时间: 2024-11-10 13:01:52

Spring Boot(3)---自定义spring boot starter 问题的相关文章

小代学Spring Boot之自定义Starter

想要获取更多文章可以访问我的博客?-?代码无止境. 使用Spring Boot框架一段时间之后的小代同学,发现在Spring Boot项目中经常会引入各种各样的Starter,例如Web项目的spring-boot-starter-web以及集成MyBatis时的mybatis-spring-boot-starter.那么这个Starter到底是些什么呢? 什么是Starter 经过一番研究,小代同学了解到Starter主要是Spring Boot用来简化项目依赖的一种形式,比如spring-b

【spring】Spring Boot:定制自己的starter

概念 在学习Spring Boot的过程中,接触最多的就是starter.可以认为starter是一种服务--使得使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息,由Spring Boot自动通过classpath路径下的类发现需要的Bean,并织入bean 步骤 引入spring boot 的配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s

《02.Spring Boot连载:Spring Boot实战.Spring Boot核心原理剖析》

在上节中我们通过了一个小的入门案例已经看到了Spring Boot的强大和简单之处.本章将详细介绍Spring Boot的核心注解,基本配置和运行机制.笔者一直认为:精通一个技术一定要深入了解这个技术帮助我们做了哪些动作,深入理解它底层的运行原理,只有达到这个目标才可以熟练使用框架,最终达到融会贯通的目的. 一.启动类与@SpringBootApplication Spring Boot的项目一般都会有注解*Application标注的入口类,入口类中会有一个main方法,main方法是一个标准

使用 Spring Boot 快速构建 Spring 框架应用--转

原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2002 年发布以来,Spring 框架已经成为企业应用开发领域非常流行的基础框架.有大量的企业应用基于 Spring 框架来开发.Spring 框架包含几十个不同的子项目,涵盖应用开发的不同方面.如此多的子项目和组件,一方面方便了开发人员的使用,另外一个方面也带来了使用方面的问题.每个子项目都有一定

使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer

Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2002 年发布以来,Spring 框架已经成为企业应用开发领域非常流行的基础框架.有大量的企业应用基于 Spring 框架来开发.Spring 框架包含几十个不同的子项目,涵盖应用开发的不同方面.如此多的子项目和组件,一方面方便了开发人员的使用,另外一个方面也带来了使用方面的问题.每个子项目都有一定的学习曲线.开发人员需要了解这些子项目和组件的具体细节,才能知道如何把这些子项目整合起来形成一个完整的解决方案.在如何使用这些组件上

使用 Spring Boot 快速构建 Spring 框架应用

Spring Boot 的目的在于快速创建可以独立运行的 Spring 应用.通过 Spring Boot 可以根据相应的模板快速创建应用并运行.Spring Boot 可以自动配置 Spring 的各种组件,并不依赖代码生成和 XML 配置文件.Spring Boot 可以大大提升使用 Spring 框架时的开发效率. Why we choose Spring Boot ? Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2002 年发布以来,Spring 框架已经成为企业应

spring boot框架学习6-spring boot的web开发(2)

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用.spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义spring mvc的配置呢?这些我们在公司都需要用的.这些怎么解决呢?在接下来的小节详细讲解这些.好了,现在开启spring boot的web开发第一节 本节主要: 1:InternalResourceViewResolver讲解 2:自动配置静态

spring boot框架学习7-spring boot的web开发(3)-自定义消息转换器

本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用.spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义spring mvc的配置呢?这些我们在公司都需要用的.这些怎么解决呢?在接下来的小节详细讲解这些.好了,现在开启spring boot的web开发第一节 本节主要: 1:自定义消息转换器 本文是<凯哥陪你学系列-框架学习之spring boot框架

《01.Spring Boot连载:Spring Boot入门介绍》

1 Spring Boot的概述 Spring Boot是开发者和Spring 本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维:总的来说,其目的Spring Boot就是为了对Java web 的开发进行"简化"和加"快"速度,简化开发过程中引入或启动相关Spring 功能的配置.这样带来的好处就是降低开发人员对于框架的关注点,可以把更多的精力放在自己的业务代码上. 同时随着微服

Spring框架讲解,Spring Boot 学习指南

在过去两三年的 Spring 生态圈,最让人兴奋的莫过于 Spring Boot 框架.Spring Boot 应用本质上就是一个基于 Spring 框架的应用,它是 Spring 对"约定优先于配置"理念的最佳实践产物,它能够帮助开发者更快速高效地构建基于 Spring 生态圈的应用. 那 Spring Boot 有何魔法?自动配置.起步依赖.Actuator.命令行界面(CLI) 是Spring Boot 最重要的 4 大核心特性,本文将为你打开 Spring Boot 的大门,重