2009-02-18 29 views

Trả lời

55

Đọc khoảng type erasure sẽ giúp bạn hiểu điều này tốt hơn một chút.

Khi chạy, các thông số loại cho một lớp chung là bị xóa. Có nghĩa là, như cletus cho biết, Generics trong Java về cơ bản là cú pháp đường - chúng chỉ là một tính năng biên dịch thời gian.

Kể từ mùa xuân là đối tượng thuyết minh tại thời gian chạy, nó thực sự là miễn phí để nhanh chóng một Dao của bất kỳ loại - và trên thực tế, không có gì ngăn không cho nó tạo ra một Dao và đi qua trong Student loại trong một số phương pháp và Teacher loại trong là khác. Vì vậy, về cơ bản câu trả lời là, Spring không có ý tưởng rằng loại Dao có nghĩa là được tham số hóa và không thể làm bất cứ điều gì với nó.

8

Bạn không thể làm điều đó và lý do bạn không thể làm điều đó là nó thực sự có nghĩa là không có gì. Theo đó tôi có nghĩa là các Generics Java là cú pháp của đường, vì vậy bạn tạo ra một loại bean nào không liên quan. Bạn có thể tiêm nó vào bất cứ điều gì lấy một Dao (hoặc Dao) chỉ tốt tại thời điểm đó nó sẽ được sử dụng đúc tiềm ẩn của bất cứ loại nào nó được tiêm vào.

Các vấn đề liên quan