DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
Using AspectJ To Dependency Inject Domain Objects With Spring
Spring configuration:
<context:spring-configured /> <context:component-scan base-package="some.package.domain" /> <context:load-time-weaver aspectj-weaving="on" />
A base entity that use Hibernate:
package come.package.domain;
import java.io.Serializable;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Configurable;
@Configurable
public abstract class Entity<T, ID extends Serializable> {
@Autowired
private SessionFactory sessionFactory;
public T getById(ID id) {
return (T) getSession().get(getClass(), id);
}
public ID save() {
return (ID) getSession().save(this);
}
protected Session getSession() {
return sessionFactory.getCurrentSession();
}
}
JVM argument :
-javaagent:~/.m2/repository/org/springframework/spring-instrument/3.0.2.RELEASE/spring-instrument-3.0.2.RELEASE.jar
More info: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-atconfigurable




