spring是什么?
spring是2003年兴起的轻量级的,非侵入式的,IOC和AOP的一站式框架,
目的是简化企业级开发.
spring特点
轻量级的
Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核 心功能的所需的 jar 总共在 3M 左右。 Spring 框架运行占用的资源少,运行效率高 。
非侵入式
编写一些业务类的时候不需要继承 spring 特定的类,通过配置完成依赖注入后就可以使用,此时,spring 就没有侵入到我业务类的代码里.
IOC
即 Inversion of Control,缩写为 IOC,控制反转, 就是将生成对象,管理对象的权利反转交给spring框架,在哪儿需要使用对象,只需要注入即可,就是由 Spring IoC 容器管理对象,而非传统实现中由程序代码直接操控.
AOP
面向切面,通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付在 Spring 中,开发人员可以从繁杂的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量.
一站式框架
Spring 本身也提供了数据访问功能和 web 功能,以及可以很好的管理其他框架
搭建
导入jar
开发类
编写配置文件(配置需要spring管理的类)
容器实现类 ClassPathXmlApplicationContext(“spring.xml”)
getBean(“对象名”)
IOC容器(spring框架)( 控制反转)
以前是正控 在哪儿用,在哪儿new
现在是反控, 同一交给spring, 交给spring管理的对象,spring在创建时,就可以为我们的对象添加额外的功能.
目的:降低耦合度
底层实现方式: 解析 xml/扫描注解标签 + 工厂模式 + 反射机制
依赖注入【DI:Dependency Injection】
依赖注入是伴随控制反转出现的.
在spring创建的对象的同时,对象中的属性是需要赋值的,这个赋值的过程称为依赖注入
注入方法有两种
①属性set方法注入
②构造方法注入
xml方式配置(现在开发中用的很少)
注解方式配置(常用)