使用静态工厂方法实例化
@Test public void test1(){ ApplicationContext context = new ClassPathXmlApplicationContext("beans3.xml"); //new 对象 //IUserService userService1 = (IUserService) context.getBean("userService1"); //userService1.add(); //静态工厂 //IUserService userService2 = UserSereviceFactory1.createUserService(); //IUserService userService2 = (IUserService) context.getBean("userService2"); //userService2.add(); //实例工厂 //1.创建工厂 // UserSereviceFactory2 factory2 = new UserSereviceFactory2(); //IUserService userService3 = factory2.createUserService(); IUserService userService3 = (IUserService) context.getBean("userService3"); userService3.add(); }
|
Bean.xml |
<!--装配bean的三种方式,所谓的装配bean就是在xml写一个bean标签--> <!-- 第一种方式: new 实现类--> <bean id="userService1" class="com.gyf.service.UserServiceImpl"></bean> <!-- 第二种方式:通过静态工厂方法 spring的版本过低,3.0版本,把jdk改成1.7 --> <bean id="userService2" class="com.gyf.service.UserSereviceFactory1" factory-method="createUserService"></bean> <!--第三种方式:通过实例工厂方法 --> <!-- 创建实例factory2 bean--> <bean id="factory2" class="com.gyf.service.UserSereviceFactory2"></bean> <bean id="userService3" factory-bean="factory2" factory-method="createUserService"></bean>
|