Как динамически внедрить sessionFactory, используя spring
Я строю веб-приложение с использованием Spring MVC, который подключен к базе данных. Это часть моего файла конфигурации бина.
<!-- Define Database DataSource / connection pool -->
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/java_task?useSSL=false" />
<property name="user" value="me" />
<property name="password" value="me" />
<!-- these are connection pool properties for C3P0 -->
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="20" />
<property name="maxIdleTime" value="30000" />
</bean>
<!-- Define Hibernate session factory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="packagesToScan" value="com.javatask.entity" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
Как видите, мой источник данных определен очень сложно. В коде я использую аннотацию @Autowired, чтобы внедрить sessionFactory. Но я хотел бы внедрить sessionFactory (jdbc, имя пользователя, пароль и т. Д.) С данными, которые я получу от пользователя во время выполнения. Например, он запишет мне эти данные в текстовое поле, а затем я создам sessionFactory (на основе его данных), который будет подключен к его базе данных.
Я искал ответ, но, к сожалению, я не нашел ничего подходящего для этой проблемы.
Я был бы очень благодарен за вашу помощь.