黑马程序员技术交流社区
标题:
【石家庄校区】
[打印本页]
作者:
李志旭
时间:
2019-9-10 15:32
标题:
【石家庄校区】
一、IOC
1、spring基本坐标
<properties>
<spring.version>
5.0.5.RELEASE
</spring.version>
</properties>
<!--导入spring的context坐标,context依赖core、beans、expression-->
<dependencies>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-context
</artifactId>
<version>
${spring.version}
</version>
</dependency>
</dependencies>
2、核心配置文件applicationContext.xml
<?xml
version="1.0" encoding="UTF-8" ?>
<beans
xmlns
=
"http://www.springframework.org/schema/beans"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
>
<!-- 将userDao注入到spring容器内,由spring容器管理-->
<bean
id
=
"userDao"
class
=
"com.itheima.dao.impl.UserDaoImpl"
></bean>
</beans>
3、使用Spring的API获得Bean实例
@Test
public
void
test1
(){
ApplicationContext
applicationContext
=
new
ClassPathXmlApplicationContext
(
"applicationContext.xml"
);
//UserDao userDao = (UserDao) applicationContext.getBean("userDao");
UserDao
userDao
=
(
UserDao
)
applicationContext
.
getBean
(
UserDao
.
class
);
userDao
.
save
();
}
4、Bean实例化三种方式
1)使用无参构造方法实例化(掌握)
<bean
id
=
"userDao"
class
=
"com.itheima.dao.impl.UserDaoImpl"
/>
2)工厂静态方法实例化(了解)
public
class
StaticFactoryBean
{
public
static
UserDao
createUserDao
(){
return
new
UserDaoImpl
();
}
}
<bean
id
=
"userDao"
class
=
"com.itheima.factory.StaticFactoryBean"
factory-method
=
"createUserDao"
/>
3)工厂实例方法实例化(了解)
public
class
DynamicFactoryBean
{
public
UserDao
createUserDao
(){
return
new
UserDaoImpl
();
}
}
<bean
id
=
"factoryBean"
class
=
"com.itheima.factory.DynamicFactoryBean"
/>
<bean
id
=
"userDao"
factory-bean
=
"factoryBean"
factory-method
=
"createUserDao"
/>
5、Bean的依赖注入(set方法)
1)在UserServiceImpl中添加setUserDao方法
public
class
UserServiceImpl
implements
UserService
{
private
UserDao
userDao
;
public
void
setUserDao
(
UserDao
userDao
) {
this
.
userDao
=
userDao
;
}
}
2)配置Spring容器调用set方法进行注入
<bean
id
=
"userDao"
class
=
"com.itheima.dao.impl.UserDaoImpl"
/>
<bean
id
=
"userService"
class
=
"com.itheima.service.impl.UserServiceImpl"
>
<property
name
=
"userDao"
ref
=
"userDao"
/>
</bean>
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2