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所在的包