Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

276
Views
¿Cuál es la forma correcta de crear una fuente de datos en una aplicación web Spring?

Tengo dos formas de crear una fuente de datos:

  1. Dentro del contexto primaveral

     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mkyongjava" /> <property name="username" value="root" /> <property name="password" value="password" />

  2. Tomcat JNDI

 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/UsersDB"/>

¿Cuáles son los beneficios y los problemas de crear la fuente de datos usando spring o usando tomcat jndi?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

El primer enfoque, utilizando la clase DriverManagerDataSource, es útil para entornos de prueba o independientes fuera del contenedor j2ee.

Se recomienda utilizar el segundo enfoque, que utiliza la fuente de datos jndi, en el contenedor j2ee.

La siguiente referencia establece claramente estos enfoques.

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/datasource/DriverManagerDataSource.html

about 4 years ago · Santiago Trujillo Report

0

No hay nada como una buena práctica entre esto. El bueno es el que es bueno para el caso de uso. Ambos tienen pros y contras.

Cuando tiene casos de uso en los que intenta implementar las aplicaciones en un entorno de servidor donde varias aplicaciones comparten una fuente de datos común o los componentes de la fuente de datos son administrados por la administración del servidor, entonces probablemente la mejor manera de usar es a través de un contexto JNDI. El servidor tiene el origen de datos preparado para que la aplicación pueda obtener directamente ese objeto, vincularse a sí mismo y utilizar el origen de datos.

Cuando tiene un caso de uso en el que la aplicación se ejecuta dentro de un contenedor de servidor integrado o contenedores en la nube donde el servidor también está integrado a lo largo de los paquetes de compilación, crear una fuente de datos en la aplicación y usarlos sería una buena solución. También en entornos de aplicaciones que no sean web, sería bueno crear una fuente de datos.

Para resumir, los casos de uso en los que la aplicación no administra la fuente de datos es mejor optar por un contexto JNDI.

Intente averiguar cuál es el modelo de implementación de su aplicación y descubra qué es bueno para usted. También intente usar implementaciones de datasourcepool para mejorar el rendimiento como DBCP, C3P0 o Hikarcp.

about 4 years ago · Santiago Trujillo Report

0

Lo estoy usando como se muestra a continuación. Funciona para mí ya que el proyecto se configura en el momento del diseño de la arquitectura. Y su producción en vivo.

 <!-- Local Apache Commons DBCP DataSource that refers to a combined database --> <!-- (see dataAccessContext-jta.xml for an alternative) --> <!-- The placeholders are resolved from jdbc.properties through --> <!-- the PropertyPlaceholderConfigurer in applicationContext.xml --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="validationQuery" value="${jdbc.validationquery}"/> <property name="testOnBorrow" value="${jdbc.testonborrow}"/> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- Transaction manager for a single JDBC DataSource --> <!-- (see dataAccessContext-jta.xml for an alternative) --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean>

también puedes referirte a esto. La mejor contribución de Genious a los desarrolladores de Java.

https://www.mkyong.com/spring-boot/spring-boot-jdbc-oracle-database-commons-dbcp2-example/

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!