Programación en Java pretende ser una web de referencia en castellano sobre programación en Java. Aquí encontrarás trucos de programación, resolución de dudas comunes, artículos, reseñas de libros y mucho más

A continuación se muestran los títulos de las 5 últimas entradas. Pero en esta misma página puedes encontrar más...

También puedes navegar por los menús de categorías y los archivos por fecha

Entradas recientes

Hoy os mostramos cómo formatear una fecha de forma simple para poder mostrar simplemente el texto mediante programación en java, eliminando la complejidad de los objetos GregorianCalendar o Date, mediante la clase SimpleDateFormat

    SimpleDateFormat sdf = new SimpleDateFormat("dd - MM - yyyy");
    Calendar cal = Calendar.getInstance(); // hoy
    System.out.println("Hoy es " + sdf.format(cal.getTime()));

La clase SimpleDateFormat es muy sencilla de utilizar en java. Simplemente al constructor hay que pasarle cómo se deben formatear las fechas. dd es el día, MM es el mes y yyyy es el año. Se puede ver una lista de los posibles valores que admite en la API de SimpleDateFormat.

Una vez inicializada la clase, el método format devuelve un StringBuffer con la fecha debidamente formateada.  Se le debe pasar un objeto de tipo Date, que se puede extraer del GregorianCalendar mediante el método getTime()…y ya está este sencilla rutina de programación en java.

Hoy os presentamos el proyecto Apache POI, una librería que hemos utilizado recientemente.

El proyecto POI consiste en varias APIs para manipular los varios formatos de documentos Microsoft OLE 2 utilizando para ello una solución java. El soporte para la lectura y escritura de ficheros excel con java está ya muy maduro y el trabajo continúa para mejorar el soporte de lectura y escritura de ficheros Word en java.

Más información en Apache POI.

Esperamos pronto poder ofreceros algunos ejemplos de uso de esta librería

Publicado en Librerías | Etiquetado como , , | Sin comentarios »

La comunidad de programadores TIOBE hace un ranking mensual de los lenguajes de programación mas populares. Pues bien, este mes, Java ha perdido por primera vez desde que comenzó el ranking su primer lugar en favor de C.

Está claro que el ranking, basado en búsquedas en google y yahoo, no es perfecto, pero proporcionaba resultados consistentes y una información relevante sobre el estado de los lenguajes de programación.

Si queréis echar un vistazo al ranking de lenguajes de programación, en inglés.

Publicado en Noticias | Etiquetado como | Sin comentarios »

Tutorial básico de Hibernate

3 de Marzo de 2010

A través de javahispano, hemos llegado a este tutorial básico de Hibernate, traducido por David Marco.

Puede ser una buena referencia si estás comenzando a utilizar Hibernate

http://www.davidmarco.es/tutoriales/hibernate-reference/

Publicado en Librerías, Tutorial | Etiquetado como , , | Sin comentarios »

Finalmente, la Unión Europea ha dado luz verde a la adquisición de Sun por parte de Oracle. El único escollo que estaba bloqueando la adquisición era que la Unión Europea afirmaba que disminuiría la competencia en el mercado de las bases de datos con la adquisición de MySQL. Finalmente, Oracle ha conseguido convencer a la Unión Europea para permitirle adquirir todo Sun, base de datos incluida.

