A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[学员心声] 【石家庄校区】

© 李志旭 初级黑马   /  2019-8-14 15:13  /  716 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、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>

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马