我必须域名包com.domain.app和net.domain.app,MyApplication其中@SpringBootApplication在com.domain.app中,但我现在在net.domain.app中实现新的东西
我有@Service,它工作得很好,但随着@Repository的添加,我不得不添加@EnableJpaRepositories(basePackages = {”com.domain.app“,“net.domain.app“})来解决错误,下一个问题是@Entity。
我在第二个域包名称上得到这个错误,似乎找不到带有@Entity的托管bean。
你知道为什么会发生这种情况以及如何解决吗?
org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'userService': Unsatisfied dependency expressed through field 'repo';
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'userRepository' defined in net.conselldemallorca.sirh.business.security.boundary.UserRepository defined in @EnableJpaRepositories declared on MyApplication:
Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class net.domain.app.security.entity.User
...
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'userRepository' defined in net.domain.app.security.boundary.UserRepository defined in @EnableJpaRepositories declared on MyApplication:
Invocation of init method failed; nested exception is java.lang.IllegalArgumentException:
Not a managed type: class net.domain.app.security.entity.User
...
Caused by: java.lang.IllegalArgumentException:
Not a managed type: class net.domain.app.security.entity.User
字符串
MyApplication.java
package com.domain.app;
@SpringBootApplication
@ComponentScan(basePackages = {"com.domain.app", "net.domain.app"})
@EnableJpaRepositories(basePackages = {"com.domain.app", "net.domain.app"})
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
型
UserRepository.java
package net.domain.app.security.boundary;
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
...
}
型
UserService.java
package net.domain.app.security.boundary;
@Service
@Transactional(rollbackFor = Throwable.class)
public class UserService implements UserServiceable {
@Autowired
UserRepository repo;
...
}
型
User.java
package net.domain.app.security.entity;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Objects;
...
@Entity
@Table(name = "USER")
public class User implements Serializable {
...
}
型
1条答案
按热度按时间b1uwtaje1#
它应该与您要搜索的域包一起添加@ BattyScan。
MyApplication.java
字符串