spring-bean依赖注入-03
set注入:set注入地址
通過(guò)構(gòu)造方法進(jìn)行注入
1.創(chuàng)建UserDao接口以及UserDaoImpl實(shí)現(xiàn)類(lèi)(接口代碼省略)
2.創(chuàng)建UserService接口以及UserServiceImpl實(shí)現(xiàn)類(lèi)(接口代碼省略)
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)識(shí)id和類(lèi)位置,然后第二個(gè)bean標(biāo)簽中使用了子標(biāo)簽constructor-arg,name屬性是UserServiceImpl中的屬性值userDao
然后ref引用的是spring容器中第一個(gè)bean標(biāo)簽userDao的唯一標(biāo)識(shí)id
4.創(chuàng)建測(cè)試類(lèi)-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對(duì)象和UserDao對(duì)象--------》為什么還沒(méi)有從外部獲取UserService對(duì)象就創(chuàng)建了呢?請(qǐng)?jiān)L問(wèn)鏈接:scope標(biāo)簽的作用
2.在spring容器中創(chuàng)建對(duì)象時(shí),通過(guò)有參構(gòu)造進(jìn)行注入,然后把對(duì)象賦給UserServiceImpl中的屬性UserDao
3.從容器中獲取UserService對(duì)象
4.調(diào)用方法
總結(jié)
以上是生活随笔為你收集整理的spring-bean依赖注入-03的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring-bean依赖注入-02(通
- 下一篇: spring-Bean依赖注入-》普通数