در Spring می توان وابستگی بین bean ها را با استفاده از autowire بصورت خودکار مدیریت کرد، بدین معنی که بدون تعریف کردن تگ property و خصوصیت ref در زمان تعریف وابستگی، وظیفه پیدا کردن bean برای inject کردن درون bean وابسته را به خود Spring می سپاریم.
autowiring در Spring پنج نوع دارد ('no', 'byName', 'byType', 'constructor', و 'autodetect') که بصورت پیش فرض قابلیت autowire در Spring غیر فعال است و مقدار خصوصیت autowire برای یک bean برابر no است و حتما باید برای آن bean با استفاده از تگ property و خصوصیت ref وابستگی تعریف شود:
<bean id="employee" class="com.javabyab.spring.autowire.Employee">
<property name="name" value="Jonty" />
<property name="age" value="28" />
<property name="address" ref="address"></property>
</bean>
حال اگر بخواهیم از قابلیت autowiring از نوع byName استفاده کنیم تعریف بالا بصورت زیر تغییر می کند:
<bean id="employee" class="com.javabyab.spring.autowire.Employee"
autowire="byName">
<property name="name" value="Jonty" />
<property name="age" value="28" />
</bean>
همانطور که ملاحظه می کنید بدلیل استفاده از نوع byName دیگر وابستگی به کلاس Address درون فایل xml تعریف نشده است و بدلیل اینکه کلاس Employee یک فیلد از نوع Address دارد و مقدار خصوصیت autowire نیز برابر byName است در صورت همنام بودن فیلد ازنوع Address در کلاس Employee با نام Address bean در تنظیمات Spring عملیات dependency injection بصورت خودکار اتفاق می افتد.