以数据库表Admin为例。
1,编写数据库访问层AdminDao,IAdminDao, 业务层AdminService, IAdminService
设置dao和service层次的依赖注入关系,在applicationContext.xml中进行配置,并测试dao和service的各个方法的可用性。
2,控制层代码 AdminAction类。
编写XxxAction.java,设置action和service的依赖关系,分别在applicationContext.xml和struts.xml中配置相关的Action,在浏览器上测试action的有效性,再用Android客户端来访问。
以user表的操作为例,演示整个ssh框架的编写过程。
1、编写UserDao和UserDaoImpl
package com.demo.dao; import com.demo.orm.User; public interface UserDao { public void saveUser(User u);
}
public class UserDaoImpl extends HibernateDaoSupport implements UserDao { public void saveUser(User u) { this.getHibernateTemplate().save(u);
}
}
在applicationContext.xml中配置UserDaoImpl
<bean id="UserDaoImpl" class="com.demo.dao.impl.UserDaoImpl">
<property name="sessionFactory"
ref="sessionFactory"></property> </bean>
用main函数测试
public static void main(String [] args){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); UserDaoImpl userDaoImpl =(UserDaoImpl) context.getBean("UserDaoImpl");
User u = new User(); u.setRealname("汤姆"); u.setUsername("tom"); u.setPassword("123"); userDaoImpl.saveUser(u);
}
2、编写业务层UserService、UserServiceImpl,注意和UserDao的依赖注入关系。
public interface UserService { public void register(User u);
}
public class UserServiceImpl implements UserService{
UserDao dao;
public UserDao getDao() { return dao;
}
public void setDao(UserDao dao) { this.dao = dao; }
public void register(User u) { dao.saveUser(u); }
}
<bean id="UserServiceImpl"
class="com.demo.service.impl.UserServiceImpl">
<property name="dao" ref="UserDaoImpl"></property>
</bean>
在main中测试UserService
public static void main(String [] args){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); UserServiceImpl us =(UserServiceImpl) context.getBean("UserServiceImpl");
User u = new User(); u.setRealname("李磊"); u.setUsername("lilei"); u.setPassword("123"); us.register(u);
}
3、编写控制层代码RegisterAction