Monday, December 04, 2006

New way to config spring bean.

Rod Johnson เสนอ Idea ใหม่ในการ config spring bean
โดยใช้ annotation เข้ามาช่วย
ฟังเผินๆ ก็ดูไม่มีอะไรใหม่
แต่ลองดูวิธีที่เขา config ดูเสียก่อน
@Configuration
public class MyConfig {
@Bean
public Person rod() {
return new Person("Rod Johnson");
}
@Bean(scope = Scope.PROTOTYPE)
public Book book() {
Book book = new Book("Expert One-on-One J2EE Design and Development");
book.setAuthor(rod()); // rod() method is actually a bean reference !
return book;
}
}

จะเห็นว่าเขาไม่ได้ปน annotation เข้าไปกับ bean code ตรงๆ
แต่เป็นการแยก configuration ออกมาต่างหาก
ทำให้ออกไปในแนวของ DSL

ข้อดีที่แน่นอนอย่างหนึ่ง ก็คือ spelling
เป็น java class อย่างนี้แล้ว
ไม่มีกรณีสะกดผิดแน่นอน

Related link from Roti

2 comments:

roofimon said...

มันคือ Prject Pitchfork หรือป่าวพี่

PPhetra said...

คนละตัวกันนะ
ตัวนี้มันเป็นแค่การเพิ่มทางเลือกในการ configuration
ส่วน Pitchfork พี่อ่านคร่าวๆแล้ว
มันตั้งเป้าสูงไปถึงเรื่อง integrate jee5 กับ spring model