spring装配bean
来源:互联网 发布:迭代器模式 java 编辑:程序博客网 时间:2024/06/03 10:35
方式一:装配类装配
第一步定义bean
public class MyBean {}
第二部定义装配类
@Configuration//装配类注解public class MyConfig { @Bean @Scope("prototype")//设置多例 public MyBean createMyBean() { return new MyBean(); }}
测试
public class App { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);// AnnotationConfigApplicationContext context1 = new AnnotationConfigApplicationContext("com.jiulin.spring");//扫描包转摘配置类。 System.out.println(context.getBean(MyBean.class)); context.close(); }}
方式二:工厂类创建bean
第一步:定义bean
public class Jeep {}
第二部:定义工厂类
public class RunableFactoryBean implements FactoryBean<Jeep> { public Jeep getObject() throws Exception { return new Jeep(); } public Class<?> getObjectType() { return Jeep.class; } public boolean isSingleton() { return false; }}
第三步:配置配
@Configuration//装配类注解public class MyConfig { @Bean public RunableFactoryBean createRunableFactoryBean() { return new RunableFactoryBean(); }}
第四步:测试
public class App { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);// AnnotationConfigApplicationContext context1 = new AnnotationConfigApplicationContext("com.jiulin.spring");//扫描包转摘配置类。 System.out.println(context.getBean(RunableFactoryBean.class));//com.jiulin.spring.RunableFactoryBean@4e4aea35System.out.println(context.getBean("&createRunableFactoryBean"));//com.jiulin.spring.RunableFactoryBean@4e4aea35System.out.println(context.getBean("createRunableFactoryBean"));//com.jiulin.spring.Jeep@1442d7b5 context.close(); }}
方式三:自定义工厂
第一步:定义bean
public class Car {}
第二步:自定义工厂
public class CarFactory { public Car createCar(){ return new Car(); }}
第三步:配置类
@Configuration//装配类注解public class MyConfig { @Bean public CarFactory createCarFactory() { return new CarFactory(); } @Bean public Car createCar(CarFactory factory) { return factory.createCar(); }}
第四步:测试
public class App { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);// AnnotationConfigApplicationContext context1 = new AnnotationConfigApplicationContext("com.jiulin.spring");//扫描包转摘配置类。System.out.println(context.getBean("createCar"));//com.jiulin.spring.Car@1ee807c6System.out.println(context.getBean("&createCar"));//获得工厂类 context.close(); }}在创建Car时需要CarFactory,spring会自动在容器中查询,并注入。
阅读全文
0 0
- Spring Bean装配-自动装配
- spring 基本Bean装配
- Spring Bean 初级装配
- Spring Bean 高级装配
- Spring中装配bean
- Spring bean装配
- spring装配bean
- Spring笔记---装配Bean
- Spring 装配Bean
- Spring配置文件 装配Bean
- Spring-Bean的装配
- Spring之装配Bean
- Spring装配bean
- Spring Bean装配-resouce
- spring(2)装配Bean
- Spring学习-装配Bean
- spring装配Bean
- spring IOC装配bean
- 关于Java和OC深浅复制的问题
- jar包(依赖)
- 大学毕业论文指导-内容陈述
- 如何在 Linux 系统中通过用户组来管理用户
- 配置服务器双击环境下的数据库Oracle11gR2
- spring装配bean
- ros中cmake编译问题及cmakelist书写问题
- linux下搭建sphinx+scws+mysql中文分词搜索,及sphinx配置文件详解
- 实验2 Linux下基本编程
- OpenGL 着色器 平移缩放
- Agilent Model Builder Program(MBP)2016.01 CHS Win64 1CD
- ubuntu16.04 从源码安装tensorflow-gpu r1.4版本---2017-12-07
- 数据结构实验之图论三:判断可达性
- 计蒜客—— 修建大桥