当前位置:   article > 正文

Spring依赖注入的两种方式(set方法和构造器)_private usermapper usermapper;

private usermapper usermapper;

个人对依赖和注入的理解

依赖:一个bean的内部含有其他bean,这个bean依赖于内部的bean运行

注入:对一个bean内部的bean进行注入

1.set方法注入

实现类源码:

  1. public class UserMapperImpl implements UserMapper {
  2. @Override
  3. public void save() {
  4. System.out.println("user mapper save()...");
  5. }
  6. }
  1. public class UserServiceImpl implements UserService {
  2. private UserMapper userMapper;
  3. @Override
  4. public void save() {
  5. System.out.println("user service impl save()...");
  6. userMapper.save();
  7. }
  8. //需要对进行依赖注入的类中提供被注入对象对应的set方法
  9. public void setUserMapper(UserMapper userMapper) {
  10. this.userMapper = userMapper;
  11. }
  12. }

xml配置:

  1. <!--
  2. property中的name属性为UserServiceImpl中setUserMapper方法去掉set字母的小驼峰命名
  3. ref属性为当前xml配置文件中bean的id
  4. -->
  5. <bean id="userMapper" class="com.nf.mapper.impl.UserMapperImpl"/>
  6. <bean id="userService" class="com.nf.service.impl.UserServiceImpl">
  7. <property name="userMapper" ref="userMapper"/>
  8. </bean>

2.构造器注入

xml配置:

  1. <bean id="userMapper" class="com.nf.mapper.impl.UserMapperImpl"/>
  2. <!--
  3. <constructor-arg/>:表示使用构造器进行注入
  4. name属性为构造器参数上的名称
  5. ref属性为xml配置文件中bean的id
  6. -->
  7. <bean id="userService" class="com.nf.service.impl.UserServiceImpl">
  8. <constructor-arg name="userMapper" ref="userMapper"/>
  9. </bean>

测试类:

  1. public class App {
  2. public static void main(String[] args) {
  3. //加载配置文件,获取上下文对象
  4. ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  5. //获取bean
  6. UserService userService = (UserService) applicationContext.getBean("userService");
  7. userService.save();
  8. }
  9. }

(如有错误,请指正) 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/67680?site
推荐阅读
相关标签
  

闽ICP备14008679号