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

 

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