Spring MVC中的依赖注入?

时间:2016-04-21 23:30:11

标签: spring spring-mvc dependency-injection

我正在尝试在Spring MVC Web应用程序中使用依赖注入。我在我的控制器中有这样的功能

with open('example.txt') as f:
    for line in f:
        items = line.split()
        print(items[0], ' '.join(items[-3:]))

我想依赖注入StockDaoImpl。你能告诉我怎么做吗?我一直试图阅读,但大多数解释都非常复杂。我应该使用@Autowired吗?我应该把它放在哪里?你能帮忙吗?

3 个答案:

答案 0 :(得分:2)

您可以通过Controller的构造函数

注入它
class YourController{

  private final StockDao dao;

  @Autowired 
  public YourController(StockDao dao){
    this.dao = dao;
  }
} 

现在必须将StockDaoImpl定义为Bean

@Bean
public StockDao stockDao(){
  return new StockDaoImpl();
}

另一种方法是将StockDaoImpl定义为Component

答案 1 :(得分:0)

在Spring配置文件中添加以下配置(例如root-context.xml)

然后在你的控制器中,你喜欢下面的代码

class TestController {

@Autowired 私人StockDao stockDao;

}

答案 2 :(得分:0)

  

使用spring-4,你可以用给定的方式直接注入

@Autowired
private StockDao stockDao;

public @ResponseBody Stock stockGoogle(Locale locale, Model model) {    

    //al=s.listCurrent(id);
    Stock s = stockDao.listGoogle();
    System.out.println("reached here");
    model.addAttribute("s", s );        
    return s;

}

这里

  • StockDao将包含方法签名
  • StockDaoImpl实现了StockDao和方法的定义
  • Autowired会注入Dao,你可以使用它的方法。