xmlns:c="http://www.springframework.org/schema/c"
xmlns:p="http://www.springframework.org/schema/p"加入可以简化
静态方法实例化bean,不用配置工厂bean,在工厂中实例化;实例方法实例化bean,需要配置工厂bean和实例对象bean,以factory-bean关联;别名alias只能一个别名,bean定义name可以定义多个
1、创建一个xml格式的配置文件
2、在xml文件中定义一个bean,给每个bean设定一个id
3、通过ApplicationContext获取Spring上下文ApplicationContext context = new ClassPathXmlApplicatioinContext("文件名.xml");
4、获取beanBean bean = context.getBeal("第一步中给bean的id",Bean.class);
约定:
1.所有的bean的生命周期交给ioc容器管理
2.被依赖的bean通过构造方法注入
3.被依赖的bean需要优先创建
IoC
控制对象的创建及销毁(生命周期)
将对象的控制权交给IoC容器
Java Web发展史:
第一阶段:JavaBean+Servlet+Jsp逐步发展
第二阶段:面对EJB重量级框架带来的种种麻烦
第三阶段:SpringMVC/Struts+Spring+Hibernate/myBatis
第四阶段:享受SpringBoot"约定大于配置"的种种乐趣,很多繁琐的配置都变成了约定
第五阶段:以Dubbo为代表的SOA为服务架构体系(Dubbo是阿里创建的)
第六阶段:比较前沿的技术,SpringCloud微服务架构技术生态圈(基于SpringBoot,保证了开箱即用,需要什么SpringCloud保证都有。
为什么使用IOC
通过构造方法和set方法注入Bean
通过属性直接注入Bean
实例化和注入时指定Bean的ID
List/set注入
将多个泛型实例注入到List
Map注入
将多个泛型实例注入到set
String、Integer等类型直接赋值注入
Spring IoC容器内置接口实例注入
使用spring实例化bean
通过构造方法
静态方法
实例方法
bean的别名
spring ioc
创建一个xml配置文件
获取spring上下文
获取bean
约定:
所有的bean的生命周期交给ioc容器管理
被依赖的bean通过构造方法注入
被依赖的bean需要优先创建
ioc
控制: 控制对象的创建及销毁
反转:将对象的创建权交给IOC容器
1-4 Spring IoC入门
实现IoC
xml配置spring
使用场景1
使用场景2
Bean属性继承xml文件写法
类实现初始化和销毁接口
配置文件两种写法
Bean销毁
Bean的初始化
懒加载的适用场景
配置文件配置默认懒加载
Bean的懒加载
只对singleton作用域的Bean有效;其他作用域不需要懒加载,因为不知道Bean什么时候被需要。
自定义作用域代码
自定义作用域配置
SimpleThreadScope
相关作用域
web.xml配置上下文
SpringWeb上下文环境
如果不使用DispatcherServlet,那么需要增加listener或filter
Bean1代码改造前和改造后的对比:
Spring配置文件中的改造: