由于服务类错误,Spring Boot应用无法启动

时间:2018-06-23 06:18:13

标签: java spring spring-boot

我正在创建一个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。我要去哪里错了?这是一些配置问题吗?

1 个答案:

答案 0 :(得分:0)

@EnableAutoConfiguration正在扫描程序包中位于Controller下的spring组件,可能您的Controller不在根包中,因此上下文可能只包含看不到的组件(服务和存储库)。您应该在程序包的根目录中找到注释。

相关问题