Spring的依赖注入方式(set及constructor)

Bean的依赖注入方式:

  • set方法注入
    P命名空间注入本质也是set方法注入,但比起上面的set方法进行注入更加方便,主要体现在配置文件中,如下:
    首先,引入P命名空间:
    xmlns:p="http://www.springframework.org/schema/p"
    其次,需要修改注入方式:
    <bean id="userService" class="com.my.service.UserImplService" p:userDao-ref="userDao"/>
  • 无参构造方式配置
public class UserImplService implements UserService {
    private UserDao userDao;

    public UserImplService() {
    }

    public UserImplService(UserDao userDao) {
        this.userDao = userDao;
    }
    /*    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }*/

    @Test
    public void save() {
        userDao.save();
    }
}

XML配置

 <bean id="userService" class="com.my.service.UserImplService">
        <!--这里的name是构造函数里面的参数userDao ref为容器中Bean的ID-->
        <constructor-arg name="userDao" ref="userDao"></constructor-arg>
 </bean>

注意:

<!--这里的name是构造函数里面的参数userDao ref为容器中Bean的ID-->
 <constructor-arg name="userDao" ref="userDao"></constructor-arg>

测试

public class UserDemo {

    @Test
    public  void mytest(){
        ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserService userDao1 = (UserService) application.getBean("userService");
        userDao1.save();
    }
}

posted @ 2021-11-26 12:05  不会笑的孩子  阅读(63)  评论(0编辑  收藏  举报