zoukankan      html  css  js  c++  java
  • 通过工厂方式配置bean

    srcdaydayCarFactoryBean.java

    package dayday;

    import org.springframework.beans.factory.FactoryBean;

    /**
    * Created by I am master on 2016/11/30.
    */
    //自定义的FactoryBean需要实现FactoryBean接口
    public class CarFactoryBean implements FactoryBean<Car>{
    private String brand;
    public void setBrand(String brand){
    this.brand=brand;
    }
    @Override
    public Car getObject() throws Exception {
    return new Car(brand,"50w");
    }

    @Override
    public Class<?> getObjectType() {
    return Car.class;
    }

    @Override
    public boolean isSingleton() {
    return true;
    }
    }

    srcdaydayCar.java

    package dayday;

    import com.sun.org.apache.xpath.internal.SourceTree;

    import javax.sound.midi.Soundbank;

    /**
    * Created by I am master on 2016/11/28.
    */
    public class Car {
    private String name;
    private String money;
    public void setName(String name){
    this.name=name;
    System.out.println("setName...");
    }
    public String getName(){
    return name;
    }
    public void setMoney(String money){
    this.money=money;
    }
    public String getMoney(){
    return money;
    }
    public String toString(){
    return "Car"+"["+"carname="+name+" carValue="+money+"]";
    }
    public Car(String name,String money){
    this.money=money;
    this.name=name;
    }
    public Car(){
    System.out.println("Car's constructor...");
    }
    public void init(){
    System.out.println("init...");
    }
    public void destroy(){
    System.out.println("destroy...");
    }
    }

    srcdaydayMain.java

    package dayday;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import java.sql.SQLException;

    /**
    * Created by I am master on 2016/11/28.
    */
    public class Main {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
    ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");
    Car car=ctx.getBean("car",Car.class);
    System.out.println(car);
    }
    }

    srceans.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" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <!--
    通过FactoryBean来配置Bean的实例
    class指向FactoryBean的全类名
    property:配置FactoryBean的属性,但实际返回的实例是FactoryBean的getObject()方法返回的实例
    -->
    <bean id="car" class="dayday.CarFactoryBean">
    <property name="brand" value="BMW"></property>
    </bean>
    </beans>

    运行结果
    Car[carname=BMWcarValue=50w]
  • 相关阅读:
    js中的字符串
    JSOP
    jq总结1
    jq总结
    诗和远方-志
    诗和远方-感
    js判断变量是否为空字符串、null、undefined
    判断js对象是否为空
    诗和远方-悟
    深复制
  • 原文地址:https://www.cnblogs.com/Hdaydayup/p/6118824.html
Copyright © 2011-2022 走看看