Spring使用@Autowired为抽象父类注入依赖代码实例

作者:zhjh256 时间:2023-02-01 09:30:35 

这篇文章主要介绍了Spring使用@Autowired为抽象父类注入依赖代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

有时候为了管理或者避免不一致性,希望具体服务统一继承抽象父类,同时使用@Autowired为抽象父类注入依赖。搜了了网上,有些解决方法实现实在不敢恭维,靠子类去注入依赖,那还有什么意义,如下:

父类:


public abstract class BaseCar {
 Settings settings;
}

@Component
public class SportsCar extends BaseCar{
 //Autowired修饰方法时,根据方法参数类型判断实例化哪个类
 @Autowired
 public void haha(Settings settings){
   super.settings=settings;//父类属性注入
 }

public void print(){

System.out.print(settings.getSpeed());
 }
}

这还叫自动???

经仔细研究与测试,只要父类要注入的属性是protected保护级别即可,如下:


public abstract class BusinessService {

@Lazy
 @Autowired
 protected RedisUtil redisUtil;

Logger logger = LoggerFactory.getLogger(this.getClass());
}

子类继承后就可以直接使用redisUtil了,不会出现未注入的情况。

来源:https://www.cnblogs.com/zhjh256/p/9984134.html

标签:spring,@,Autowired,抽象,父类,注入,依赖
0
投稿

猜你喜欢

  • 被kafka-client和springkafka版本坑到自闭及解决

    2023-08-23 15:07:36
  • 利用java制作简单的音乐播放器

    2022-01-21 11:39:32
  • Java实现简单的五子棋小游戏

    2023-11-25 07:36:13
  • flutter material widget组件之信息展示组件使用详解

    2023-06-22 08:45:35
  • Java处理InterruptedException异常的理论与实践

    2023-07-25 03:22:33
  • C语言时间函数之strftime()详解

    2023-06-26 02:42:32
  • springmvc如何使用map接收参数

    2023-11-28 04:49:17
  • springboot基于Mybatis mysql实现读写分离

    2023-11-27 21:42:59
  • SpringMVC RESTFul实体类创建及环境搭建

    2022-12-25 18:23:06
  • Android Studio多渠道打包的配置方法

    2023-06-15 23:19:48
  • Spring boot集成Kafka消息中间件代码实例

    2022-11-06 21:53:48
  • SpringBoot+netty-socketio实现服务器端消息推送

    2023-11-15 06:14:31
  • C++实现LeetCode(2.两个数字相加)

    2023-06-23 16:51:11
  • Mybatis的几种传参方式详解

    2021-12-08 15:35:53
  • 详解java 客户端链接不上redis解决方案

    2023-11-12 10:12:15
  • Mybatis插件之自动生成不使用默认的驼峰式操作

    2023-11-19 01:20:03
  • maven中配置项目的jdk版本无效的排查方式

    2023-07-18 21:43:42
  • 面试官:详细谈谈Java对象的4种引用方式

    2022-09-19 04:52:20
  • SpringIOC BeanDefinition的加载流程详解

    2023-11-25 18:06:22
  • SpringBoot使用validation-api实现对枚举类参数校验的方法

    2021-09-22 19:21:32
  • asp之家 软件编程 m.aspxhome.com