Repository: quarkusio/quarkus
Issue: spring-di: @Named should be a bean defining annotation

**Describe the bug**

While migrating a spring war application based on JSR-303 to Quarkus, beans annotated with `@javax.inject.Named` and without an explicit scope are not seen by Arc.

Indeed CDI, `@javax.inject.Named` is not a bean defining annotation by itself.
But in Spring DI it is an equivalent to `@org.springframework.stereotype.Component` (with the difference that it is not a composable annotation) - cf https://github.com/spring-projects/spring-framework/blob/76645644b1cb99cbee155dfea2852ee13914b3e3/src/docs/asciidoc/core/core-beans.adoc#named-and-managedbean-standard-equivalents-to-the-component-annotation

Here is a working spring test:

```java
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = { SpringNamedTest.MyBean.class })
public class SpringNamedTest {

  @Inject
  MyBean myBean;

  @Test
  public void testInjection() {
    assertNotNull(myBean);
  }

  @Named
  public static class MyBean {
  }
}
```

**Expected behavior**

Dependency injection of MyBean works.

**Actual behavior**

No qualifying bean found by Arc.

**Environment (please complete the following information):**
 - Output of `java -version`: 
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
 - Quarkus version or git rev: 1.1.0.Final

**Additional context**
I'll open a PR with proposed reproducer on integration-tests/spring-di and a fix.

Changed files:
extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java
integration-tests/spring-di/src/main/java/io/quarkus/it/spring/AppConfiguration.java
integration-tests/spring-di/src/main/java/io/quarkus/it/spring/InjectedSpringBeansResource.java

diff --git a/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java b/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java
index 7fd9463ccce..3ceef513391 100644
--- a/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java
+++ b/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java
@@ -313,7 +313,11 @@ Set<AnnotationInstance> getAnnotationsToAdd(
                     }
                 }
             }
-            final DotName declaredScope = getScope(classInfo);
+            DotName declaredScope = getScope(classInfo);
+            // @Named is a bean-defining annotation in Spring, but not in Arc.
+            if (declaredScope == null && classInfo.classAnnotation(CDI_NAMED_ANNOTATION) != null) {
+                declaredScope = CDI_SINGLETON_ANNOTATION; // implicit default scope in spring
+            }
             final boolean isAnnotation = isAnnotation(classInfo.flags());
             if (declaredScope != null) {
                 annotationsToAdd.add(create(
diff --git a/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/AppConfiguration.java b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/AppConfiguration.java
index 5fef2202c95..c2c0d08be8b 100644
--- a/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/AppConfiguration.java
+++ b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/AppConfiguration.java
@@ -1,5 +1,6 @@
 package io.quarkus.it.spring;
 
+import javax.inject.Named;
 import javax.inject.Singleton;
 
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -50,4 +51,9 @@ private static class AnotherRequestBean {
     public static class CustomPrototypeBean {
 
     }
+
+    @Named
+    public static class NamedBean {
+
+    }
 }
diff --git a/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/InjectedSpringBeansResource.java b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/InjectedSpringBeansResource.java
index f0ceb748968..3dd0a8ffd28 100644
--- a/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/InjectedSpringBeansResource.java
+++ b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/InjectedSpringBeansResource.java
@@ -1,7 +1,5 @@
 package io.quarkus.it.spring;
 
-import static io.quarkus.it.spring.AppConfiguration.CustomPrototypeBean;
-
 import javax.inject.Inject;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
@@ -11,6 +9,9 @@
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 
+import io.quarkus.it.spring.AppConfiguration.CustomPrototypeBean;
+import io.quarkus.it.spring.AppConfiguration.NamedBean;
+
 @Path("/")
 public class InjectedSpringBeansResource {
 
@@ -22,6 +23,8 @@ public class InjectedSpringBeansResource {
     SessionBean sessionBean;
     @Inject
     CustomPrototypeBean anotherRequestBean;
+    @Inject
+    NamedBean namedBean;
 
     @GET
     @Produces(MediaType.TEXT_PLAIN)