hualinux spring 3.14:泛型依賴注入

目錄

一、知識點

二、例子

2.1 目錄結構

2.2 相關代碼


 

泛型依賴注入,可以瞭解一下,如果想簡化代碼使用它也是一種選擇之一

一、知識點

Spring 4.x 中可以爲子類注入子類對應的泛型類型的成員變量的引用

 

二、例子

2.1 目錄結構

2.2 相關代碼

src右擊-->new-->XML Configuration File-->Spring config-->輸入名字“beans-generic-di” 

    <context:component-scan base-package="com.hualinux.beans.generic.di"/>

src-->com.hualinux.beans.generic.di.BaseRepositotory.java

package com.hualinux.beans.generic.di;

public class BaseRepositotory <T>{
}

src-->com.hualinux.beans.generic.di.UserRepositotory.java

package com.hualinux.beans.generic.di;

import org.springframework.stereotype.Repository;

@Repository
public class UserRepositotory extends  BaseRepositotory<User> {
}

src-->com.hualinux.beans.generic.di.BaseService.java

package com.hualinux.beans.generic.di;

import org.springframework.beans.factory.annotation.Autowired;

public class BaseService<T> {
    @Autowired
    protected BaseRepositotory<T> repositotory;

    public void add(){
        System.out.println("add...");
        System.out.println(repositotory);
    }

}

src-->com.hualinux.beans.generic.di.User.java

package com.hualinux.beans.generic.di;

public class User {
}

src-->com.hualinux.beans.annotation.generic.dia.UserService.java

package com.hualinux.beans.generic.di;

import org.springframework.stereotype.Service;

@Service
public class UserService extends BaseService<User> {
}

src-->com.hualinux.beans.annotation.generic.di.Main.java

package com.hualinux.beans.generic.di;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

    public static void main(String[] args) {
        ApplicationContext ctx=new ClassPathXmlApplicationContext("beans-generic-di.xml");
        UserService userService= (UserService) ctx.getBean("userService");
        userService.add();
    }

}

運行上面的Main.java,結果如下:

add...
com.hualinux.beans.generic.di.UserRepositotory@71e9ddb4

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章