Как динамически внедрить 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 (на основе его данных), который будет подключен к его базе данных.

Я искал ответ, но, к сожалению, я не нашел ничего подходящего для этой проблемы.

Я был бы очень благодарен за вашу помощь.

0 ответов

Другие вопросы по тегам