通常,hibernate sessionfactory 是在spring 配置文件(例如spring-dao.xml)中创建的;
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>file:src/hibernate.cfg.xml</value>
</property>
</bean>
然后在道中,
<bean id="myProductDao" class="product.ProductDaoImpl">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>
在 web.xml 中,我们将配置文件(spring-dao.xml)放在 contextConfigLocation 中;
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-dao.xml</param-value>
</context-param>
当应用程序启动时,数据源被注入到所有 dao bean。
这是总结,我的问题是,我不希望 spring 在应用程序启动时连接到数据库。我有一个管理员(负责在启动后打开数据库连接)和一个在远程机器上工作的管理小程序,它与 Web 应用程序 servlet 通信。如果身份验证正常,应打开 Web 应用程序的数据库连接。
我怎样才能实现这个目标?