spring-bean依赖注入-03
set注入:set注入地址
通過構(gòu)造方法進行注入
1.創(chuàng)建UserDao接口以及UserDaoImpl實現(xiàn)類(接口代碼省略)
2.創(chuàng)建UserService接口以及UserServiceImpl實現(xiàn)類(接口代碼省略)
public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {}public UserServiceImpl(UserDao userDao) {this.userDao = userDao;}@Overridepublic void sava() {userDao.save1();} }3.spring配置文件applicationContext.xml的操作
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="userDao" class="com.hao.dao.impl.UserDaoImpl"/><bean id="userService" class="com.hao.service.impl.UserServiceImpl"><constructor-arg name="userDao" ref="userDao"></constructor-arg></bean> </beans>其中的bean標(biāo)簽都是設(shè)置唯一標(biāo)識id和類位置,然后第二個bean標(biāo)簽中使用了子標(biāo)簽constructor-arg,name屬性是UserServiceImpl中的屬性值userDao
然后ref引用的是spring容器中第一個bean標(biāo)簽userDao的唯一標(biāo)識id
4.創(chuàng)建測試類-controller層
public class UserController {public static void main(String[] args) {ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");UserService service = (UserService) context.getBean("userService");service.sava();} }結(jié)果:sava running . . .
執(zhí)行流程,
1.加載配置文件,創(chuàng)建spring容器,在容器中創(chuàng)建UserService對象和UserDao對象--------》為什么還沒有從外部獲取UserService對象就創(chuàng)建了呢?請訪問鏈接:scope標(biāo)簽的作用
2.在spring容器中創(chuàng)建對象時,通過有參構(gòu)造進行注入,然后把對象賦給UserServiceImpl中的屬性UserDao
3.從容器中獲取UserService對象
4.調(diào)用方法
總結(jié)
以上是生活随笔為你收集整理的spring-bean依赖注入-03的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring-bean依赖注入-02(通
- 下一篇: spring-Bean依赖注入-》普通数