您的位置:首页 > 编程语言 > Java开发

Spring学习01

2017-07-28 10:41 267 查看
滴水穿石

Spring 的概念就不要说了,这只是复习

1. IOC容器

ApplicationContext ctx = new ClassPathXmlApplicationContext("bean-autowire.xml");


ApplicationContext  就是IOC容器,可以这么理解
IOC容器从哪里加载?一般都使用上述方式,从配置文件中加载
ClassPath 应该不用说了,就是项目的src 目录下

2.bean的配置

2.1 属性配置

<bean id="address" class="com.cfb.learn.domain.Address">
<property name="city" value="BeiJing"></property>
<property name="street" value="XiZHiMen"></property>
</bean>


2.2 构造器配置

<bean id="car" class="com.cfb.learn.domain.Car"><!-- p:name="Falali" p:price="300000.25" -->
<constructor-arg name="name" value="Falali"></constructor-arg>
<constructor-arg name="price" value="300000.25"></constructor-arg>
</bean>


2.3 命名空间、命名引用、自动装配

<bean id="person" class="com.cfb.learn.domain.Person"
p:name="XiaoMing" p:address-ref="address" autowire="byName"></bean>


byName: 根据bean的名字及bean的setter风格的属性名进行自动装配,若有匹配则自动装配,没有则不装配

byType:

一般不使用自动装配,不是那么灵活

结果:

Person [name=XiaoMing, address=Address [city=BeiJing, street=XiZHiMen], car=Car [name=Falali, price=300000.25]]


  

2.4 bean配置的继承

<bean id="address" class="com.cfb.learn.domain.Address"
p:city="BeiJing……" p:street="XiZHiMen"></bean>

<bean id="address2" class="com.cfb.learn.domain.Address"
p:city="BeiJing" parent="address"></bean>




父类可以 声明为抽象的类 abstract="true"

抽象的类可以没有 class ,但是没有 class 必须为抽象类,这样可以作为模板使用

2.5 bean 之间的依赖关系

depend-on

可以通过depend-on 设置 bean 的前置依赖

IOC容器初始化的时候,会在Bean初始化之前先实例化依赖的bean

—————————————————————————————————————————————————————————————————————————

无论如何,心平气和
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: