1. Buat sebuah project dengan nama DesktopSpring, project yang akan dibuat strukturnya adalah sebagai berikut
2. Klik kanan mouse pada project DesktopSpring->properties->libraries dan masukkan library yang dibutuhkan.
3. Buat sebuah paket dengan nama com.spring.model dan didalam paket tersebut buat sebuah class dengan nama project.java. adapun isi code nya adalah sebagai berikut.
package com.spring.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
@Entity
@Table(name=”mproject”)
public class project implements Serializable{
@Id
@GeneratedValue
private int ProjectID;
@Column(name=”projectname”,length=50,nullable=true)
private String ProjectName;
@Column(name=”description”,length=255,nullable=true)
private String Description;
public String getDescription() {
return Description;
}
public void setDescription(String Description) {
this.Description = Description;
}
public int getProjectID() {
return ProjectID;
}
public void setProjectID(int ProjectID) {
this.ProjectID = ProjectID;
}
public String getProjectName() {
return ProjectName;
}
public void setProjectName(String ProjectName) {
this.ProjectName = ProjectName;
}
}
4. Buat sebuah paket dengan nama com.spring.provider dan didalam paket tersebut buat sebuah class dengan nama ApplicationContextProvider.java. adapun isi code nya adalah sebagai berikut.
package com.spring.provider;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ApplicationContextProvider {
private ApplicationContext applicationContext;
private static ApplicationContextProvider provider;
private ApplicationContextProvider() throws ExceptionInInitializerError {
try {
this.applicationContext = new ClassPathXmlApplicationContext(“applicationContext.xml”);
} catch (Throwable ex) {
System.err.println(“Initial ApplicationContext creation failed — ” + ex);
throw new ExceptionInInitializerError(ex);
}
}
public synchronized static ApplicationContextProvider getInstance() throws ExceptionInInitializerError {
ApplicationContextProvider tempProvider = null;
if (provider == null) {
provider = new ApplicationContextProvider();
tempProvider = provider;
} else if (provider.getApplicationContext() == null) {
provider = new ApplicationContextProvider();
tempProvider = provider;
} else {
tempProvider = provider;
}
return tempProvider;
}
/* getter – setter.. */
public ApplicationContext getApplicationContext() {
return applicationContext;
}
public void setApplicationContext(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}
public static ApplicationContextProvider getProvider() {
return provider;
}
public static void setProvider(ApplicationContextProvider provider) {
ApplicationContextProvider.provider = provider;
}
}
5. Buat sebuah paket dengan nama com.spring.dao dan didalam paket tersebut buat dua buah class dengan nama projectDao.java dan projectDaoImpl.java.
Adapun isi code dari projectDao.java adalah sebagai berikut:
package com.spring.dao;
import java.util.List;
import com.spring.model.project;
public interface projectDao {
public void SaveProject(project proj);
}
Sedangkan isi code dari projectDaoImpl.java adalah sebagai berikut:
package com.spring.dao;
import java.util.List;
import com.spring.model.project;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
@Repository(“projectDao”)
public class projectDaoImpl extends HibernateDaoSupport implements projectDao{
@Autowired
public void SetSuperSessionFactory(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
}
@Override
public void SaveProject(project proj) throws DataAccessException{
getHibernateTemplate().save(proj);
}
}
6. Ubah code pada applicationContext.xml sehingga codenya adalah sebagai berikut:
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:p=”http://www.springframework.org/schema/p”
xmlns:aop=”http://www.springframework.org/schema/aop”
xmlns:tx=”http://www.springframework.org/schema/tx”
xmlns:context=”http://www.springframework.org/schema/context”
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd”>
<context:component-scan base-package=”com.spring.dao”/>
<tx:annotation-driven transaction-manager=”transactionManager”/>
<bean id=”propertyConfigurer”
p:location=”classpath:jdbc.properties”/>
<bean id=”dataSource”
class=”org.springframework.jdbc.datasource.DriverManagerDataSource”
p:driverClassName=”${jdbc.driver}”
p:url=”${jdbc.url}”
p:username=”${jdbc.username}”
p:password=”${jdbc.password}”/>
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”>
<property name=”dataSource” ref=”dataSource”/>
<property name=”configLocation” value=”classpath:hibernate.cfg.xml”/>
</bean>
<bean id=”transactionManager”
class=”org.springframework.orm.hibernate3.HibernateTransactionManager”
p:sessionFactory-ref=”sessionFactory”/>
<bean id=”projectDAO”
class=”com.spring.dao.projectDaoImpl”
p:sessionFactory-ref=”sessionFactory” />
</beans>
7. Buat sebuah file jdbc.properties pada default paket. Adapun isi codenya adalah sebagai berikut:
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/dbproperty
jdbc.username = root
jdbc.password = masuk –> merupakan password di mysql anda.
8. Buat sebuah file hibernate.cfg.xml, ubah isinya sehingga isi codenya adalah sebagai berikut:
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/Hibernate Configuration DTD 3.0//EN” “http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session-factory>
<property name=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>
<property name=”hibernate.hbm2ddl.auto”>update</property>
<mapping class=”com.spring.model.project” />
</session-factory>
</hibernate-configuration>
9. Pada paket desktopspring buat sebuah form dengan nama FormProject.java, adapun tampilannya adalah sebagai berikut:
Adapun code dari form ini adalah sebagai berikut :
package desktopspring;
import com.spring.dao.projectDao;
import com.spring.model.project;
import com.spring.provider.ApplicationContextProvider;
import javax.swing.JOptionPane;
import org.springframework.context.ApplicationContext;
public class FormProject extends javax.swing.JFrame {
private void btnSaveMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
project proj = new project();
proj.setProjectName(txtNama.getText());
proj.setDescription(txtKeterangan.getText());
ApplicationContext ac = ApplicationContextProvider.getInstance().getApplicationContext();
projectDao projDao = (projectDao) ac.getBean(“projectDao”,projectDao.class);
projDao.SaveProject(proj);
JOptionPane.showMessageDialog(this, “Data telah tersimpan”);
}catch(Exception ex){
JOptionPane.showMessageDialog(this, “Gagal Simpan Data!”);
JOptionPane.showMessageDialog(this, “Error ” + ex.getMessage(), “Error”, JOptionPane.ERROR_MESSAGE);
}
}
}
10. Untuk menjalankannya klik kanan mouse pada form FormProject.java kemudian pilih run file.