SpringBoot之IOC
IOC(控制反转):就是程序员不用管new对象的事了,将new对象的任务交给框架来实现。
实现控制反转的方法有两种
1.配置文件管理,bean
2.注解
一、配置文件管理
1.选择resource下面的application.properties,new一个xml文件
2.在new了的xml文件里,写对应的bean
其中id作为名字,而class对应相应实现类的全限定类名
3.在测试类中利用Spring提供的方法读取配置文件,然后再根据xml bean中的id找到对应的类
4.这样就将创建对象的过程交给了框架
二、如何将一个项目中的new方法全部交给框架?
以上描述中,UserServiceIml中依然有new UserDao的方法,为了解决这个问题
1.利用构造函数
在配置文件中,利用constructor-arg,将下一个bean在UserService中实例化之后,将UserDao对象作为参数传递到UserServiceIml中的有参构造函数中。
2.利用Setter方法,通过在xml中在UserService bean中实例化UserDao,然后传值到UserServiceImpl方法中
二、注解方式实现IOC
用注解@Repository标记Dao层实现类,其实就是将此时的实现类的类名首字母小写作为id,然后将此个类的全限定类名作为value放到xml配置文件中。
用@Service标记Service层实现类;
当声明一个类,例如 private UserDao userDao;时,不用new了,前面加上@Autowired注解,实现自动new UserDao。
new UserDao的时候是按类名UserDao进行查找的,当类名一样时
解决方法:
@Resource(name = “userDaoImpl”),name是所new类的类名首字母小写
@Autowired
@Qualifier(“userDaoImpl2”)
Qualifier括号当中写所new 类的类名首字母小写Dao层实现类
Service层实现类
测试类调用
SpringBoot之IOC相关推荐
- springboot的IOC依赖注入与控制反转-举例(转载+自己整理)
这个记录是对[1]的整理和简化,便于日后遗忘时迅速恢复记忆. Spring框架有四大原则: ①使用POJO进行轻量级与最小侵入式开发 ②通过依赖注入和基于接口编程实现松耦合 ③通过AOP和默认习惯进行 ...
- SpringBoot交给IOC管理对象的几种方式
文章目录 @Component @Bean @Import @Import搭配ImportSelector @Import搭配ImportBeanDefinitionRegistrar BeanFac ...
- SpringBoot的IOC和AOP
1. IOC 控制反转(IOC)和依赖注入(DI)是同一个概念,目的在于降低系统耦合,将类的实例化工作交给Spring代理,主要用到的设计模式为工厂模式,通过Java反射机制实现类的自动注入. IoC ...
- springboot分析ioc原理
1.读取bean配置信息 2.实例化bean 3.读取bean配置 信息 4.应用程序使用 hashmap缓存一份bean的信息,快速找到 2.springmvc 1.clienthttp请求过来通过 ...
- SpringBoot之配置嵌入式Servlet容器
1.概述 文章目录 1.概述 2.如何修改SpringBoot的默认配置 3.定制和修改Servlet容器的相关配置 4.注册Servlet三大组件 5.替换为其他嵌入式Servlet容器 6.嵌入式 ...
- 后端学习 - SpringBoot
SpringBoot 是整合 Spring 技术栈的一站式框架,是简化 Spring 技术栈的快速开发脚手架 约定大于配置 文章目录 一 概述 1 第一个 SpringBoot 项目 2 Spring ...
- SpringBoot 就这一篇全搞定
一.Hello Spring Boot 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 微服务 ...
- 从头撸到脚,SpringBoot 就一篇全搞定!
一.Hello Spring Boot 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 微服务 ...
- springboot系列课程笔记-第四章-WEB开发
四.Web开发 1.简介 使用SpringBoot: 1).创建SpringBoot应用,选中我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可 ...
最新文章
- sohu广告js代码调研
- 光伏产品发展之路:从反倾销到欧盟加收税款
- 互联网造富亲历者讲述:屌丝富了以后
- 流量控制与拥塞控制区别
- 我的Python成长之路---第一天---Python基础(5)---2015年12月26日(雾霾)
- Linux Shell 脚本基础
- 打造Android微信朋友圈下拉刷新控件
- Hbase shell练习题
- Mysql mysqld_safe启动与myslqd启动坑
- CSS 世界 阅读笔记:(Ch1-Ch3)
- Sublime插件 FileHeader 的安装、设置、使用
- matlab仿真整流电路设计,基于Matlab GUI的整流电路仿真设计[图]
- Excel中数据截取
- 小布什逗留香港6小时 赴知名裁缝店做18套西装——中新网
- 人生就是一场直播——经蓓老师莅临大米时代公益讲座
- Houdini实现AO效果
- 如何使用Graylog来收集日志?
- javaweb-jsp编程例题
- 手机上传图片文件只能打开相机
- 计算机视频线接口,PC视频入门必备 多种TV-OUT接口简介