Spring注解方式实现类的多例模式以及注入使用时怎么使用

1、声明方式

@Component
@Scope("prototype")
public class DemoPrototype {
   ...
}

2、其它类要注入改类时

注意:不能直接使用@Autowired,否则注入的还是单例,需要使用工厂。

@Autowired
private ObjectFactory<T> objectFactory;

对象进行注入(T为你要注入的类),想要使用该多例对象时,用

T t = objectFactory.getObject();

完整使用demo如下:

@Component
public class DemoUsePrototype {

    @Autowired
    private ObjectFactory<DemoPrototype> objectFactory;

    public void getDemoPrototype(){
        DemoPrototype t = objectFactory.getObject();
    }

}

 


版权声明:本文为cold_Blooder原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。