Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Bean创建中的Spring问题

Bean创建中的Spring问题
EN

Stack Overflow用户
提问于 2018-09-17 15:44:00
回答 2查看 73关注 0票数 1

我遇到了一个问题,在服务器启动时,定义的存储库没有被正确地解释为bean。带有@SpringBootApplication的类位于比定义的存储库更高的目录中,因此我无法找到它为什么不配置。

@SpringBootApplication:

代码语言:javascript
运行
AI代码解释
复制
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.Properties;

@SpringBootApplication
public class DemoApplication {

public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
    System.out.println("http://localhost:8080");
}
}

存储库

代码语言:javascript
运行
AI代码解释
复制
package lab14.panoslab.Repositories;

import lab14.panoslab.Models.Account;
import org.apache.catalina.User;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserRepository extends JpaRepository<Account,Long> {
    @NotFound(action = NotFoundAction.IGNORE)
List<User> findByUsername(String username);
}

错误码:

*申请启动失败* 描述: 字段userRepository在lab14.panoslab.Controllers.RegisterController中需要一个无法找到的'lab14.panoslab.Repositories.UserRepository‘类型的bean。 操作: 考虑在您的配置中定义'lab14.panoslab.Repositories.UserRepository‘类型的bean。 进程已完成,退出代码为%1

EN

回答 2

Stack Overflow用户

发布于 2018-09-18 00:00:58

您确定您的类Account实现了接口User吗?

并尝试删除注释@Repository,并在您的DemoApplication类中添加注释@EntityScan@EnableJpaRepositories

代码语言:javascript
运行
AI代码解释
复制
@SpringBootApplication
@EntityScan({"lab14.panoslab.Models"})    
@EnableJpaRepositories({"lab14.panoslab.Repositories"})
public class DemoApplication {...}

另外,我建议您将所有包重命名为小写,并返回一个值List<Account>,而不是List<User>

票数 0
EN

Stack Overflow用户

发布于 2018-09-18 01:04:26

我确实面临着类似的问题。我所犯的错误是,我将控制器/存储库和其他组件包放置在主类包之外。因此,Spring引导无法识别我的组件,

For Ex:主类包是包com.example.demo;

控制器包,如,包com.example.controller;

存储库包,如,包com.example.repository;

下面的是解决这个问题的两种不同方法--

在@ComponentScan中显式定义我的组件包,如@ComponentScan(basePackages="com.example.controller,com.example.repository")中包含所需组件的基本包。

否则,您可以在主包中创建Controller/存储库包。因此,您不需要定义@ComponentScan和所有这些。为了前夫,

主类包是包com.example.demo;

控制器包,如,包com.example.demo.controller;

存储库包,如,包com.example.demo.repository;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52377020

