spring学习(一)

spring好难啊。。。一开始还要学习一下maven
结合视频和spring实战一起学习
Applicationcontext三个实现常用类

ClassPathXmlApplicationContext()//类路径下的配置文件(常用)
FileSystemXmlApplicationContext()//任意路径的配置文件
AnnotationXmlApplicationContext()//用于读取注解创建容器的

核心容器创建的两个接口

ApplicationContext//在构建核心容器时创建对象的方式是立刻加载(单)
BeanFactory//在构建核心容器时创建对象的方式是延迟加载,啥时要用啥时加载(多)

spring对bean的管理细节

  • 1

.创建bean的三种方式

1.默认构造函数
在spring的配置文件中,使用bean标签,配以id class,且没有其他标签
<bean id="" class=""></bean>
如果对象没有默认构造函数,对象无法创建
2.使用普通工厂中的方法创建对象
<bean id="instancefactory" class="......"></bean>
<bean id="..." factory-bean="instancefactory" factory-method="...">
3.使用普通工厂中的静态方法创建对象
<bean id=".." class="。。"  factory-method="...">
  • 2

bean的作用范围
bean的scope属性用于指定范围
singleton单例
prototype双例
request作用与web的request范围
session作用于web的会话范围
global-seddion作用于集群的会话范围

  • 3

bean的生命周期
单例对象
出生:创建
活着:容器还在
死亡:容器销毁
多例
出生:使用时
活着:容器在
死亡:垃圾回收

  • 4
    依赖注入
    能注入的数据
    基本类型和String
    其他bean类型
    复杂的
    方式:
    1.构造函数
    使用的标签:constructor-arg
    属性:type:要注入的数据数据类型
    index用于给构造函数指定位置的索引赋值
    name指定名称赋值(常用)
    value 用于提供基本和String
    ref指定其他的bean类型数据
<bean id="" class="">
<constructor-arg type="" index="" name="" value=""></constructor-arg>
</bean> 

2,set方法注入
property
属性:value.ref,name(set方法名称)

<bean id="" class="">
<property name="" value=""></property>
</bean>

复杂类型

<bean id="" class="">
<property name="">
<array>
<value></value>
</array>
</property>
</bean>

你可能感兴趣的:(java)