Deprecated Garbage Collections – Kenny Lee Chee Wei

A truckload of garbage by Kenny Lee Chee Wei

Archive for the ‘Spring Framework’ Category

Spring Hibernate DAO Implementation with interface

without comments

Intro

Assuming we have a module called Account Management in our project called foo,

We might can make use of the following package structure.

  1. foo.service.AccountManagement
  2. foo.service.AccountManagementImpl
  3. foo.dao.AccountDAO
  4. foo.dao.hibernate.AccountDAOImpl (In this case hibernate)
  5. foo.model.Account

Sample Spring-Hibernate Hierarchy UML

Spring Wiring

<bean id="accountDAO" class="rb.dao.hibernate.AccountDAOImpl"></bean>

<bean id="accountManagement" class="foo.service.AccountManagementImpl">
<property name="accountDAO">
<ref bean="accountDAO"/>
</property>
</bean>

So note that you can replace the accountDAO with some other implementation class, probably using pure JDBC or ibatis.

Summary

As the experts say, always code to interfaces to cater for different implementations.

Written by Kenny Lee

August 7, 2007 at 9:52 am

Posted in Java, Spring Framework

Javascript support in Spring Velocity Macros

with 4 comments

I’m using Velocity templates as the “view” for a new Spring MVC project.

Velocity Spring macros are available which can be used to bind object attributes to the html form elements.

While reading Chapter 14 from Spring MVC documentation, i noticed the VTL definition for a html select element looks like #springFormSingleSelect( $path $options $attributes).

We can pass javascript behaviour into the $attribute parameter like,

#springFormSingleSelect( "new_match.competition" $competitions "onchange=updateTeams()")

which produces,

<select id="competition" name="competition" onchange=updateTeams()> <option value="1">English Premier League</option>

<option value="2">Spanish Primera Liga</option>

<option value="3">Italian Serie A</option>

</select>

Written by Kenny Lee

July 17, 2007 at 4:35 am

Posted in Spring Framework