spring01

 * 程序的耦合:
 * 在开发中遇到的类和类之间依赖关系,这种依赖关系导致了当我们缺少某个对象时,程序根本无法编译。

 * 在我们实际开发中应该尽量避免此问题发生:

 * 我们在开发中应该做到:编译时不依赖,运行时才依赖。

 * 针对强依赖(高耦合)的解决办法:
 * 主要就是靠反射
 * 当我们解决了耦合问题之后,会产生硬编码问题:

 * 解决硬编码问题,就是使用配置文件


资源绑定对象:java.util.ResourceBundle

它就是用于读取资源文件的。
.properties后缀的文件就是资源文件(资源文件只有这一种)
它的使用特点是:1.只能用于读取,不能用于写入。2.它只能读资源文件,其他文件都读不了。3.它只能用于读取类路径下的,其他位置也读不了。


 * ApplicationContext:
* 它是一个接口,可以用于根据bean的id获取对象。是我们在spring中较常用的获取对象的容器。
* 它在读取配置文件创建对象时,采用的加载策略是立即加载。(读完配置文件就创建对象)
*  它有两个实现类:
*   ClassPathXmlApplicationContext:它只能读取类路径下的xml文件 一般使用此种方式
*   FileSystemXmlApplicationContext:它能读取磁盘任意位置的xml文件
*  
*  
*  BeanFactory:
*   它是spring中IOC的顶层接口,也是一个容器对象,使用此对象也能获取到bean。
*   它在读取配置文件创建对象时,采用的延迟加载策略。(什么时候用了,什么时候创建对象。)


依赖注入:DI dependency injection
它的本质就是在获取spring容器时,把对象中相关的信息都建立起来联系。
当我们获取对象时,该对象中关联对象已经有值了。 简单的说:缺什么传什么
XML注入的方式有两种:
第一种:构造函数注入
第二种:set方法注入 使用此方式注入是更多的 
注入的数据类型有三种:
第一种:基本类型和String
第二种:其他的bean类型 包括自定义类型和各种奇怪类型 需要用ref
第三种:复杂类型(集合类型)
-->
<!--
使用构造函数注入 
涉及的标签: constructor-arg
标签的属性: index:指定参数在构造函数中的索引 type:指定参数在构造函数中的类型 name:指定参数在构造函数中的名称 我们就用它找属性
=======上面三个都是找给谁赋值的,下面两个是指的赋的值是什么的==============
value:用于给属性赋基本类型和String类型的值 ref:用于给属性赋其他bean类型的值

注入的第二种方式:set方法注入 
及的标签: property 标签的属性 name:指定参数的set方法名称 我们就用它找属性
=======下面两个是指的赋的值是什么的==============
value:用于给属性赋基本类型和String类型的值 ref:用于给属性赋其他bean类型的值

``` 注入复杂类型结构相同,标签可以互换



spring管理bean的细节

创建Bean的对象的三种方式:第一种方式:采用默认无参构造函数创建对象。 用的最多的方式

注意:如果类中没有默认无参构造函数,将不能创建成功

第二种方式:通过工厂中的静态方法来获取对象

第三种方式:通过工厂中的实例方法来获取对象

Bean对象的作用范围:它是可以配置的,通过scope属性配置。

scope的取值:singleton:单例的(默认值) 单例情况:作用于整个应用。

prototype:多例的(整合struts2时,action必须的选项) 多例情况:每次用到时都会创建新的(作用范围就是一次使用过程中)

==================不常用的取值======================================

request:作用范围是一次请求

session:作用范围是一次会话

globalsession:作用范围是一次全局会话。

Bean对象的生命周期:

单例:出生:spring的容器一创建,对象就出生 活着:只要容器存在,对象一直在 死亡:容器销毁对象消亡

多例:出生:什么时候用什么时候创建 活着:只要在使用中,一直存在 死亡:当对象长时间不用,并且也没有其他对象引用时,会由java的垃圾回收器回收。



小细节:

很多时候写路径不能写相对路径例如"/src/index.jsp",因为src目录在硬盘中不存在,应该使用带盘符的绝对路径

spring中的bean默认是单例的,与struts2整合时需要使用多例



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值