anchor.diff:  interfaces.
   
   Thus, in the following example, the `customerPreferenceDao` field first looks for a bean
  -named customerPreferenceDao and then falls back to a primary type match for the type
  +named "customerPreferenceDao" and then falls back to a primary type match for the type
   `CustomerPreferenceDao`:
   
   ====
  
positive.code: [[beans-resource-annotation]]
  === Injection with `@Resource`
  
  Spring also supports injection by using the JSR-250 `@Resource` annotation on fields or
  bean property setter methods. This is a common pattern in Java EE 5 and 6 (for example,
  in JSF 1.2 managed beans or JAX-WS 2.0 endpoints). Spring supports this pattern for
  Spring-managed objects as well.
  
  `@Resource` takes a name attribute. By default, Spring interprets that value as the
  bean name to be injected. In other words, it follows by-name semantics, as
  demonstrated in the following example:
  
  ====
  [source,java,indent=0]
  
negative.code: [[beans-factory-lifecycle]]
  === Lifecycle Callbacks
  
  To interact with the container's management of the bean lifecycle, you can implement
  the Spring `InitializingBean` and `DisposableBean` interfaces. The container calls
  `afterPropertiesSet()` for the former and `destroy()` for the latter to let the bean
  perform certain actions upon initialization and destruction of your beans.
  
  