1. 程式人生 > >SpringMVC Dao層注入到Service層,Service層注入到controller層及相關XML

SpringMVC Dao層注入到Service層,Service層注入到controller層及相關XML

1 本人新手,剛開始學習SringMVC框架,需要各個層之間的注入。

舉個例子:

最初,在dao層實現service的方式是,new出來一個(每個方法都要new一次)。

IServiceImpl service =new IServiceImpl();

service.fill();//fill是我服務中的方法

 完成注入之後,每個方法使用service如下:

service.fill();//service提前聲明瞭。下面會宣告

2 Service層注入到controller層

首先在Service的實現類中新增如下程式碼:

@Service("Service")//要新增的
public class IServiceImpl implements IService { //這是我的service實現類

然後,在controller類中新增如下程式碼:

public class Testcontroller {//這是我的controller實現類
     @Autowired//要新增的
     @Qualifier("Service")//要新增的
    private IServiceImpl service;//要新增的,這是上文提及的宣告

接下來你在controller的方法中就可以直接使用:

service.fill();//fill是我服務中的方法

3Dao層注入到Service層

和 "Service層注入到controller層

"樣式差不多

在Dao實現類上面加入:

@Repository(value="userDao")//要新增的

public class IDaoImpl implements IDao {//我的Dao層實現類

然後在Service實現類中新增:

public class IServiceImpl implements IService {//這是我的service實現類
     //@Autowired
     @Resource(name = "userDao")//要新增的

4 XML檔案的設定(需要新增的那一行)

Spring-dao.xml

 <context:compoSpring-mvc.xmlnent-scan base-package="com.test.dao.impl"/>//com.test.dao.impl是我的IDaoImpl所在的包

Spring-service.xml

 <context:component-scan base-package="com.test.service.impl"/>//com.test.service.impl是我的IServicempl所在的包

當然,你也在你的Spring-mvc.xml中填入下面的話,也是OK的,目的是為了將你包中的類掃描出來

 <context:component-scan base-package="com.testl"/>//com.test.dao.impl是我的IDaoImpl所在的包