依赖注入方式
一般来说向一个类中传递数据的方式有:
普通方式:set方法
构造方法
1.setter注入
a.注入引用类型
1.在bean中定义引用类型并提供可访问的set方法
2.配置中使用property标签的ref属性注入引用数据类型对象
b.注入简单数据类型
1.在bean中定义引用类型属性并提供可访问的set方法
2.配置中使用property标签value属性注入简单数据类型的数据
2.构造器注入
a.注入引用类型
1.在bean中定义引用类型属性并提供可访问的构造方法
2.配置中使用constructor-arg标签ref属性注入引用数据类型的数据
b.注入简单类型
1.在bean中定义简单类型属性并提供可访问的构造方法
2.配置中使用constructor-arg标签value属性注入简单数据类型的数据
c.构造器注入—参数适配
依赖注入方式的选择
依赖自动装配(autowire)
IOC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配
按类型自动装配
依赖setter方法
按名称自动装配
在按类型自动装配的过程中,如果在IOC容器中没有配置所依赖的bean(如:在案例中BookService依赖BookDao)或者配置多个相同类型的所依赖的bean(id=“bookDao1”,id=“bookDao2”),此时按类型自动装配就会报错。由此引入了按名称自动装配的方式
BookServiceImpl中private BookDao bookDao要和
< bean id=“bookDao”>相匹配
依赖自动装配特征
数据源对象管理
管理Druid连接池对象
1.导入druid坐标
2.配置数据源对象作为spring容器管理的bean
3.创建数据源对象
//加载spring配置文件
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
//创建数据源对象
DataSource dataSource=(DataSource) ctx.getBean("datasource");
使用spring加载properties文件
1.创建配置文件,以.properties结尾
2.开启context命名空间
在spring配置文件中添加如下代码
3.使用context空间加载properties文件
<context:property-placeholder location="jdbc.properties"/>