适用场景:

1、IOC容器完成启动就想加载进来的数据

2、多个已经定义好的组件,想在使用的时候通过一行代码就全部拿到

3、等等....

联想:@Autowired、@Resources等也可以类似使用

玩法(简单介绍两个,其中的原理自己可以琢磨)

一、系统启动的时候就完成某些数据的加载

例:我想在系统启动的时候就查出所有快递公司(这里使用的是dao,用的是mybatis)

public class ExpressCompanyDao extends AbstractDao<ExpressCompany> {

private static final String classStr = ExpressCompanyDao.class.getName();

@Autowired

public List<ExpressCompany> queryAll() {

return sqlSessionTemplate.selectList(classStr+".queryAll");

}

}

二、同时加载全部插件

例:支付插件很多我想通过简单的方式全部加载

父类(其中的抽象方法交给子类去实现)

public abstract class PaymentPlugin implements Comparable<PaymentPlugin>

插件一、

@Component("yeepayPlugin")

public class YeepayPlugin extends PaymentPlugin

插件二、

@Component("tenpayPartnerPlugin")

public class TenpayPartnerPlugin extends PaymentPlugin

....

他们都继承了PaymentPlugin

如果想要在使用的时候就能直接拿到,一行代码就可以了

@Autowired

private List<PaymentPlugin> paymentPlugins = new ArrayList<PaymentPlugin>();

这样就可以拿到全部插件了

170315、spring:@Autowired等注解的别样玩法的更多相关文章

  1. Spring自动装配----注解装配----Spring自带的@Autowired注解

    Spring自动装配----注解装配----Spring自带的@Autowired注解 父类 package cn.ychx; public interface Person { public voi ...

  2. Spring @Autowired、@Resource、@Required、@Component、@Repository、@Service、@Controller注解的用法和作用

    Spring @Autowired,@Resource,@Required注解的用法和作用 Spring中 @Autowired标签与 @Resource标签 的区别 Spring注解@Compone ...

  3. spring in action 学习笔记五:@Autowired这个注解如何理解

    @Autowired这个注解的意思就是自动装配.他把一个bean对象自动装配到另一个对象中.下面的案例证明了spring的自动装配. 定义一个Sixi类.代码如下: package com.qls.a ...

  4. Spring @Autowired 注解 学习资料

    Spring @Autowired 注解 学习资料 网址 Spring @Autowired 注解 https://wiki.jikexueyuan.com/project/spring/annota ...

  5. Spring Boot@Component注解下的类无法@Autowired的问题

    title: Spring Boot@Component注解下的类无法@Autowired的问题 date: 2019-06-26 08:30:03 categories: Spring Boot t ...

  6. 死磕Spring之IoC篇 - @Autowired 等注解的实现原理

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...

  7. Spring+Mybatis基于注解整合Redis

    基于这段时间折腾redis遇到了各种问题,想着整理一下.本文主要介绍基于Spring+Mybatis以注解的形式整合Redis.废话少说,进入正题. 首先准备Redis,我下的是Windows版,下载 ...

  8. Spring MVC常用注解

    cp by http://www.cnblogs.com/leskang/p/5445698.html 1.@Controller 在SpringMVC 中,控制器Controller 负责处理由Di ...

  9. SpringMVC4 + Spring + MyBatis3 基于注解的最简配置

    本文使用最新版本(4.1.5)的springmvc+spring+mybatis,采用最间的配置方式来进行搭建. 1. web.xml 我们知道springmvc是基于Servlet: Dispatc ...

随机推荐

  1. linux下开发C语言需要安装的manpages手册

    linux下开发C代码需要安装的manpages: $ sudo apt-get install manpages$ sudo apt-get install manpages-dev$ sudo a ...

  2. 用EA生成实体层代码

    在个人版机房重构中.实体层的代码敲得有点儿烦了.不同的实体仅仅是命名不同.代码结构全然一样.遇到反复的事情,就该动动脑.想想办法了. 以下给大家介绍使用EA生成实体层的代码. 首先.建一个类,注意选择 ...

  3. Centos7 安装Git-cola

    首先安装Git sudo yum -y install git* 找到 git-all.noarch , 安装这个. sudo yum install git-all.noarch ========= ...

  4. Centos7上修改mysql数据目录

    通过yum安装的mysql,启动和增加数据库,增加数据如下: [root@wucl-4 lib]# systemctl start mariadb [root@wucl-4 lib]# mysql - ...

  5. 区别:Use MFC In A Shared DLL 和 Use MFC In A Static Library

    摘自:Programming Windows with MFC, 2nd Edition Choosing Use MFC In A Shared DLL minimizes your applica ...

  6. js delete

    在开始之前,先让我们看一段代码 >>> var sum = function(a, b) {return a + b;} >>> var add = sum; &g ...

  7. 使用tcpdump观察IPV4头部结构

    sudo tcpdump -nt -i lo  #抓取本地回路上的数据包 先运行上面的命令,然后再另一个终端运行下图所示的命令: [root@linux 5]# sudo tcpdump -nt -i ...

  8. [JS] 页面回车键提交表单-常用于登录页面

    //判断是否按下了回车键 var EnterSubmit = function(evt){ evt= window.event || evt; if (evt.keyCode == 13){ //若按 ...

  9. adb shell error: more than one device and emulator

    adb shell error: more than one device and emulator 本文转载出处: http://blog.sina.com.cn/s/blog_7ffb8dd501 ...

  10. MyBatis 最强大的特性之一就是它的动态语句功能

    MyBatis 最强大的特性之一就是它的动态语句功能.如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略 ...