spring_自动装配


依赖注入

自动装配

  • 使用@Autowired注解开启自动装配模式(按类型)

    @Service
    public class BookServiceImpl implements BookService {
        @Autowired
        private BookDao bookDao;
        public void setBookDao(BookDao bookDao) {
            this.bookDao = bookDao;
        }
    
        @Override
        public void save() {
            System.out.println("book service save...");
            bookDao.save();
        }
    }
  • 注意:自动装配基于反射设计创建对象并暴力反射对应属性为私有属性初始化数据,因此无需提供setter方法

  • 注意:自动装配建议使用无参构造方法创建对象(默认),如果不提供对应构造方法,请提供唯一的构造方法

  • 使用@Qualifier注释开启指定名称装配bean

    @Service
    public class BookServiceImpl implements BookService {
        @Autowired
        @Qualifier("bookDao")
        private BookDao bookDao;
    }
  • 注意:@Qualifier注解无法单独使用,必须配合@Autowired注解使用

  • 使用@PropertySource注解加载properties文件

    @Configuration
    @ComponentScan("com.itheima")
    @PropertySource("classpath:jdbc.properties")
    public class SpringConfig {
    }
  • 注意:路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符 *


文章作者: han yue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 han yue !
评论
  目录