1.Spring:是一个轻量级依赖于控制反转和面向切面编程的容器框架。
--轻量级:在耗费空间大小 以及开发成本上轻量级;
--IOC(DI):通过依赖注入实现工程的松耦合;
--AOP:通过切面编程实现工程的高内聚;
2.SpringBean注入的两种方式:
1.传值注入:在spring.xml配置文件中通过bean中的property属性参数配置 name=”注入的bean名称“ ref=”被注入bean的Id“,在实现中使用相同类型接受并且使用setter实例 Bean.
2.构造注入:在spring.xml配置文件中通过bean中的constructor-arg属性参数配置 name=”注入的bean名称“ ref=”被注入bean的Id“,在实现方法中创建带参构造方法,参数为被引 入bean的类型,将参数赋予实现方法中构建的需引用的Bean即可.
特别注意:构造注入中构造函数中的参数名称必须与spring.xml配置文件中的constructor-arg属性参数配置 name的值相同否则无法匹配.
3.Spring-Scope(作用域)分为:
--singleton:单例的即在同一个spring容器中多次调用指向同一个bean
--prototype:原型的即在同一个spring容器中多次调用则生成多个bean
--request:生成的bean在同一个request请求域中有效
--session:生成的bean在同一个session请求域中有效
--global session:使用单点登录机制 如protalet登陆则可以在多个session中有效
4.Spring-lifecycle(生命周期):
--springBean的生命周期 :初始化 存活 销毁
--三种不同方式的初始化以及销毁:1.接口实现,2.单个配置,3.全局默认配置
--初始化:在spring.xml文件加载之后且bean被加载之前完成
--销毁:在spring.xml文件被销毁之后执行
--优先级:实现接口方式 > 单个配置方式 当前两种其中一种或同时出现时默认全局配置无效,可配置对运行无影响(可以默认的配置一下,兜个底啥的)
5.Spring-aware(感知???):
--通过使用 BeanNameAware,ApplicationContextAware 实现对Bean本身以及spring的感知
--BeanNameAware:没看出有什么作用,好像是可以知道自己在spring配置文件中的beanId
--ApplicationContextAware,可获得所在spring容器中其他的bean信息(有用!)