Đậu trừu tượng trong mùa xuân hơi khác với lớp trừu tượng. Trong thực tế, bean trừu tượng trong Spring thậm chí không cần phải được ánh xạ tới bất kỳ lớp nào. Thực hiện việc này như một ví dụ:
<bean id="dao" abstract="true">
<property name="dataSource" ref="dataSource"/>
<property name="someHelper" ref="someHelper"/>
</bean>
<bean id="fooDao" class="FooDao" parent="dao">
<property name="fooHelper" ref="fooHelper"/>
</bean>
<bean id="barDao" class="BarDao" parent="dao">
<property name="barHelper" ref="barHelper"/>
</bean>
Và lớp:
public class FooDao {
private DataSource dataSource;
private SomeHelper someHelper;
private FooHelper fooHelper;
//setters
}
public class BarDao {
private DataSource dataSource;
private SomeHelper someHelper;
private BarHelper barHelper;
//setters
}
Lưu ý rằng FooDao
và BarDao
không có bất kỳ cha mẹ (trừu tượng hay không) lớp cơ sở chung. Định nghĩa bean trừu tượng mẹ chỉ được sử dụng cho các thuộc tính chung nhóm, vì vậy bạn tránh lặp lại trong XML.
Mặt khác giới thiệu tóm tắt Dao
lớp mà cả FooDao
và BarDao
kế thừa từ sẽ là một ý tưởng tốt:
public abstract Dao {
protected DataSource dataSource;
protected SomeHelper someHelper;
//setters
}
public class FooDao extends Dao {
private FooHelper fooHelper;
//setters
}
public class BarDao extends Dao {
private BarHelper barHelper;
//setters
}
Nhưng vẫn dao
đậu không phải xác định một lớp. Hãy coi đậu trừu tượng như một cách để giảm trùng lặp trong XML khi một số hạt bê tông có cùng phụ thuộc.
Nguồn
2012-02-22 15:25:49
cần lưu ý rằng hạt trừu tượng không được instanciated bởi Spring –