The last technique in autowiring is auto-detect. In this case we tell the Spring container to uses its own brains while configuring the bean.
When we use the auto-detect setting for autowiring Spring follows the following rules to configure the bean:
When we use the auto-detect setting for autowiring Spring follows the following rules to configure the bean:
- Try and configure the bean using constructor
- If the above step fails, then auto wire by type.
public class CarAutoDetect implements ICar { private Engine combustEngine; private Seating leatherSeating; private Seating backupSeating; public CarAutoDetect(final Engine anyEngine, final Seating leatherSeating, final Seating seating) { this.combustEngine = anyEngine; this.leatherSeating = leatherSeating; this.backupSeating= seating; } @Override public String describe() { return "Car is " + this + ", engine is " + this.combustEngine + " and seating1 is " + this.leatherSeating + " and seating2 is " + this.backupSeating; } }The XML configuration for the above would be:
<bean id="carAutoDetect" class="com.car.CarAutoDetect" autowire="autodetect"/> <bean id="combustEngine" class="com.car.Engine" p:name="Combusto" /> <bean id="leatherSeating" class="com.car.Seating" p:color="red" />The code would work and the beans will be wired.
No comments:
Post a Comment