首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于配置文件中的property属性与set,get步骤

2012-11-06 
关于配置文件中的property属性与set,get方法一直以为在配置文件中有一个property,对应的class里就应有一个

关于配置文件中的property属性与set,get方法
一直以为在配置文件中有一个property,对应的class里就应有一个与其名称一样的变量,这样spring的IOC才会通过setter getter 方法对其进行初始化。

但是今天看到spring的hibernateDaoSupport里边没有sessionFactory变量,但是继承该hibernateDaoSupport的dao却被要求有一个datasource或者sessionFactory的property,所以纳闷至极。


遂决定自己实验一下,结果是只要dao里边有对应的set get 方法即可,并不要求有一个对应的变量。并且尽管有set 方法,但是并不要求一定需要配置property属性。反之,如果配置了property属性,则一定要有set方法。

hibernateDaoSupport需要datasource或者sessionFactory的property是因为其继承的类中有一个after****方法,在这个方法中会判断datasource或者sessionFactory是否为空。在spring框架中,bean生成的时候会默认去运行这个after***方法。所以如果不配置的话就会报错。


例如:
public class HibernateTestDao  extends HibernateDaoSupport{

/*public void test(){
getHibernateTemplate().execute(null);
}*/
public String stri;
public final void setStryyyyyy(String str){
this.stri=str;
}

public final String getStryyyyyy(){
return this.stri;
}

}

因为根据约定,是以set后边的字符为变量。
所以配置文件中

<bean id="HibernateTestDao" parent="baseDao" >
<property name="stryyyyyy" value="tttttttttttttttt">

</property>
</bean>

热点排行