From 4597ba5af40dd5537e7a6da0ef71e7bb3121e25d Mon Sep 17 00:00:00 2001 From: Leandro Glossman Date: Tue, 5 Jul 2016 16:18:20 -0300 Subject: [PATCH] Allow to use @Named annotation without having to set the bean as @Primary --- .../org/springframework/guice/module/SpringModule.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/guice/module/SpringModule.java b/src/main/java/org/springframework/guice/module/SpringModule.java index 382b75f..b636523 100644 --- a/src/main/java/org/springframework/guice/module/SpringModule.java +++ b/src/main/java/org/springframework/guice/module/SpringModule.java @@ -110,8 +110,14 @@ public class SpringModule implements Module { @Override public Object get() { if (this.result == null) { - String[] names = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.beanFactory, this.type); - if (names.length == 1) { + + String[] named = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.beanFactory, this.type); + List names = new ArrayList<>(named.length); + for (String name : named) { + if (name.equals(this.name)) names.add(name); + } + + if (names.size() == 1) { this.result = this.beanFactory.getBean(this.name, this.type); } else {