天天看點

Spring -- 4.0新特性 -- 泛型依賴注入

泛型依賴注入為spring4.0版本新增加的特性。

目錄結構

Spring -- 4.0新特性 -- 泛型依賴注入

BaseService.java類

public class BaseService<T> {
    @Autowired
    private BaseRespository baseRespository;

    public void save() {
        System.out.println("Base Class save method");
        System.out.println(baseRespository);
    }
}
           

輸出baseRespository對象。

BaseRespository.java類

public class BaseRespository<T> {

}
           

UserRespository.java

@Repository
public class UserRespository extends BaseRespository<User> {

}
           

UserService.java

@Service
public class UserService extends BaseService<User> {

}
           

User.java

public class User {

}
           

IOC容器配置

<context:component-scan base-package="com.gp.spring.annotation.fanxing"></context:component-scan>
           

配置注解的掃描包

測試方法

public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "spring_fanxing.xml");
        UserService us = (UserService)context.getBean("userService");
        us.save();
    }
           

輸出結果

Base Class save method

[email protected]

最後結果我們注意到BaseRespository對象類型變成UserRespository子類對象類型。

使用了泛型的好處就是,代碼簡潔,僅通過一個BaseService我們就可以實作類的共性方法,比如增删改查。

繼續閱讀