zoukankan      html  css  js  c++  java
  • Spring新特性_泛型依赖注入

    泛型依赖注入

    package com.tanlei.spring.generic;
    
    import org.springframework.beans.factory.annotation.Autowired;
    
    public class BaseService<T> {
        
          @Autowired
          protected   BaseRepository<T> baseRepository;
          
          public void add() {
              System.out.println("add...");
              System.out.println(baseRepository);
          }
    }
    package com.tanlei.spring.generic;
    
    import org.springframework.stereotype.Service;
    
    @Service
    public class UserService extends BaseService<User>{
         
    }
    package com.tanlei.spring.generic;
    
    public class BaseRepository<T> {
    
    }
    package com.tanlei.spring.generic;
    
    import org.springframework.stereotype.Repository;
    
    @Repository
    public class UserReopsitory extends BaseRepository<User>{
        
    }
    package com.tanlei.spring.generic;
    
    public class User {
    
    }
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    
        <context:component-scan base-package="com.tanlei.spring.generic"></context:component-scan>
    </beans>
    package com.tanlei.spring.generic;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Main {
       public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("bean.generic.xml");
        UserService userService=(UserService) context.getBean("userService");
        userService.add();
    }
    }

  • 相关阅读:
    git的搭建与简单实用
    zabbix项目实践
    zabbix的搭建与入门
    zabbix的深入了解
    harbor私有镜像仓库的搭建与使用与主从复制
    tensorflow 在windows下的安装
    word2vec:基本的安装及使用简介
    cs231n(三) 误差反向传播
    cs231n笔记(二) 最优化方法
    cs231n笔记 (一) 线性分类器
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/10139194.html
Copyright © 2011-2022 走看看