FactoryBean+Bean的实现方法-创新互联

FactoryBean+Bean

创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都做网站、网站建设,塑造企业网络形象打造互联网企业效应。

package com.example.demo10.entity;

//实体

public class Stu {

String name;

public Stu(String name) {

   this.name = name;

}

public Stu() {

}

public String getName() {

   return name;

}

public void setName(String name) {

   this.name = name;

}

}

package com.example.demo10.factory;

import com.example.demo10.entity.Stu;

import org.springframework.beans.factory.FactoryBean;

//创建一个Stu场子

public class StuFactory implements FactoryBean {

@Override

public Class getObjectType() {

   return Stu.class;

}

@Override

public boolean isSingleton() {

   return false;

}

@Override

public Stu getObject() throws Exception {

   return new Stu();

}

}

package com.example.demo10.configuration;

import com.example.demo10.factory.StuFactory;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

@Configuration

public class StuConfiguration {

//创建场子Bean

//这里要注意返回的是场子对象,但是正真获取的是Stu对象

@Bean

public StuFactory stuFactory(){

   return  new StuFactory();

}

}

package com.example.demo10;

import com.example.demo10.entity.Stu;

import com.example.demo10.factory.StuFactory;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication

public class Demo10Application {

public static void main(String[] args) {

   ConfigurableApplicationContext context = SpringApplication.run(Demo10Application.class, args);

   //获取场子里面的产品

   Stu stu1 = context.getBean("stuFactory", Stu.class);

   Stu stu2 = context.getBean("stuFactory", Stu.class);

   System.out.println(stu1.getClass().getName());

   System.out.println(stu1.hashCode());

   System.out.println(stu2.getClass().getName());

   System.out.println(stu2.hashCode());

   //获取工厂自己

   StuFactory stuFactory = context.getBean("&stuFactory", StuFactory.class);

   System.out.println(stuFactory.getClass().getName());

   context.close();

}

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:FactoryBean+Bean的实现方法-创新互联
文章转载:http://myzitong.com/article/iegpc.html