spring框架:负责宏观调控,负责整合其他的第三方的框架
IOC介绍IOC是一种控制反转的设计思想,由spring容器管理对象的生命周期,降低代码的耦合性。
将所有的对象都交给spring容器管理,容器负责对象的注入
DI介绍:Dependency Injection 依赖注入spring容器替你管理一系列需要的类,前提是你需要将这些类表示交给容器进行管理才可,然后在你需要的时候不用自己去定义,容器就会自动帮你进行实例化
实现IOC思想需要DI进行注入。
注入的方式最常用的就是@Aurowired注解,只要加上注解即可,且如果对象是接口,会自动注入实现类。如果对象过多 可以使用@Qualifier("cat")注解进行选择特点的类。且必须与@Aurowired注解同时出现才能使用。
1.spring容器管理对象:1.1 使用XML形式配置文件管理对象。基本不咋用,一般都是注解使用更方便
Bean 元素:使用该元素定义需要spring容器管理对象
id属性: 全局唯一变量一般类型首字母小写
class属性: class的路径信息,需要写全名
1.2 使用注解的形式进行配置管理的对象
@Bean 使用此注解进行标识是一个要提交给spring容器进行管理的对象
定义一个类,将类在配置类中进行注解@Bean 此方法还是自己进行了创建定义
1.3使用注解@component的形式进行配置管理对象(一般多用注解的形式)
@component定义在类上表示此类是一个提交给容器管理的对象。会自动实例化。
1.4使用@Controller @Service @Repository 形式进行配置管理对象,此方法降低了耦合度 每个表示不同的业务区域
2.定义spring配置类2.1 一个完整的项目需要一个专门的配置类进行管理项目内容
使用@Configuration将一个类定义为配置类,此类中专门用来各种配置
使用@ComponentScan 配置需要扫描文件的路径,将使用了@Component注解的类自动实例化
配置类中可以添加其他需要的配置注释,前两个是必用的注释
3.创建spring容器,通过容器得到内容 4.工厂模式通过工厂模式进行创建对象(万能的)可以将抽象类进行容器注入,工厂模式需要实现类 FactoryBean
因为是实现类所有会自动重写 getObject() 和 getObjectType() 两种方法
getObject() 返回类型对象
getObjectType() 返回字节码
未完待续。。。。



