Postfunctional programming language
Robert Fischer published an article titled “Scala is Not a Functional Programming Language“ In response Martin Odersky argues that Scala can be characterized as postfunctional: [...] if you look at the...
View ArticleDifference between @Autowired and @Resource in Spring
The main difference is that @Autowired wires per type and @Resource wires per bean name. But @Autowired in combination with @Qualifier also autowires by name. …@Autowired is a spring annotation whereas...
View ArticleSpring 3.0: Meta Annotationen
Spring bietet in der Version 3.0 endlich die Möglichkeit, mehrere Annotationen zu einer einzigen zu gruppieren. Ein kleines Beispiel soll die Verwendung erläutern. In vielen Anwendungen ist die...
View ArticleScala in real life project
Foursquare is a fast growing service that back in July 2009 both the Washington Post and Mashable were tipping as a potential “breakout hit” or “next Twitter”. With a rapidly growing base of hundreds...
View ArticleClass enhancement auf der JVM
Jeder Java-Entwickler hatte wahrscheinlich schon einmal den Wunsch, Mehrfachvererbung einzusetzen. Auch wenn es gute Gründe dagegen gibt, könnte der Einsatz der Mehrfachvererbung oftmals die...
View ArticleRod Johnson Discusses Spring 3.0
Rod Johnson, the founder of Spring and the general manager of the SpringSource division of VMware, talks to InfoQ about Spring 3.0, the influence of Google Guice on Spring, Spring.NET, and Spring’s tc...
View Article@Delegate in Groovy
Die sehr mächtigen Möglichkeiten der dynamischen Metaprogrammierung in Groovy sind der Grund für zwei wesentliche Nachteile der Sprache: Performanz: Das dynamische Delegieren von Methodenaufrufen zur...
View Article8 Möglichkeiten, Projekte mit Spring aufzubauen
Das Spring-Framework ist sehr flexibel. Viele Wege führen nach Rom und Umgebung: Explicit XML Alle Beans und alle Abhängigkeiten werden explizit in der XML-Konfiguration aufgeführt. Annotations...
View ArticleCompare Kilim and the observer design pattern
Kilim is a message-passing framework for Java that provides ultra-lightweight threads and facilities for fast, safe, zero-copy messaging between these threads. It consists of a bytecode postprocessor...
View ArticlePerformance-Analyse mit Spring Insight
Performance-Probleme bei Webanwendungen lassen sich ohne Tool-Unterstützung in aller Regel nur schwer finden. Es stellt sich bei einer entsprechenden Analyse zunächst die Frage, ob die Probleme von der...
View ArticleInstanceof fails with Hibernate lazy-loading and entity class hierarchy
Hibernate uses proxied classes for implementing lazy-loading of entities. If you use a class hierarchy with Hibernate and table ter hierarchy inheritance, it may come to the following problem:...
View ArticleJAXB und Groovy
Soll die Instanz einer solchen Groovy-Klasse mit Hilfe von JAXB als XML gespeichert werden, schlägt dies mit der folgenden Fehlermeldung fehl: groovy.lang.MetaClass is an interface, and JAXB can't...
View ArticleGrails 1.3.5 Released
Grails has been released with the following improvements in version 1.3.5: Groovy 1,7.5 Named Queries now support sorting View information about templates used to render a single url GSP reloading is...
View ArticleAusführbare WARs mit Spring Roo
Zum Ausführen einer als Web Archive (WAR) erstellten Webanwendung ist normalerweise ein Webcontainer (zb. Tomcat oder Jetty) notwendig. Mit dem neuen “executable-war addon” für “Spring Roo” ist es nun...
View ArticleSpring Roo 1.1.0 RC1 mit GWT 2.1 RC1 Unterstützung
Wenige Tage nach der Veröffentlichung von GWT 2.1 RC1 ist nun auch ein neuer Release Candidate von Spring Roo mit Unterstüzung dieser neusten GWT Version erschienen. Spring Roo 1.1.0 RC1 stellt...
View ArticleSpring Roo 1.1.0 and STS 2.5.0 released
Spring Roo 1.1.0 has been release. The following main features are included: Incremental Database Reverse Engineering Spring MVC Enhancements Google Web Toolkit (GWT) 2.1 Google App Engine (GAE) Apache...
View ArticleTwitter-Client mit Spring Social und Spring Roo
Das Projekt Spring Social wurde kürzlich in der Version 1.0.0.M1 veröffentlicht. Es beinhaltet in der ersten Version Templates, um die API von vier verschiedenen sozialen Netzwerken anzusprechen:...
View ArticleSpring (endlich) ohne XML mit Java Config
Lange mussten wir darauf warten. Mit der Version 3.0 von Spring wurde das Projekt Java Config teil des Core Frameworks. Damit ist es möglich, den Spring Container vollständig ohne XML zu konfigurieren....
View ArticleDifferent ways of using Liquibase in Grails
“You never develop code without version control, why do you develop your database without it? Liquibase is an open source, database-independent library for tracking, managing and applying database...
View ArticleAbstrakte Komponenten-Konfiguration mit @Configuration in Spring 3
Ein großer Vorteil beim Einsatz von Spring ist die verbesserte Testbarkeit der Anwendung, da gezielt einzelne Komponenten für einen Testlauf per Konfiguration ausgetauscht werden können. Bei der...
View ArticleJavaFX 2.0 Beta erschienen
JavaFX wurde von Sun als Antwort auf den allgemeinen RIA-Trend (Rich-Internet-Application) und somit als Konkurrenzprodukt zu Microsofts Silverlight und zu Adobes AIR/Flex im Jahr 2007 ins Rennen...
View ArticleCode Review – Best practices
Code-Reviews gelten als bewährtes Mittel zur Steigerung der Qualität einer Software und werden daher besonders in agilen Entwicklungsprozessen eingesetzt. Durch das angewandte 4-Augen-Prinzip werden...
View ArticleAutomatisierte Selenium-Tests mit Maven
Funktionale Oberflächentests mit Selenium stellen eine effektive Methode zur Erhöhung der Qualität einer Webanwendung dar. Seit Selenium 2.0 können die Tests dabei durch die Unterstützung von HtmlUnit...
View ArticleComponent-scan mit einer Namenskonvention in Spring
Um Komponenten in einem Spring-Container bekannt zu machen, gibt es zwei grundsätzlich unterschiedliche Möglichkeiten: Explizite Bekanntmachung der Komponente z.B. per <bean>-Tag Automatische...
View ArticleMock SMTP-Server für Unit-Tests
Die meisten Enterprise-Anwendungen müssen mittlerweile in der Lage sein, E-Mails an Benutzer zu versenden. So ist es beispielsweise beim sog. Double Opt-in-Verfahren notwendig, dass der Benutzer einen...
View ArticleREST API for JPA entities
The intial version 1.0.0.M1 of Spring Data REST has been released. “Spring Data REST is part of the umbrella Spring Data project that makes it easy to expose JPA based repositories as RESTful...
View ArticleUsing the context path of a web-app as log filename with Log4J
If you have a web application which you want to deploy more than once to a single servlet container you have the problem of separating your log files for the different web app instances. This is...
View ArticleGroovy ScriptEngine memory leak – fixed
Java 6 includes built-in support for Scripting for the Java Platform (JSR 223). You can learn how to use this scripting support with Groovy in the Grovvy documentation. We use this Groovy scripting...
View ArticleSpring 4.0 released
Spring 4.0 has been released and is now available on GitHub. Version 4.0 is the latest major release of the Spring Framework and the first to fully support Java 8 features. You can still use Spring...
View ArticleTemporäre Änderungen mit Git verwalten
Git bietet mit stash einen Befehl, um temporäre Änderungen zu speichern und diese zu einem späteren Zeitpunkt wiederherzustellen. Temporäre Änderungen lassen sich in Git allerdings auch sehr elegant...
View ArticleGit 1.9 released!
Version 1.9 of the Git distributed revision control system has been released. The most notable things in this release from my point of view are: Better support for shallow clones git fetch --tags now...
View ArticleKick-ass code reviews
Dan Radigan von Atlassian veröffentlichte im Artikel “Every team needs kick-ass code reviews” eine lesenswerte Zusammenfassung wie man Code-Reviews optimal in den Entwicklungsprozess einbinden kann....
View ArticleWas ist die Spring IO Plattform?
Nach langer Vorankündigung wurde vor einigen Tagen die neue Spring IO Plattform in der Version 1.0.0 veröffentlicht. Stellt sich nun die Frage, was hinter diesem neuen Begriff aus dem mittlerweile sehr...
View ArticleAndroid Push Notifications mit Pentaho Data Integration (PDI) / Kettle
Seit Version 5.0 steht in “Pentaho Data Integration” (früher “Kettle”) ein Marketplace zur Verfügung, mit dem beispielsweise neue Transformations-Steps und neue Datenbank-Connectoren in das ETL-Tool...
View ArticleLocking mit Git
“Heutzutage macht man Git”! Git ist auf dem besten Weg, sich als das Standard-Tool für die versionierte Verwaltung von Dateien durchzusetzen. Wer fängt heute schon noch ein neues Projekt mit SVN oder...
View ArticleSpring Boot – Getting started
Im April 2014 wurde die Version 1.0.0 von Spring Boot veröffentlicht. Mittlerweile sind wir bei Version 1.1.4 angekommen. Das Projekt verspricht eine noch schnellere Entwicklung von Anwendungen mit...
View ArticleSpring Framework 4.1 GA released!
The newest version 4.1 of the Spring Framework has just being released. Here is a list of the main new features linked with the Spring blog post in which they are described in detail: Spring MVC...
View ArticleSpring Loaded – Getting started
Mit Spring Loaded kann jeder den Class-Reload-Mechanismus aus Grails 2 in beliebigen Java-Projekt einsetzen. Der Einsatz von Spring ist dabei nicht zwingend erforderlich. Spring Loaded kann sehr...
View ArticleSchichtenarchitektur überwachen mit Spring und JUnit
Die Schichtenarchitektur einer Anwendung kann über die Projektstruktur in der IDE überwacht werden. Dies hat allerdings den Nachteil, dass unter Umständen eine Vielzahl von IDE-Projekten verwaltet...
View ArticleDie Zukunft von Spring
Jürgen Höller, Projektleiter der Spring-Plattform, hat in einem Interview im Rahmen der diesjährigen W-JAX Auskunft über die weitere Zukunft von Spring gegeben. Der grobe Fahrplan für die kommenden...
View ArticleJDK Updates nach Java 9 – Oracle stellt neues Release-Train-Modell in Aussicht
Java 9 steht in den Startlöchern und soll am 21. September veröffentlicht werden. Endlich, mag sich der ein oder andere denken, nachdem der Release bereits mehrfach verschoben wurde und das Warten auf...
View ArticleSpring Boot 2.0 GA
Die freudige Nachricht: Spring Boot 2.0 ist verfügbar! Spring Boot hat sich mittlerweile zum Standard-Framework für die meisten Spring-Projekte entwickelt. Es ist damit sehr einfach, neue Spring...
View ArticleJAX 2018 – aktuelle Trends
Ende April fand in Mainz die JAX 2018 statt. Auf der Konferenz für moderne Java- und Web-Entwicklung diskutieren Entwickler und Architekten Jahr für Jahr gemeinsam die neusten Trends in der...
View ArticleJava auch in Zukunft kostenlos! – Ein Überblick über die Alternativen
Im ersten Blog-Post dieser Serie über die neuen Lizenzmodelle von Java haben wir bereits gesehen, dass das JDK von Oracle nun zumindest beim Betrieb in der Produktion mit Kosten verbunden ist....
View Article