zoukankan      html  css  js  c++  java
  • Spring、实例化Bean的三种方法

    1、使用类构造器进行实例化

    <bean id="personIService" class="cn.server.impl.PersonServiceImpl" />

    测试代码:

    @Test
    	public void test() {
    		ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
    		PersonIService personIService=(PersonIService)ac.getBean("personIService");
    		personIService.helloSpring();
    	}

    2、使用静态工厂实例化

    public class BeanFactory {
    	public static PersonServiceImpl createPersonServiceImpl(){
    		return new PersonServiceImpl();
    	}
    }
    <bean id="personIService2" class="cn.BeanFactory" factory-method="createPersonServiceImpl" />


    测试代码:

    	@Test
    	public void test3() {
    		ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
    		PersonIService personIService=(PersonIService)ac.getBean("personIService2");
    		personIService.helloSpring();
    	}

    3、使用实例化工厂实例化

    public class BeanFactory {
    	public PersonServiceImpl createPersonServiceImpl2(){
    		return new PersonServiceImpl();
    	}
    }
    	<bean id="beanFactory" class="cn.BeanFactory"/>
    	<bean id="personIService3" factory-bean="beanFactory"  factory-method="createPersonServiceImpl2" />


    测试代码:

    	@Test
    	public void test4() {
    		ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
    		PersonIService personIService=(PersonIService)ac.getBean("personIService3");
    		personIService.helloSpring();
    	}


  • 相关阅读:
    [PoC]某B2B网站的一个反射型XSS漏洞
    Python中的基本语句
    视频: 千重浪Linux系统调试技术培训 03-01_Basic-CPU-Register
    POJ 2955 Brackets (区间dp 括号匹配)
    LeetCode 146 LRU Cache
    Poj1734题解
    Python
    小胖说事29-----iOS中Navigation中左滑pop页面的三种方法
    深入理解javascript之原型
    android 弹幕评论效果
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114744.html
Copyright © 2011-2022 走看看