gpt4 book ai didi

java - Beancreationexception+NosuchBeandefinition异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:56:58 37 4
gpt4 key购买 nike

我正在使用 SpringBoot 开发 Spring 4 应用程序。

在com.test.tm包中,
应用类:

@SpringBootApplication   
@EnableJpaRepositories( repositoryFactoryBeanClass = GenericRepositoryFactoryBean.class )
@Import( { HikariDataSourceConfig.class } )
public class Application {
public static void main( String[] args )
{
SpringApplication.run(Application.class, args);
}
}

在com.test.tm.entities包中,
用户类别:

@Table( name = "test.user" )
@Entity
public class User implements Serializable {
@Id
@GeneratedValue( strategy = GenerationType.AUTO )
private Integer id;
private String message;
....
}

在com.test.tm.user
用户服务类:

@Service
@Transactional( rollbackFor = Exception.class )
public class UserService {

@Autowired
private GenericRepository<User, Serializable> gr;

public User saveEntity( User usr )
{
return gr.save(usr);
}

public String getUser()
{
//Get User logic
}
}

通用资源库.java:

@NoRepositoryBean
public interface GenericRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID> {
public List<T> findByNamedQuery( String name );
public List<T> findByNamedQueryAndParams( String name, Map<String, Object> params );
}

还有一个 GenericRepositoryImpl.java 以及实现上述方法逻辑的地方。

在运行 Application.java 时,出现以下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.test.utils.spring.repo.GenericRepository com.test.tm.user.UserService.gr; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type[com.test.utils.spring.repo.GenericRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency.Dependency annotations: {@ org.springframework.beans.factory.annotation.Autowired(required = true) }
  1. 没有我定义的名为 userService 的变量,但它仍然显示错误。
  2. 任何我能解决上述问题的方法。

最佳答案

广告。 1.Spring 使用默认名称创建 userService bean,如 documentation 中所示.

广告。 2. 当然,我没有起诉,但也许 GenericRepositoryImpl 不在com.test.tm 包?如果是,则使用适当的包声明指定额外的 @ComponentScan 注释,即 @ComponentScan("com.test.utils"),或者 - 如果您使用 Boot 1.3+ -修改@SpringBootApplication(scanBasePackages={"com.test.utils","com.test.tm"})

关于java - Beancreationexception+NosuchBeandefinition异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33494346/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com