Para ello, Oracle se ha comprometido a invertir en MySQL un mínimo de un 2,4% del valor de MySQL cada año durante los tres próximos años (esto es, 24 millones de dólares al año; pero 24 millones a alguno le puede parecer una cantidad “grande”, así que mejor ponerlo en perspectiva.

Descanse en paz

Las ventajas de utilizar GWT para desarrollar código javascript de calidad es que el programador no tiene por qué ser experto en javascript, conocer particularidades de cada navegador, empaquetamiento de javascript, ofuscación, dependencias entre librerías, etc.

Aquí os dejamos un tutorial para exportar librerías GWT a javascript

SpringSource publica Grails 1.2

29 de Diciembre de 2009

La gente de Spring ha publicado una nueva versión de Grails 1.2. Esta versión usa Spring 3.0 en su core y tiene mejor integración con spring MVC y sus anotaciones. También podemos encontrar estas otras características nuevas.

  • DSL para resolución de dependencias a través de Ivy.
  • Soporte para Named Queries. Ahora GORM te permite usar named queries de una forma muy flexible y dinámica.
  • Mejor desempeño y menor consumo de memoria. Sobre todo en la capa de la vista con los GSP
  • Mapeos URL nombrados.
  • Refactorización de la infraestructura para Testing. Ahora es posible cambiar de la implementación por default para testing (JUnit) a una diferente, gracias a una nueva arquitectura pluggable.
  • Contenedor web pluggable. Ahora es posible cambiar de contenedor web, antes solo funcionaba con jetty, ahora le han agregado soporte para Tomcat y dejaron la arquitectura abierta para que otros vendors puedan conectar diferentes contenedores web.
Publicado en Noticias | Etiquetado como , | Sin comentarios »

Se acerca Spring 3.0

1 de Octubre de 2009

La gente de Spring Framework acaba de liberar Spring 3.0 release candidate, por lo que se va acercando el momento de que la versión final de esta librería salga a la luz. Esta versión ya tiene todas las características claves que formarán parte de Spring 3.0 por lo que merece la pena comenzar a investigar las novedades

  • Completamente basado en Java 5. Esta la primer versión de Spring que necesita Java 5 o superior para funcionar, y que utiliza la sintáxis de Java 5 en todo el API de Spring, y también en su implementación. Por ejemplo, el API del BeanFactory retorna instancias tipadas con generics cuando es posible, y un ApplicationListener puede declarar tipos de eventos específicos con generics. En comparación, Spring 2.5 (la versión actual de Spring) todavía es compatible con el JDK 1.4, aunque mucha funcionalidad de alto nivel se construía en Java 5.
  • Lenguaje de expresiones de Spring (SpEL – Spring Expression Language). Un parser de expresiones para usar en la definición de los beans, que permite referenciar a estructuras anidadas (por ejemplo, propiedades de otros beans), y también a estructuras del sistema (por ejemplo, variables de entorno) usando la sintáxis común #{…} en el valor de las propiedaes de un bean. Esto también sirve como base para otras características basadas en expresiones en otros proyectos de Spring.
  • Soporte extendido para componentes basados en anotaciones. Se incluye el concepto de clases de configuración y métodos de factory anotados – ¡las características fundamentales del proyecto Spring JavaConfig finalmente están disponibles en Spring!. Sprint también permite inyectar valores de configuración a través de expresiones @Value, y referirse a valores de la configuración usando expresiones dinámicas #{…} o estáticas ${…}.
  • Modelo de estereotipos. Permite crear anotaciones “de atajo” a través del uso de meta-anotaciones. Por ejemplo, para determinar scopes predeterminados o características de transacción predeterminadas en estereotipos propios. Imaginen una anotación propia @MiServicio que indica @Service, @Scope(”request”) y @Transactional(readOnly=true) usando una única anotación. Este es el principio de No Repetirse aplicado al uso de anotaciones de componentes.
  • Anotaciones de inyección de dependencias estándar. Spring 3.0 provee un soporte inicial para el JSR-330 specification for Dependency Injection in Java- inyección a través de anotaciones usando javax.inject.Inject y sus calificadores asociados y modelo de proveedores, como una forma alternativa a la anotación @Autowired propia de Spring. Tengan en cuenta que el JSR-330 todavía no está terminado; el soporte para javax.inject en Spring se irá completando a medida que madure la especificación.
  • Modelo de validaciones declarativo basado en anotaciones de restricciones. Configuración al estilo de Spring de un proveedor de JSR-303 Bean Validation (como ser, Hibernate Validator 4.0). Spring 3.0 viene con una opción para hacer validaciones basadas en anotaciones en Spring MVC, exponiendo una vista unificada cuando no se cumplen las restricciones. Tengan en cuenta que el JSR-303 está próximo a terminarse, aunque todavía puede tener modificaciones.
  • Soporte para REST extendido. Soporte nativo para REST en Spring MVC, como ser mapeos de peticiones REST, extracción de variables URI a través de parámetros @PathVariable, y resolución de vistas guiadas por la negociación del contenido. Imaginen Spring MVC 2.5 con soporte de primera clase para REST – y manteniendo en enfoque de MVC. Hay soporte para el lado del cliente de REST a través de la clase RestTemplate.
  • Mapeo Objeto/XML (OXM). Tal como se usaba en Spring Web Services, ahora dentro del núcleo de Spring Framework. Abstracciones para el marshalling y unmarshalling con soporte directo para JAXB 2, Castor, etc. Se provee opciones de integración para soporte de contenidos XML en Spring MVC y Spring JMS.
  • Soporte para Portlet 2.0. Spring MVC soporta completamente los entorno de Portlet 2.0 y el nuevo modelo de recursos y eventos de Portlet 2.0. Se incluyen facilidades de mapeo para peticiones de portlet típicas: @ActionMapping, @RenderMapping, @ResourceMapping, @EventMapping
  • Nuevo sistema de scheduling. Nuevos mecanismos de TaskScheduler y Trigger con soporte estilo cron, alineados con el mecanismo de Spring TaskExecutor. Spring 3.0 provee un namespace que soporta anotaciones @Async y @Scheduled. Esto se puede ejecutar sobre pooles nativos de hilos o en pooles manejados por Servidores de Aplicaciones, incluyendo soporte para los servidores de aplicaciones Java EE más populares.
  • Y por último, soporte inicial para Java EE 6. Spring 3.0 soporte el uso de JSF 2.0 y JPA 2.0 dentro de Spring, junto al soporte de JSR-303 y JSR-330. Se irá incluyendo soporte para otras tecnologías de Java EE 6 (como Servlet 3.0) a medida que se vayan concretando los productos.

Tomado del blog de Spring de traducido por dosideas.com

Publicado en Librerías, Noticias | Etiquetado como | Sin comentarios »

Lanzamiento de Lucene 2.9

29 de Septiembre de 2009

Ya ha salido la nueva versión de la librería de búsquedas para Java Lucene, en su versión 2.9

Esta versión, a pesar de intentar guardar la compatibilidad hacia atrás, se ha visto obligada a romperla en ciertos puntos, por lo que si la vas a utilizar deberías leer los cambios que rompen la compatibilidad (en inglés)

Algunos de los cambios son:

  • Búsqueda y cacheo por segmento
  • Se han añadido capacidades de búsqueda a IndexWriter de casi tiempo real
  • Nuevos tipos de Query
  • Nuevas queries multitérmino más escalables
  • Soporte para Unicode mejorado
  • Nuevo vector resaltador para grandes documentos
  • Mejor tratamiento para resultados numéricos
Publicado en Librerías, Noticias | Etiquetado como , | Sin comentarios »

Introducción a Log4J en español

28 de Septiembre de 2009

Buscando en la web hemos encontrado esta introducción a Log4J, la librería para hacer log en las aplicaciones java de forma sencilla.

Esta librería java es un paso más allá del simple System.out.prinln a la hora de que el código java registre en un archivo, o cualquiera de los adaptadores de salida, información de las operaciones que va realizando

Publicado en Librerías | Etiquetado como , , | Sin comentarios »