Alef Arendsen

Alumni
Recent Blog posts by Alef Arendsen

Setter injection versus constructor injection and the use of @Required

Engineering | July 11, 2007 | ...

A couple of month ago, we start publishing polls on www.springframework.org asking people to provide their feedback about Spring, some of its features and how they are using those features. The first question I posted was whether or not people were checking required dependencies and if so, what mechanisms they used. I quickly followed up on this question asking the community what transaction management strategy it used.

To my delight when I first checked the results, back in March, a lot of people told us by voting in the first poll that they were using the @Required annotation. The second…

So should you still use Spring's HibernateTemplate and/or JpaTemplate??

Engineering | June 26, 2007 | ...

I was reading an article by Vigil Bose on TSS the other day and saw the usage of the HibernateDaoSupport class. Since this is no longer a recommended way of using Hibernate from Spring, I thought I might as well just blog about it another time.

With the advent of Spring 2.0, it has become possible to start using the Hibernate Session API directly again. The question is whether or not it is wise to abandon the use of the HibernateTemplate when working with Hibernate, or any other template-based approaches Spring features.

Using Spring XxxTemplates

In Spring 1.0, we introduced a revolutionary way of working with data access APIs that threw checked exceptions. The template approach Spring features along with its transaction synchronization manager and the extensive use of runtime exceptions makes any TCFTC (short for try/catch-finally-try/catch as we coined it back in 2005) often found in data access code entirely obsolete. Below you can see (a simplified version and not entirely precise version of) what Spring's template approach does for you (with specific code snippets that you would otherwise have to write). template.png

Acquisition of connection: If transaction synchronization is active…

Source for demos shown at NL-JUG session June 13th 2007

Engineering | June 14, 2007 | ...

Yesterday, Joris and I gave a session at the Dutch Java Users Group. We did the session twice and had about 250 people in total attending the sessions. A lot of people asked for the code for the demos we did during the sessions. Attached you'll find the code for the AOP and Dependency Injection demos. It shows a simple aspect flushing the Hibernate session before every JDBC operation (not as robust as you'd want it in production code, but it's a start) and it also shows the CarPlant system (demo'd before in other sessions and previously attached to another blog entry) configured using the…

ASM version incompatibilities, using Spring @Autowired with Hibernate

Engineering | June 11, 2007 | ...

I was working on Spring 2.1 stuff this week with Joris. We were preparing a sample using all three ways of doing dependency injection. The sample does not only highlight dependency injection, but also features a back-end based on Hibernate.

Several features in Spring 2.1 require the ASM byte code manipulation framework. Hibernate also uses ASM, through CGLIB. There is a binary incompatibility between ASM 1.5.3 and 2.2.3. The former is used by Hibernate, the latter is used by Spring in various scenarios; specifically in some of the AOP functionality and the new @Autowired features.

UPDATE: read…

Spring: simple, not simplistic...

Engineering | June 05, 2007 | ...

During a training last week, for the first time, I used the first Release Candidate of Spring Web Services. It's hardly been two weeks since Arjen release RC1 of his precious, so it was very nice to show some of the attendees this new product.

Right before the web services part we did a little JMX and remoting, showing Spring's exporter functionality. As you might know, this allows you to export any Spring-managed bean to a remote endpoint or JMX registry, with just a very little amount of declarative configuration:


<bean id="myService" class="com.mycompany.MyServiceImpl">
    <property name…

Amsterdam Java Meetup scheduled for April 13th

Engineering | March 31, 2007 | ...

Mark you calendars! In about two weeks, I'm hosting another Amsterdam Java Meetup; the quarterly event in the Netherlands where all people that have something to do with Java (but hey, we're friendly; .NET guys are welcome too!) can have a chat and a drink. No technical sessions, no presentations, no keynotes, just drinks and chatting.

We have been organizing the Java Meetups for a while now and the attendance has grown from about 20 in December 2005 to about 60 or 70 last January.

So, spread the word and come join us (ah, and don't forget, the first couple of rounds are paid for).

When: April 13th, 6pm - ? Where: Amsterdam - de Jaren - Nieuwe Doelenstraat

CarPlant not accepting null CarModels

Engineering | March 12, 2007 | ...

Last Friday I finished a training session at a client of ours. Because I had some time to kill in the hotel I was staying in, I polished the sample application I coded up during the training to post it online for the guys of the training. Usually I try to find a little sample application specific to the client's domain to use during the training. This makes it a bit more lively instead of some of the HelloWorld examples.

This client is a big car brand, that have adopted Spring widely throughout their organization. That's why I created a CarPlant system capable of producing cars. Below you can…

New on the Spring forum: regular polls

Engineering | March 10, 2007 | ...

A while ago, we were thinking about doing a big survey among Spring users to render feedback about parts of the framework. We'd include questions like 'which Java version are you using', but also ask you which Spring feature you like, dislike, et cetera.

Partially because of lack fo this, but also because for now, we don't want to force Spring users to fill out huge surveys, we never got to actually doing this.

In the past half hour, I've set up a nice alternative on the Spring Framework forum. From now on, we'll be hosting a series of polls on the forum. The polls are basically very simple…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all