这个记录是对[1]的整理和简化,便于日后遗忘时迅速恢复记忆。

Spring框架有四大原则:

①使用POJO进行轻量级与最小侵入式开发

②通过依赖注入和基于接口编程实现松耦合

③通过AOP和默认习惯进行声明式编程

④通过AOP和模板减少模式化代码

这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。

                声明         含义
@Component  当前类需要被Spring容器管理
@Service 

当前类在业务逻辑层使用

[3]中讲了这个层很多时候没啥用

@Repositorty   当前类在数据访问层使用
@Controller   当前类在展现层(MVC)使用   

以上4种声明方式效果完全一致(可以互相替换),使用不同的关键词是为了给阅读的人能够快速了解该类属于哪一层

声明                                    含义

@Autowired                    Spring为这个变量注入一个Bean

@Inject                            翻译为“注入”最易懂的注入注解

@Resource                      翻译为“资源”,可以理解为Spring往里面注入的时一个资源

上面3种注入的方式效果完全一致(可以互相替换)

@Autowired必须与@Component配对,作用图如下:

意思是:

代码中MyRepository归属Bean容器(BeanFactory)管辖

MyComponet从Bean容器(BeanFactory)中获取动态生成的MyRepository的bean

代码来自[2]

Reference:

[1]SpringBoot学习笔记——第二节,依赖注入与控制反转

[2]springboot成神之——ioc容器(依赖注入)

[3]service层的接口有什么用?

springboot的IOC依赖注入与控制反转-举例(转载+自己整理)相关推荐

  1. Spring的IOC(依赖注入和控制反转)

    Spring框架面试笔试必问之一!非常重要也非常强大,说实话一开始仿照着Spring MVC配置搭建起来,再写几句增删改查,真的配不上叫做学会了那个框架.框架是N种优秀的设计模式和一些很高深的技术组合 ...

  2. Spring依赖注入和控制反转

    文章目录 1.依赖注入 1.1.依赖注入和控制反转的概念 1.2.依赖注入的实现方式 1.3.控制反转的具体实现 1.4.依赖注入的具体实现 1.5.依赖注入和控制反转总结 1.依赖注入 1.1.依赖 ...

  3. 依赖注入框架Dagger2详解(一),依赖注入和控制反转的深入理解

    IoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合.更优良的程序,而Dagger2框架是依赖注入思想践行者的优秀代表. 依赖注入框架Dagger2详解(一), ...

  4. 依赖注入和控制反转的区别

    控制反转:创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理. 依赖注入:创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现. 依赖注入和控制反转是 ...

  5. [翻译]StructureMap 指南 – .NET中的依赖注入和控制反转

    原文地址:http://www.pnpguidance.net/Post/StructureMapTutorialDependencyInjectionIoCNET.aspx StuctureMap ...

  6. 浅谈依赖注入与控制反转

    前言:设计模式其实是一个很空洞的东西,设计模式有几十种,有些人觉得工厂模式也单例模式已经足够解决大部分问题.而有些人觉得任何设计模式都会让开发变得更"复杂",更"低效&q ...

  7. 简单解释什么是 依赖注入 和 控制反转

    简单解释什么是 依赖注入 和 控制反转 2017-07-09 关于 依赖注入 与 控制反转 的概念有些人觉得很难理解,最近在给别人讲这个概念的时候梳理了一个比较好理解的解释,而且我认为非技术人员也应该 ...

  8. 简单解释什么是 依赖注入 和 控制反转 1

    关于 依赖注入 与 控制反转 的概念有些人觉得很难理解,最近在给别人讲这个概念的时候梳理了一个比较好理解的解释,而且我认为非技术人员也应该能听的懂,因此分享给大家,希望下次你在给别人讲的时候也能讲的明 ...

  9. Spring的依赖注入和控制反转很难理解?一文搞定

    [用了这么久的Spring,一直没有理解好Spring的依赖注入和控制反转,以前看视频也没有老师讲清楚这个问题,今天终于刷到一个老师把这个问题讲清楚了,跪服大佬~~~] 孙哥说Spring5 全部更新 ...

最新文章

  1. socket编程listen函数限制连接数的解决方案_网络编程——服务器篇
  2. maven下载其源代码包并关联
  3. JVM(HotSpot) 垃圾收集器
  4. TensorFlow 1.0正式发布
  5. Ruby BigDecimal库拒绝服务漏洞
  6. halcon File文件算子,持续更新
  7. Hadoop常见问题 | Hadoop能干什么?
  8. oracle decode别名,Oracle中decode函数用法 VelHong
  9. JBoss3.0 下配置和部署EJB简介
  10. codeforces 702A A. Maximum Increase(水题)
  11. VDI SolutionTrack - 上海站:11月20日
  12. Android OAID 获取 基于MSA oaid_sdk_1.0.25.zip
  13. 怎样查看PPT中的字数
  14. EI: 室内微生物组、大气污染物与幼儿园儿童的哮喘、鼻炎和湿疹—一项重复横断面研究...
  15. 未能完成该操作pkdownloaderror错误8_国家励志奖学金申请和审批操作指南
  16. 【WLAN从入门到精通-基础篇】第9期——直接转发和隧道转发
  17. 电脑连接不上手机热点-始终显示无法连接到该网络的解决办法(亲测管用)
  18. NLP中的词性标注方法
  19. 如何驯服事件驱动的微服务
  20. STM32之IIC通讯升级版--SHT30温湿度读取

热门文章

  1. 驱动程序实例(四):按键驱动程序(platform + input子系统 + 外部中断方式)
  2. Java不确定参数个数的函数方法,实现求多个数最小值
  3. scrapy---Logging
  4. 【springboot】之 解析@EnableWebMvc 、WebMvcConfigurationSupport和WebMvcConfigurationAdapter
  5. 【bzoj1726/Usaco2006 Nov】Roadblocks第二短路——SPFA
  6. CMT learning
  7. [CSS] Use CSS Counters to Create Pure CSS Dynamic Lists
  8. Printk与sched_clock_init的一点分析
  9. ITK读取CT DICOM,如何设置窗位和窗宽?
  10. Pycharm无法安装第三方模块(模块已存在/换源)