这个所谓的简单类型就是这个对象里面还存在着其他的类型,比如说字符串啊int型啊。这时候首先在最底层的对象中使用setter方法注入,然后在配置文件中配置,其他的还是跟以前一样。一共分为三步走
步骤① 在最低层的声明地方进行setter注入
下面是将会被其他对象引用的类,里面有两个小属性,一个String databaseName;
,一个int connectionNum;
。这里的话就需要提供setter方法。
public class BookDaoImpl implements BookDao {
private String databaseName;
private int connectionNum;
//setter注入需要提供要注入对象的set方法
public void setConnectionNum(int connectionNum) {
this.connectionNum = connectionNum;
}
//setter注入需要提供要注入对象的set方法
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName;
}
public void save() {
System.out.println("book dao save ..."+databaseName+","+connectionNum);
}
}
步骤② 在配置文件中,注入简单类型
<!--注入简单类型-->
<bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl">
<!--property标签:设置注入属性-->
<!--name属性:设置注入的属性名,实际是set方法对应的名称-->
<!--value属性:设置注入简单类型数据值-->
<property name="connectionNum" value="100"/>
<property name="databaseName" value="mysql"/>
</bean>
以上内容可以看到,这个
name
属性直接写小属性的名称,反正直接粘贴过来就行,这个Value属性就填写你需要的值。
步骤③ 将对象注入
public class BookServiceImpl implements BookService{
private BookDao bookDao;
//setter注入需要提供要注入对象的set方法
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
public void save() {
System.out.println("book service save ...");
bookDao.save();
}
}
从上代码可以看出,是BookDaoImpl这个类有自己的属性,那它在自己的类里面setter注入一下就可以了,在
BookServiceImpl
这个类里面只管自己的。也还是将bookDao
当作一个整体,直接注入,不管你下面的细节。