spring 配置文件
发布网友
发布时间:2022-04-10 07:18
我来回答
共2个回答
热心网友
时间:2022-04-10 08:47
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<-- session工厂节点,将Hibernate的session工厂注入到Spring的配置文件中 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
<-- 设置事务代理类,并将session工厂对象引入事务中 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<-- 引入事务代理对象及其相关配置常量,并通过abstract属性将本节点设置为父类,子类子要继承此类(设置parent属性),就可直接使用此类的属性也就是事务,无需每个节点再设置 -->
<bean id="base" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager">
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
《-- DAO节点,需要注入session工厂对象 --》
<bean id="userDao" class="userDao.impl.UserDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
《-- 具体对对象进行调用的使用类,直接在此通告ref引入userDao对象即可在该类中直接调用userDao对象,但是前提是在UserBiz类中要设置userDao的属性声明和setter方法 --》
<bean id="userBizTarget" class="UserBiz.impl.UserBiz">
<property name="userDao" ref="userDao"></property>
</bean>
《-- 设置此类继承事务代理父类,通告parent属性继承父类属性 --》
<bean id="userBiz" parent="base">
<property name="target" ref="userBizTarget"></property>
</bean>
《-- 对action节点的设置,通过class找到action的具体路径,name属性是struts配置文件中节点path,ref注入相关对象,在struts配置中要修改相关action节点的type属性 --》
<bean name="/users" class="com.yourcompany.struts.action.UsersActionAction">
<property name="userBiz" ref="userBiz"></property>
</bean>
</beans>
请采纳。追问有回答我的问题吗,智商低吧,表示没看懂
热心网友
时间:2022-04-10 10:05
对,你可以认为id是class描述的类的一个实例,但这个实例对象的变量名不一定是就是这个id,id的作用是你在Ioc容器中查找这个实例的依据(getBean(''''))。xml是配置文件,不是代码,本身没有代码的任何功效。一般而言,property可以理解为这个bean的一个对应的属性,但其实不一定,如果有一个set开头的方法,该方法并不负责某个属性的赋值,但参数变量名对应上了,也是可以的。至于ref理解,嗯,它其实就是引用,但不是java代码里的引用,而是在这个xml文件中查找bean的依据。