Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。
Spring组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dAxkrgxv-1638375270651)(spring.assets/format,png.png)]
-
Spring Boot
- 一个快速开发的脚手架
- 可以快速开发单个微服务
- 学习SpringBoot前提Spring + SpringMVC
-
Spring Cloud
- springCloud基于SpringBoot实现的
SpringBoot
SringCloud
环境
1、导包
2、
IOC 控制反转原理控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IOC容器,其实现方法是依赖注入。实现了(创建+配置)与组件的使用分离。
Spring原理Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建于组织对象存入容器中,程序使用时再从IOC容器中取出需要的对象。
采取XML方式配置Bean时,Bean的定义信息和实现分离的。而采取注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。
XML配置通过set注入通过getBean获取的时候,使用无参构造创建对象。应该是指针指向已经被Spring实例化的对象。需要去学习构造器原理。
package spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
// 获取Spring的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
// 对象都在Spring中管理,使用时直接取出来。
Hello hello = (Hello) context.getBean("hello");
System.out.println(hello.getStr());
}
}
package spring;
public class Hello {
private String str;
public Hello() {
}
public Hello(String str) {
this.str = str;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
@Override
public String toString() {
return "Hello{" +
"str='" + str + ''' +
'}';
}
}
其它
IOC创建对象的方式
-
默认无参构造
-
使用有参构造方法
-
下标赋值
-
参数的类型匹配,如果多个相同类型就有问题,不建议使用
-
直接通过参数名来设置
-
别名DI依赖注入 构造器注入 Set注入 拓展方式注入Bean配置 import 这个一般用于团队开发,他可以将多个配置文件,导入合并为一个applicationContext.xml



