欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

application.xml文件中几个bean的关系(我自己的理解)

程序员文章站 2022-04-30 09:59:53
...

我只是记录了到现在为止我常用的几个<bean>,分别有dataSource、sessionFactory、hibernateTemplate、transactionManager等几个bean.

首先,写dataSource之前,要写

<context:property-placeholder location="classpath:db.properties"/>
来告诉dataSource去找db.properties这个文件,然后开始写dataSource,
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource" >
	<property name="user" value="${jdbc.user}"></property>
	<property name="password" value="${jdbc.password}"></property>
	<property name="driverClass" value="${jdbc.driverClass}"></property>
	<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
</bean>
dataSource中有很多属性、常用的就user、password、driverClass、jdbcUrl这几个属性、写好了DataSource,然后就是sessionFactory,不过sessionFactory这个bean中有hibernateProperties和mappingResources这两个property必须要写上,整体上就是
<bean class="org.springframework.orm.hibernate5.LocalSessionFactoryBean" id="sessionFactory">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties"> 
	<props>
		<prop key="hibernate.show_sql">true</prop>
		<prop key="hibernaete.format_sql">true</prop>
		<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
		<prop key="hibernate.hbm2ddl.auto">update</prop>
	</props>
</property>
<property name="mappingResources">
	<list>
		<value>com/xing/pojo/Clazz.hbm.xml</value>
		<value>com/xing/pojo/Student.hbmxml</value>
	</list>
</property>
</bean>

再往后面按框架不同bean也不同,如果是ssh框架,就是用hibernateTemplate这个bean,

<bean class="org.springframework.orm.hibernate5.HibernateTemplate" id="hibernateTemplate">
	<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

如果是用springMVC就是transactionManager这个bean.

<bean class="org.springframework.orm.hibernate5.HibernateTransactionManager" id="transactionManager">
	<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
在现在看来就是这几个bean之间就是游戏关卡的关系、要到下一关必须的要经过上一关、transactionManager bean或hibernateTemplate bean要用到sessionFactory bean、
而sessionFactory bean 要用到dataSource bean、而dataSource bean又要用到<context:property-placeholder location="">这个标签、

暂时我是这样理解的,至于以后会不会换一种方式来理解,那要看以后了,

发现俩张图,可以看看

application.xml文件中几个bean的关系(我自己的理解)

application.xml文件中几个bean的关系(我自己的理解)