Update documentation

Issue: SPR-12278
This commit is contained in:
Stephane Nicoll
2015-12-21 14:23:14 +01:00
parent 19d97c4253
commit edd8e2d56d
2 changed files with 43 additions and 10 deletions

View File

@@ -4168,7 +4168,40 @@ references and values even when you use the class outside of a container.
[[beans-autowired-annotation]]
=== @Autowired
As expected, you can apply the `@Autowired` annotation to "traditional" setter methods:
[NOTE]
====
JSR 330's `@Inject` annotation can be used in place of Spring's `@Autowired` annotation
in the examples below. See <<beans-standard-annotations,here>> for more details.
====
You can apply the `@Autowired` annotation to constructors:
[source,java,indent=0]
[subs="verbatim,quotes"]
----
public class MovieRecommender {
private final CustomerPreferenceDao customerPreferenceDao;
@Autowired
public MovieRecommender(CustomerPreferenceDao customerPreferenceDao) {
this.customerPreferenceDao = customerPreferenceDao;
}
// ...
}
----
[NOTE]
====
As of Spring Framework 4.3, the `@Autowired` constructor is no longer necessary if the
target bean only defines one constructor. If several constructors are available, at
least one must be annotated to teach the container which one it has to use.
====
As expected, you can also apply the `@Autowired` annotation to "traditional" setter
methods:
[source,java,indent=0]
[subs="verbatim,quotes"]
@@ -4187,12 +4220,6 @@ As expected, you can apply the `@Autowired` annotation to "traditional" setter m
}
----
[NOTE]
====
JSR 330's `@Inject` annotation can be used in place of Spring's `@Autowired` annotation
in the examples below. See <<beans-standard-annotations,here>> for more details.
====
You can also apply the annotation to methods with arbitrary names and/or multiple
arguments:
@@ -4217,18 +4244,18 @@ arguments:
}
----
You can apply `@Autowired` to constructors and fields:
You can apply `@Autowired` to fields as well and even mix it with constructors:
[source,java,indent=0]
[subs="verbatim,quotes"]
----
public class MovieRecommender {
private final CustomerPreferenceDao customerPreferenceDao;
@Autowired
private MovieCatalog movieCatalog;
private CustomerPreferenceDao customerPreferenceDao;
@Autowired
public MovieRecommender(CustomerPreferenceDao customerPreferenceDao) {
this.customerPreferenceDao = customerPreferenceDao;

View File

@@ -627,6 +627,12 @@ public @interface MyTestConfig {
[[new-in-4.3]]
== New Features and Enhancements in Spring Framework 4.3
=== Core Container Improvements
* It is no longer necessary to specify the `@Autowired` annotation if the target
bean only define one constructor.
=== Testing Improvements
* The JUnit support in the _Spring TestContext Framework_ now requires JUnit 4.12 or higher.