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="">这个标签、
暂时我是这样理解的,至于以后会不会换一种方式来理解,那要看以后了,
发现俩张图,可以看看
上一篇: 深度学习-对象定位和检测