复制
相关文章
Spring的并发问题——有状态Bean和无状态Bean
**有状态会话bean** :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。简单来说,有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象 ,可以保存数据,是**非线程安全**的。
小马哥学JAVA
2022/11/16
1.3K0
Spring bean 加载顺序导致的 bug 问题
今天启动 spring boot 项目的时候,有时候会报加载不到配置文件的属性。配置文件的属性是用 @Value 获取的,属性有时候会是 null 。
create17
2020/11/13
6.8K0
Spring bean 加载顺序导致的 bug 问题
Spring 多线程下注入bean问题
问题 Spring中多线程注入userThreadService注不进去,显示userThreadService为null异常 代码如下: public class UserThreadTask implements Runnable { @Autowired private UserThreadService userThreadService; @Override public void run() { AdeUser user = userThrea
java404
2018/05/18
1.9K0
Spring中Bean及@Bean的理解
1、Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化);
Java编程指南
2019/08/02
1.1K0
spring Bean
偶然看到BeanDefinition类后,我思索spring解析<bean>标签后生成了什么类的对象?它是怎么做到钩子函数的,是回调函数,还是用了动态代理机制?BeanDefinition和@Bean有什么关系吗?
平凡的学生族
2019/05/25
5270
Spring 中的 Bean
单例 bean 存在线程问题,主要是因为当多个线程操作同一个对象的时,对这个对象的非静态成员变量的写操作,会存在线程安全问题。
happyJared
2019/09/24
5660
Spring Bean的加载
不等bean创建完成就会将创建bean的ObjectFactory提早曝光加入到缓存中。
WindWant
2020/09/11
3770
探究Spring中Bean的线程安全性问题
  今天同事笑嘻嘻的凑过来,问了我一个问题:spring中的bean是线程安全的吗?。我内心一想肯定是安全的,毕竟这样多项目在用。但是转念一想,他那贱兮兮的表情,多半是在给我挖坑。于是我自信的回答他:不安全。他反问,你确定😏?
不一样的科技宅
2023/09/01
2720
探究Spring中Bean的线程安全性问题
Spring消息监听器无法注入bean的问题
在activemq的监听器中,通过注解@Autowired或@Resource注入bean时,获取到的bean为null。调用该bean的方法时会报空指针异常。
架构师小跟班
2019/08/06
1.8K0
Spring消息监听器无法注入bean的问题
浅谈 Spring 如何解决 Bean 的循环依赖问题
通俗来讲,循环依赖指的是一个实例或多个实例存在相互依赖的关系(类之间循环嵌套引用)。
程序猿川子
2023/04/07
7970
Spring 是如何解决 Bean 的循环依赖问题的?
在使用 Spring 进行开发的过程中,很容易遇到 Bean 的循环依赖问题。简单来说,当两个或多个 Bean 之间存在相互依赖关系时,就会出现循环依赖问题。例如,Bean A 依赖于 Bean B,而 Bean B 又依赖于 Bean A,这种情况就会导致循环依赖问题。
网络技术联盟站
2023/06/01
4580
spring中的Bean (@Bean、@Configuration和@TestConfiguration)
bean在spring中可以理解为一个对象。理解这个对象需要换一种角度,即可将spring看做一门编程语言,@Bean是spring语言声明对象的标识。
平凡的学生族
2019/05/25
2K0
spring的bean的注解
bean可以xml配置,也可以采用注解,注解更加简单,注解也需要配置相关的xml文件。因为bean的装配,采用注解和使用配置不同,所以注解的schema和命名空间都不一样。
热心的社会主义接班人
2018/09/30
7860
【Spring】Spring常用配置-Bean的Scope
Scope(范围)描述的是Spring容器如何新建Bean的实例的。可以简单的理解成Bean的作用范围! Spring的Scope有以下的几种,可以通过@Scope注解来实现。
谙忆
2021/01/21
4330
【Spring】Spring常用配置-Bean的Scope
spring 配置bean[通俗易懂]
在spring IOC容器读取Bean配置创建Bean实例之前。必须对它进行实例化。仅仅有在容器实例化后,才干够从IOC容器里获取Bean实例并使用
全栈程序员站长
2022/07/07
4230
spring 配置bean[通俗易懂]
Spring bean循环依赖问题,与解决方案。
        我们知道 Spring 可以是懒加载的,就是当真正使用到 Bean 的时候才实例化 Bean。当然也不全是这样,例如配置 Bean 的 lazy-init 属性,可以控制 Spring 的加载时机。现在机器的性能、内存等都比较高,基本上也不使用懒加载,在容器启动时候来加载bean,启动时间稍微长一点儿,这样在实际获取 bean 供业务使用时,就可以减轻不少负担,这个后面再做分析。 我们使用到 Bean 的时候,最直接的方式就是从 Factroy 中获取,这个就是加载 Bean 实例的源头。
kinbug [进阶者]
2019/03/12
1.4K0
spring bean配置
理解spring中的BeanFactory和FactoryBean的区别与联系指出两点:
平凡的学生族
2019/05/25
4750
Spring中Bean的细节
第二种方式:如果某个类在别人写的jar包中 无法通过修改源代码 使用默认构造函数时
暴躁的程序猿
2022/03/23
3180
Spring中Bean的细节
Spring中bean的scope
Spring容器中的bean具备不同的scope,最开始只有singleton和prototype,但是在2.0之后,又引入了三种类型:request、session和global session,不过这三种类型只能在Web应用中使用。
阿杜
2018/08/06
5670
Spring中bean的scope
点击加载更多

相似问题

spring bean创建中的spring核心问题

10

Bean创建中的Spring - StackOverflowError

23

Spring - Bean创建中的奇怪错误

20

Spring contextloaderlistener在bean创建中的作用

24

JSF(MVC框架),带有Spring依赖注入问题( Bean创建中的例外)

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文