Java 在SpringMVC中无法从单独的服务包中找到bean
我得到的错误是没有这样的定义异常, 我目前正在开发一个web应用程序,用于集成一些DB功能。 我的结构如下Java 在SpringMVC中无法从单独的服务包中找到bean,java,spring,eclipse,spring-mvc,autowired,Java,Spring,Eclipse,Spring Mvc,Autowired,我得到的错误是没有这样的定义异常, 我目前正在开发一个web应用程序,用于集成一些DB功能。 我的结构如下 domain.mainpackage +ControllerClass +SomeOtherClass domain.DAOpackage +someDAOClass +someDAOimpl domain.service +MainService +MainServiceImpl 我遇到的问题是,控制器在构建应用程序时无法找到MainSe
domain.mainpackage
+ControllerClass
+SomeOtherClass
domain.DAOpackage
+someDAOClass
+someDAOimpl
domain.service
+MainService
+MainServiceImpl
我遇到的问题是,控制器在构建应用程序时无法找到MainServiceClass的bean(请参阅下面的错误)
我已经将我的实现类注释为@Service
@Service
public class MainServiceImpl implements someDAOClass{
@Autowired
private someDAOClass someDAOClass1;
@Transactional
public list<someDAOClass> getSomeDAOClass(){
//return statement here
}
}
@服务
公共类MainServiceImpl实现了someDAOClass{
@自动连线
私有的somedao类somedao类1;
@交易的
公共列表getSomeDAOClass(){
//返回语句在这里
}
}
此外,我的DAO类被注释为@Repository,非事务性。昨天我只用了一把刀就达到了预期的效果,但是现在我做了一些改变,我不知道为什么它不能一起工作
我曾尝试在我的控制器上使用@ComponentScan,以防万一,但那是徒劳的。
由于我使用的是STS(Eclipse),似乎无法创建根包并将控制器作为另一篇SO文章中建议的解决方案保留在那里。因此,除了在system explorer中更改体系结构之外,我正在寻找其他解决方案。您的服务实现类应该实现服务,而不是DAO
@Service
public class MainServiceImpl implements MainService {
您应该定义bean,例如:
@Bean
public MainService mainService(){
return new MainServiceImpl ();
}
错误是
没有“domain.service.MainService”类型的合格bean可用
MainServiceImpl是someDAOClass,而不是MainService。因此,您应该实施MainService。不用担心,包括控制器上的组件扫描解决了问题,谢谢您的回答。不用担心,包括控制器上的组件扫描解决了问题,谢谢您的回答。
@Bean
public MainService mainService(){
return new MainServiceImpl ();
}