分享人:韩要贺
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
Spring是一个基于IOC和AOP结构,J2EE系统的框架。IOC反转控制是Spring的基础,Inversion Of Control简单说就是创建对象由以前的程序员自己new构造方法来调用,变成了交由Spring创建对象;DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。 AOP是任务五里面的内容,今天暂时不讲
Spring框架的组成
1.核心容器通过 IOC/DI(依赖注入)来实现容器对Bean的管理。这里最基本的概念是BeanFactory,它是任何Spring应用的核心。
2.Spring Context:提供了一种框架式的对象访问方法,Context封装包的特性得自于Beans封装包,applicationContext.xml是Spring的核心配置文件,通过关键字category即可获取Category对象,该对象获取的时候,即被注入了字符串"category 1“到name属性中
IOC和传统方式区别
1.传统的方式: 通过new 关键字主动创建一个对象
2.IOC方式 对象的生命周期由Spring来管理,直接从Spring那里去获取一个对象。 IOC是反转控制 (Inversion Of Control)的缩写,就像控制权从本来在自己手里,交给了Spring。
注入对象方式
1.setter getter方式(代码)
2.在applicationContext.xml 中要使用ref来注入另一个对象
注解常用词语
1.@Autowired,给这个测试类装配Category对象,可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get
2.@Resource,作用和@Autowired一样的,但是要加一个赋值(name="category")
3.@Component,为Category 类加上@Component注解,即表明此类是bean;为Product类加上@Component注解,即表明此类是bean
applicationContext.xml配置文件
applicationContext.xml放置的位置
applicationContext.xml作用,通过关键词category即可获取Category对象,该对象获取的时候,即被注入了字符串"category 1“到name属性中
怎么用注解的方式进行配置
TestSpring测试类
通过spring获取Category对象,以及该对象被注入的name属性。 代码里打印出通过Spring拿到的Category对象的name属性
1.spring中的BeanFactory与ApplicationContext的作用和区别?
2.什么是自动装配
1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。 2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: 比如资源访问,事件传递,通过ApplicationContext扩展了ResourceLoader(资源加载器)接口。 3. ApplicationContext的初始化和BeanFactory有一个重大的区别:BeanFactory在初始化容器时,并未实例化Bean,直到第一次访问某个Bean时才实例目标Bean;而ApplicationContext则在初始化应用上下文时就实例化所有的单实例的Bean。因此ApplicationContext的初始化时间会比BeanFactory稍长一些.
Spring容器能够自动装配相互合作的bean,这意味着容器不需要construor-arg和property配置,能通过Bean工厂自动处理bean之间的协作
3.张庆东、韦杰师兄的ppt
今天的分享就到这里啦,欢迎大家提问和探讨!