在spring中禁止hibernate随spring启动

问题描述

我有这样一个需求,一个程序在初次启动的时候,等用户打开浏览器,在浏览器中输入数据库名,链接地址,密码,数据库类型之后开始连接数据库。但现在是hibernate随spring容器启动,怎样才能阻止hibernate启动呢,等我想让hibernate和数据库连接的时候才开始连接?

解决方案

spring配置文件中不配置datasource,sessionFactory,transactionInterceptor,transactionManager等等任何和数据源和事务有关的bean,让spring启动,在界面接收参数后,参考:http://zhyi-12.iteye.com/blog/953295,动态往spring容器中添加datasource,sessionFactory,transactionInterceptor,transactionManager等关于数据源和事务的bean就可以了。
解决方案二:
http://stackoverflow.com/questions/12090406/dynamically-create-spring-beans-and-alter-properties-on-existing-beans
解决方案三:
这是实际工作中的需求吗?怎么会有这种需求,用户哪知道什么数据库地址,密码之类的,而且输入的连接地址你怎么验证是有效的呢?所以我想即便是输入地址,这个地址也是有固定选择的,不能随便写.如果数据库地址是固定的且有多个, 就在spring配置文件中配置多个datasource,给sessionfactory注入datasource时注入一个AbstractRoutingDataSource的子类对象,这样datasource可以根据页面传回的条件自动切换.详见http://dsbjoe.iteye.com/blog/1176779

时间: 2024-10-26 03:23:35

在spring中禁止hibernate随spring启动的相关文章

Spring中解决Hibernate的lazy加载问题

 今天又花了一天时间做单位的搜索网站,主要是增加权限管理的功能,完成了一部分功能,今天的时间主要花在了,spring中调用hibernate的问题,碰到两个问题.一个是双向多对多关联问题,一个是设置lazy=true时的问题.关于第一个多对多问题,原来是把多对多关联,分解为两个一对多关联,但是在spring中,调用getHibernateTemplate保存对象总是报错,呵呵,错误记不得了.也始终没弄明白什么原因.后来想想就改用,组件类集合来处理多对多关联,也就是用composite-eleme

java类的问题哈哈哈哈-hibernate和spring怎么整合的

问题描述 hibernate和spring怎么整合的 hibernate和spring添加切面配置是如何搞得,请各位大神指点我,谢谢啦 解决方案 http://wenku.baidu.com/link?url=JWek_B9UHh9ZkM1l80KvA1nmq6ePWUTq94zbWQVTe_2rL89R-pWdR3y3uBM5m2aRZBcruy2k2jsniuR3CTUtbLeoGbG4UswO6qECEumiFzu 解决方案二: http://blog.163.com/cui_zhouya

Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)------转帖

什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文件,但总需要重新启动web服务啊,研究了下Quartz在Spring中的动态定时,发现                                   0/10 ?                中cronExpression是关键,如果可以动态设置cronExpression的值,也就说如果我

spring事务-hibernate4+spring中获取session

问题描述 hibernate4+spring中获取session 请问如果某个方法没有在spring中配置事务,比如查询的方法,那么在这个方法中能不能用getCurrentSession方法获取session? 解决方案 Hibernate4获取sessionSpring中关于hibernate的sessionspring3+hibernate4配置事务管理以及session获取问题. 解决方案二: 求大神解答 0.0 解决方案三: 如果 你不getCurrentSession 或者openSe

spring mvc 整合hibernate 菜鸟级问题

问题描述 小弟想用spring mvc 整合hibernate 但是spring总是如法注入. spring配置文件如下<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">&l

Spring中的AOP(二)——AOP基本概念和Spring对AOP的支持

AOP的基本概念     AOP从运行的角度考虑程序的流程,提取业务处理过程的切面.AOP面向的是程序运行中的各个步骤,希望以更好的方式来组合业务逻辑的各个步骤.AOP框架并不与特定的代码耦合,AOP框架能处理程序执行中特定切入点,而不与具体某个类耦合(即在不污染某个类的情况下,处理这个类相关的切点).下面是一些AOP的一些术语:     切面(Aspect):业务流程运行的某个特定步骤,也就是应用运行过程的关注点,关注点通常会横切多个对象,因此常被称为横切关注点     连接点(JoinPoi

controller中获得hibernate的session方法

问题描述 controller中获得hibernate的session方法 环境:Spring+Hibernate事务由org.springframework.orm.hibernate4.HibernateTransactionManager管理需求是这样的,带有@Transactional注解的Service类中有两个方法:1. check()----用来验证数据2. insert()----用来插入数据我想在controller方法中显式声明一个事物并把check()和insert()放入

用 OpenSessionInViewInterceptor 的思路解决 Spring框架中的Hibernate Lazy

众所周知, 为了解决 Hibernate Lazy 问题, Spring 中引入了 OpenSessionInViewInterceptor, 这样虽然解决了页面上的 Lazy Load 问题,却增加了各层之间的偶合性, 如果一个 Lazy 的 Collection 在页面上可以被正确的 load, 但是如果请求不是来自于 HttpServletRequest (比如在 TestCase 或 Service 中希望获取 lazy 的属性), 一般会导致两种错误: 代码 1. 设置了 lazy =

【转】查看项目中的struts、spring、hibernate 版本的方法

   这是从别人那转来的.http://blog.sina.com.cn/s/blog_7725bc930100sk9c.html 如下:     1. struts的版本信息 查看 struts.jar\META-INF\MANIFEST.MF再查看 Implementation-Version看后面的数字.. Manifest-Version: 1.0Specification-Title: Struts FrameworkClass-Path:  commons-beanutils.jar