我正在创建一个Spring Boot应用程序以将数据插入H2 DB。但是应用程序并未启动。我收到一些bean错误。我是创建Spring应用程序的新手,无法解决此错误。
我已经创建了如下所示的模型类
@Entity
@Table(name = "DEPENDENCY_ANYWHERE")
public class DepedencyAnywhere implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "PACKAGE")
private Long packageId;
@Column(name = "DEPENDENT_PACKAGE")
private Long depedencyPackageId;
public DepedencyAnywhere() {
}
/**
* @return the packageId
*/
public Long getPackageId() {
return packageId;
}
/**
* @return the depedencyPackageId
*/
public Long getDepedencyPackageId() {
return depedencyPackageId;
}
}
Dao类,如下所示
@Repository
public class DependencyAnywhereDao {
@PersistenceContext
private EntityManager em;
public void add(DepedencyAnywhere depedentPackages) {
em.persist(depedentPackages);
}
public DepedencyAnywhere getDepedendentPackage(Long packageId) {
return em.find(DepedencyAnywhere.class, packageId);
}
}
我创建了如下所示的服务类
@Service
@Transactional
public class DependencyAnywhereService {
@Autowired
private DependencyAnywhereDao dependencyAnywhereDao;
public void add(DepedencyAnywhere depedentPackage) {
dependencyAnywhereDao.add(depedentPackage);
}
}
这是我的控制器类
@RestController
@EnableAutoConfiguration
public class APIRestController {
@Autowired
DependencyAnywhereService dependencyAnywhereService;
@RequestMapping("/insert")
public String insert() {
DepedencyAnywhere dependencyAnywhere = new DepedencyAnywhere();
dependencyAnywhereService.add(dependencyAnywhere);
return "Success";
}
}
此应用程序尚未启动,并且出现
之类的错误com.hpe.oss.installer.controller.APIRestController中的字段dependencyAnywhereService需要找不到类型为“ com.hpe.oss.installer.service.DependencyAnywhereService”的bean。我要去哪里错了?这是一些配置问题吗?
答案 0 :(得分:0)
@EnableAutoConfiguration正在扫描程序包中位于Controller下的spring组件,可能您的Controller不在根包中,因此上下文可能只包含看不到的组件(服务和存储库)。您应该在程序包的根目录中找到注释。