Tag: ioc container

弹簧和multithreading

我需要启动一个可变数量的线程,这些线程又会在spring应用程序中启动不同数量的线程(即I线程需要启动Ki线程的线程)。 假设每个“I线程”包含一个自动assembly的内部类,我将如何生成这些实例? 所以我有一个A bean需要以某种方式生成I需要进行Spring管理以满足其依赖关系的bean实例。 我写了一个简短的示例代码,我认为是我的解决方案的基础,我已经标记了代码,我不知道如何编写???: @Component public class MasterOrchestrator { public void do(List list){ ExecutorService es = Executors.newFixedThreadPool(list.size()); for (DataObjWrapper dataObjWrapper : list){ es.submit(???); } } } @Component public class ThreadWorkerI implements Runnable{ private int numThreadsForMessageType; private int numRunsForMessageType; private DataObj dataObj; public ThreadWorkerI(int numThreadsForMessageType, int numRunsForMessageType, DataObj dataObj){ this.numThreadsForMessageType = numThreadsForMessageType; this.numRunsForMessageType = numRunsForMessageType; […]

Spring JUnit4手动/自动接线困境

我遇到了一个问题,这个问题只能解释为我对Spring的IoC容器设施和上下文设置缺乏了解,所以我会要求澄清一下。 仅供参考,我正在维护的应用程序具有以下堆栈技术: Java 1.6 spring2.5.6 RichFaces 3.3.1-GA UI Spring框架用于bean管理,Spring JDBC模块用于DAO支持 Maven用作构建管理器 JUnit 4.4现在作为测试引擎引入 我追溯(sic!)为应用程序编写JUnit测试,令我感到惊讶的是,我无法通过使用setter注入将bean注入测试类而不使用@Autowire表示法。 让我提供一个示例和附带的配置文件。 测试类TypeTest非常简单: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class TypeTest { @Autowired private IType type; @Test public void testFindAllTypes() { List result; try { result = type.findAlltTypes(); assertNotNull(result); } catch (Exception e) { e.printStackTrace(); fail(“Exception caught with ” + e.getMessage()); } } } 其上下文在TestStackOverflowExample-context.xml定义: […]

Spring订购了豆类清单

我有几个bean实现相同的接口。 每个bean都注明了 @Component @Order(SORT_ORDER). public class MyClass implements BeanInterface{ … } 有一次我自动assembly一个组件列表,我期待一个排序的bean列表。 bean的列表没有按照我用注释设置的顺序排序。 我尝试实现Ordered接口,并发生相同的行为。 @Component public class Factory{ @Autowired private List list; // <- I expect a sorted list here … } 我做错了吗?

Spring bean容器命令是否消除了重复的容器?

Spring bean容器的命令是否消除了重复的容器? 例如,如果bean容器文件A导入B和C并且每个都导入D,Spring是否会消除或忽略重复的D容器?

在Web应用程序中注册shutDownHook

我们如何在Web应用程序中注册关闭挂钩? 有没有什么可以在web.xml或applicationContext.xml中注册它? 我知道如果我们使用主类的应用程序,那很简单。 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“ApplicationContext.xml”); context.registerShutdownHook(); 但是Web应用程序怎么样? 因为它使用ContextListener