Enterprise متوسط

تهيئة Spring XML Bean مقابل النهج المدفوع بالتعليقات

استبدل تعريفات bean XML المطوّلة في Spring بتهيئة مدفوعة بالتعليقات موجزة في Spring Boot.

✕ Spring (XML)
<!-- applicationContext.xml -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userRepository"
          class="com.example.UserRepository">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean id="userService"
          class="com.example.UserService">
        <property name="repository" ref="userRepository"/>
    </bean>

</beans>
✓ Spring Boot 3+
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@Repository
public class UserRepository {
    private final JdbcTemplate jdbc;

    public UserRepository(JdbcTemplate jdbc) {
        this.jdbc = jdbc;
    }
}

@Service
public class UserService {
    private final UserRepository repository;

    public UserService(UserRepository repository) {
        this.repository = repository;
    }
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🚫

لا XML

@SpringBootApplication يُشغّل مسح المكوّنات والتهيئة التلقائية مما يُزيل جميع ملفات توصيل XML.

💉

حقن المُنشئ

يحقن Spring التبعيات عبر المُنشئات تلقائياً مما يجعل الحبّات أسهل في الاختبار والاستدلال.

تهيئة تلقائية

يُهيّئ Spring Boot DataSource و JPA وبنية تحتية أخرى من مسار الصنيفات بدون كليشيه.

الأسلوب القديم
تعريفات Bean بـ XML
الأسلوب الحديث
حبّات مدفوعة بالتعليقات
منذ JDK
17
الصعوبة
متوسط
تهيئة Spring XML Bean مقابل النهج المدفوع بالتعليقات
متاح

متاح على نطاق واسع منذ Spring Boot 1.0 (أبريل 2014)؛ Spring Boot 3 يتطلب Java 17+

كانت تطبيقات Spring التقليدية توصّل الحبّات عبر ملفات تهيئة XML مُصرِّحةً بكل فئة وتبعياتها كعناصر <bean> مطوّلة. بينما كان دعم التعليقات موجوداً منذ Spring 2.5 ظلّ XML النهج السائد حتى قدّم Spring Boot التهيئة التلقائية. يكتشف Spring Boot الحبّات المُزيَّنة بـ @Component و @Service و @Repository و @Controller عبر مسح مسار الصنيفات ويُلبّي التبعيات عبر حقن المُنشئ تلقائياً.

مشاركة 𝕏 🦋 in