依赖注入
自动装配
使用@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 { }
注意:路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符 *