当我试图在SpringMVC中使用依赖注入时,我遇到了这个错误。
没有匹配的类型[com.sachin.dao.斯托克道]的bean找到依赖项:预计至少有1 bean有资格作为该依赖项的自动连接候选。依赖注释:{};嵌套异常是org.springframework.beans.factory.NoSuchBean定义异常:没有找到类型[com.sachin.dao.Stock道]的匹配bean的依赖项:预期至少有1 bean有资格作为该依赖项的自动连接候选。依赖项注释:{}
我想我在注释中犯了一些错误。我基本上是想把StockDaoImpl注入我的掌上电脑。
@Controller
public class HomeController {
private final StockDao dao;
@Autowired
public HomeController(StockDao dao){
this.dao = dao;
}
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
return "home";
}
@RequestMapping(value = "/stockgoogle/", method = RequestMethod.GET)
public @ResponseBody Stock stockGoogle(Locale locale, Model model) {
//StockDaoImpl si = new StockDaoImpl();
Stock s=dao.listGoogle();
System.out.println("reached here");
model.addAttribute("s", s );
return s;
}
我已经创建了一个配置文件BeanConfiguration,并使用它来创建bean
@Configuration
public class BeanConfiguration {
@Bean
public StockDao stockDao(){
return new StockDaoImpl();
}
}
我有StockDaoImpl来实现我的数据检索。
public class StockDaoImpl implements StockDao {
@Override
public Stock listGoogle() {
Connection con = null;
Stock s = null;
try {
Class.forName("org.postgresql.Driver");
con = DriverManager
.getConnection("jdbc:postgresql://localhost:5432/webapp",
"postgres", "sachin");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM \"public\".\"Historical\" " );
rs.next();
String name = rs.getString("Name");
s = new Stock(name);
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return s;
}
}
以上是实现以下接口:
public interface StockDao {
public Stock listGoogle();
}
我错过了什么吗。还有没有其他的注释需要我写。或者在别的地方。我不确定是否正确创建了配置类。你能帮忙吗?
您需要指向您的配置类。要从另一个Java配置类(例如,在BeanConfiguration类中)执行此操作,请添加:
@ComponentScan(basePackages="com.sachin")
问题内容: 经过几天的尝试并在springsource论坛上等待答案,我将在这里尝试。运行我的应用程序会导致以下异常: 这是相关的代码 应用程序上下文: com.example.my.entities.user: 服务: 问题答案: 可能有多种原因导致这种情况,我没有费心检查你的整个存储库,因此在这里我不知所措。 首先,如果你使用注释进行配置,则可能会从实现中丢失注释(@Service或@Comp
当我试图在Spring MVC项目中使用@autowire,@配置,@bean,@Repository时,我得到了这个错误 无法自动关联字段:专用com。萨钦。刀。斯托克道尔公司。萨钦。我的应用程序。家庭控制器。斯托克道; 嵌套的异常是org。springframework。豆。工厂NoSuchBeanDefinitionException:找不到依赖项类型为[com.sachin.dao.Sto
我正在运行一个JUnit测试,嗯,我的Spring启动项目,我是这样写的: 找到依赖项[com.br.suppcomm.ocp.dao.logindao]得[com.br.suppcomm.ocp.dao.logindao]:需要至少1个具有此依赖项自动候选资格得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(
我正在尝试运行批处理,但无法将batchservice注入其中。 BatchApplication.java LeaveAllocationJobConfiguration.java 我该如何解决这个问题?
我有测试Spring Data JPA的示例测试程序,但看起来存储库没有生成。 我的配置: 用户实体:
我和我的朋友正在做一个Java maven项目,它的设置和我们从Git得到的项目是一样的。在我的设置中,Maven正确地导入了所有依赖项,但对于我的朋友,它找不到任何依赖项。 我们尝试过的事情: 右键单击project,单击maven并单击Reimport。 我们都可以上网,所以这也不是问题。而且,Maven在IntelliJ中设置为自动导入。