zoukankan      html  css  js  c++  java
  • 泛型依赖注入

    Spring 4.x的新特性

    1.结构

    BaseRepository.java:

    1 package com.hk.beans.generic.di;
    2 
    3 public class BaseRepository<T> {
    4 
    5 }

    BaseService.java:

     1 package com.hk.beans.generic.di;
     2 
     3 import org.springframework.beans.factory.annotation.Autowired;
     4 
     5 public class BaseService<T> {
     6     
     7     @Autowired
     8     protected BaseRepository<T> repository;
     9     
    10     public void add(){
    11         System.out.println("add...");
    12         System.out.println(repository);
    13     }
    14 }

    User.java:

    1 package com.hk.beans.generic.di;
    2 
    3 public class User {
    4 
    5 }

    UserRepository.java:

    1 package com.hk.beans.generic.di;
    2 
    3 import org.springframework.stereotype.Repository;
    4 
    5 @Repository
    6 public class UserRepository extends BaseRepository<User>{
    7  
    8 }

    UserService.java:

    1 package com.hk.beans.generic.di;
    2 
    3 import org.springframework.stereotype.Service;
    4 
    5 @Service
    6 public class UserService extends BaseService<User>{
    7     
    8 }

    Main.java:

     1 package com.hk.beans.generic.di;
     2 
     3 import org.springframework.context.ApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 public class Main {
     7     public static void main(String[] args) {
     8         ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-generic-di.xml");
     9         UserService userService = (UserService) ctx.getBean("userService");
    10         userService.add();
    11     }
    12 
    13 }

    运行结果:

    每接触一个新领域,我就像一块掉进水里的海绵,四面八方的养分都让我不断充实。O(∩_∩)O~
  • 相关阅读:
    python-pytest学习(四)-fixture简介
    python-pytest学习(三)-setup/teardown
    python-pytest学习(二)-执行用例规则
    Vue 之五 生命周期钩子函数 自定义指令 过滤器
    Vue 之四 Swiper
    Vue 之三局部组件与全局组件
    Vue 之三 与后端交互
    有关于mysql面试的小故事
    Vue 基础之二
    kubernetes
  • 原文地址:https://www.cnblogs.com/zhzcode/p/9651514.html
Copyright © 2011-2022 走看看