@ -5856,9 +5856,10 @@ you should use the `@Named` annotation as follows:
@@ -5856,9 +5856,10 @@ you should use the `@Named` annotation as follows:
[[beans-named]]
=== @Named: a standard equivalent to the @Component annotation
=== @Named and @ManagedBean: standard equivalents to the @Component annotation
Instead of `@Component`, `@javax.inject.Named` may be used as follows:
Instead of `@Component`, `@javax.inject.Named` or `javax.annotation.ManagedBean` may be
used as follows:
[source,java,indent=0]
[subs="verbatim,quotes"]
@ -5866,7 +5867,7 @@ Instead of `@Component`, `@javax.inject.Named` may be used as follows:
@@ -5866,7 +5867,7 @@ Instead of `@Component`, `@javax.inject.Named` may be used as follows:
import javax.inject.Inject;
import javax.inject.Named;
@Named("movieListener")
@Named("movieListener") // @ManagedBean("movieListener") could be used as well
public class SimpleMovieLister {
private MovieFinder movieFinder;
@ -5903,8 +5904,8 @@ It is very common to use `@Component` without specifying a name for the componen
@@ -5903,8 +5904,8 @@ It is very common to use `@Component` without specifying a name for the componen
}
----
When using `@Named`, it is possible to use component scanning in the exact same way
as when using Spring annotations:
When using `@Named` or `@ManagedBean`, it is possible to use component scanning in the
exact same way as when using Spring annotations:
[source,java,indent=0]
[subs="verbatim,quotes"]
@ -5918,8 +5919,9 @@ as when using Spring annotations:
@@ -5918,8 +5919,9 @@ as when using Spring annotations:
[NOTE]
====
In contrast to `@Component`, the JSR-330 `@Named` annotation is not composable.
Please use Spring's stereotype model for building custom component annotations.
In contrast to `@Component`, the JSR-330 `@Named` and the JSR-250 `ManagedBean`
annotations are not composable. Please use Spring's stereotype model for building custom
component annotations.
====
@ -5940,7 +5942,7 @@ features are not available as shown in the table below:
@@ -5940,7 +5942,7 @@ features are not available as shown in the table below:
| `@Inject` has no 'required' attribute; can be used with Java 8's `Optional` instead.
| @Component
| @Named
| @Named / @ManagedBean
| JSR-330 does not provide a composable model, just a way to identify named components.