文档章节

SpringBoot 多模块 自动装载(@Autowired)

Geeyu
 Geeyu
发布于 2017/05/18 16:55
字数 295
阅读 433
收藏 5

之前花了一个周写了一个springboot的demo,主要整合了swagger,spring data jpa,还有一些切面日志的应用。

后来直接用来做项目,在写设计文档的时候绞尽脑汁分了好几个模块,为了更好的解耦和扩展。于是就把demo拆成了多个maven模块,但随即就出现了问题,花了一天时间解决。好伤。

各个模块:

解决方案:

@SpringBootApplication
@ComponentScan(basePackages = {"cn.kl.eds.web", "cn.kl.eds.service"})
@EnableJpaRepositories(basePackages = "cn.kl.eds.dao")
@EntityScan(basePackages = "cn.kl.eds.entity")
public class App{

	//发射App
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}

}

 

问题一:无法装载service中的@Service

        App启动类使用 @ComponentScan

主要原理是,@SpringBootApplication这个注解包括了@ComponentScan,但它默认是扫描App.class所在的包,所以,需要显示扫描指定的包。

 

问题二:无法装载 spring data jpa 的接口,如UserRepo

        App启动类使用 @EnableJpaRepositories

@Repository
public interface UserRepo extends JpaRepository<User, Integer> {
    @Override
    @Query("select u from #{#entityName} u where u.id = ?1")
    User findOne(Integer id);
}

    

问题三:可以装载jpa接口了,但是实体类 "Not a managed type"

        App启动类使用 @EntityScan

我是在下面的评论中看到的,整个过程差点疯掉 -_-

© 著作权归作者所有

共有 人打赏支持
Geeyu
粉丝 2
博文 56
码字总数 30168
作品 0
昌平
恒宇少年/spring-boot-chapter

简书整套文档以及源码解析 专题 专题名称 专题描述 001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件 002 Spring Cloud 核心技术 对Spring Cloud核心技术全面讲解 003 Quer...

恒宇少年
04/19
0
0
springBoot 搭建web项目(前后端分离,附项目源代码地址)

概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端分离,利用ajax交互。 前端html 技术: + + + + 该项目git地址:https://github.com/jiangcaijun/sp...

开源小菜鸟2333
2017/11/01
0
0
idea搭建springboot maven多模块项目

大家好我想搭建一个spring boot的多模块项目,比如: demo-parent demo-dao demo-entity demo-service demo-web 每一个都是一个spring boot的项目,如果我想设置数据库连接:是不是在dao的模...

樱木花道VS康
06/25
0
0
Spring Boot的@Service和@Autowired和@ComponentScan注解

Spring Boot的@Service和@Autowired和@ComponentScan注解 SpringBoot项目的Bean装配默认规则是根据Application类(SpringBoot项目入口类)所在的包位置从上往下扫描,即只扫描该类所在的包及...

蓝色老鼠
06/01
0
0
spring boot 中@Autowired注解无法自动注入的错误

spring boot 中@Autowired注解无法自动注入的错误 SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描!“Application类”是指SpringBoot项目入口类。这个类的位...

来来来来来
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
10
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
15
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
20
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
13
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部