2. 在Spring框架中提供了前两种的属性注入的方式
1. 构造方法的注入方式,两步
* 编写Java的类,提供构造方法
public class Car {
private String name;
private double money;
public Car(String name, double money) {
this.name = name;
this.money = money;
}
@Override
public String toString() {
return "Car [name=" + name + ", money=" + money + "]";
}
}
* 编写配置文件
<bean>
<constructor-arg value="大奔"/>
<constructor-arg value="100"/>
</bean>
2. 属性的setter方法的注入方式
* 编写Java的类,提供属性和对应的set方法即可
* 编写配置文件
3. 如果Java类的属性是另一个Java的类,那么需要怎么来注入值呢?
* <property/>
* 例如:
<bean>
<property value="小美"/>
<property ref="car2"/>
</bean>
f.数组,集合(List,Set,Map),Properties等的注入
1. 如果是数组或者List集合,注入配置文件的方式是一样的
<bean>
<property>
<list>
<value>小美</value>
<value>小风</value>
</list>
</property>
</bean>
2. 如果是Set集合,注入的配置文件方式如下:
<property>
<set>
<value>哈哈</value>
<value>呵呵</value>
</set>
</property>
3. 如果是Map集合,注入的配置方式如下:
<property>
<map>
<entry key="老王" value="38"/>
<entry key="凤姐" value="38"/>
<entry key="如花" value="29"/>
</map>
</property>
4. 如果是properties属性文件的方式,注入的配置如下:
<property>
<props>
<prop key="uname">root</prop>
<prop key="pass">123</prop>
</props>
</property>
g.Spring框架整合WEB
Spring框架整合WEB(不是最终的方案)
1. 创建JavaWEB项目,引入Spring的开发包。编写具体的类和方法。
* 环境搭建好后,启动服务器来测试项目,发送每访问一次都会加载一次配置文件,这样效率会非常非常慢!!
2. 解决上面的问题
* 将工厂创建好了以后放入到ServletContext域中.使用工厂的时候,从ServletContext中获得.
* ServletContextListener:用来监听ServletContext对象的创建和销毁的监听器.
* 当ServletContext对象创建的时候:创建工厂 , 将工厂存入到ServletContext