1,spring是一个轻量级控制反转和面向切面编程的框架(容器)。
2,spring boot是一个快速开发的脚手架,基于spring的,可以快速开发单个微服务。
3,springcloud是基于springboot的,是多个微服务的集合。
4,spring由七大部分组成,core aop dao orm web web-mvc context组成。
5,缺点:配置繁琐。
6,IOC是一种思想
之前的开发思路
interface UserDao
UserDaoImpl
UesrService
UserServiceImpl
//之前我们的调用方式为
private UserDao userdao=new UserDaoImpl();
private UserService userservice = new UserviceImpl();
//可是当我们突然改变了一个接口的实现类
//我们将UserDao的接口实现类修改为UserMysqlDaoImpl
//此时我们程序里的代码应该是
private UserDao userdao=new UserMysqlDaoImpl();//这样的开发会修改大量代码
现在通过一个set接口改变原有的方式
class UserServiceImpl implements UserService{
private UserDao userdao;
public void setUserDao(UserDao userdao){
this.userdao=userdao;
}
public void getuser(){
userdao.getuser();
}
}
psvm{
UesrService userService = new UserServiceImpl;
userService.setUserDao(new UserMysqldaoImpl)
//此时我们注入什么类型的实现类,那么UserServiceImpl 里的getuser就会用什么实现类
}
此时这个set方法实现了对实现类的注入,避免了程序媛主动的去创建
最主要的反转思想就是如下代码的转变。
private UserDao userdao=new UserDaoImpl;
现在
private UserDao userdao;
public void setUserDao(UserDao userdao){
this.userdao=userdao;
}
主动权原来在srvice层,现在实在用户层,用什么类型的UserDao我们就注入什么。
https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference
********,写了半天笔记,突然断网,********白做了两个小时笔记。