首页 > 代码库 > 小学期实践心得(2)

小学期实践心得(2)

这次我了解了spring+hibernate 的包和其作用。在使用面向对象技术进行大型复杂系统的设计与开发中,通常需要设计与定义许多类,这些类中有些具有复杂的关系。如何对这些类进行有效的管理,java中引入了包的概念。java中对包的管理类似与操作系统中对文件系统的目录管理,即java中通过多个层次的包把各类文件组织在一起,包的层次在计算机中保存为目录。spring和hibernate包时myeclipse中两个重要的包,接下来我来介绍一下他们的作用和运用。

spring包含有大量的发布包,如何选择这些发布包,决定选用哪些发布包其实相当简单。如果你正在构建Web 应用并将全程使用Spring,那么最好就使用单个全部的spring.jar 文件;如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar与spring-beans.jar 即可;如果你对发布的大小要求很高,那么就得精挑细选了,只取包含自己所需特性的jar 文件了。采用独立的发布包你可以避免包含自己的应用不需要的全部类。

当然你可以采用其它的一些工具来设法令整个应用包变小,节省空间的重点在于准确地找出自己所需的Spring 依赖类,然后合并所需的类与包就可以了。Eclispe 有个插件叫ClassPathHelper 可以帮你找找所依赖的类。

而Hibernate一共包括了23个jar包,令人眼花缭乱,不一一介绍了。

完成了这两个包的加入后,就可以开始写代码的具体操作了。

存储操作:

package com.crm.action;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.crm.bean.Cust;
import com.crm.service.CustService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class CustSaveAction extends ActionSupport {

 private CustService service;
 private Cust cust;
 List strList = new ArrayList();
 public CustService getsevice() {
  return service;
 }
 public Cust getCust() {
  return cust;
 }

 public void setCust(Cust cust) {
  this.cust = cust;
 }

 public void setService(CustService service) {
  this.service = service;
 }

 public List getStrList() {
  return strList;
 }

 public void setStrList(List strList) {
  this.strList = strList;
 }

 @Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  this.service.saveCustomer(cust);
  return SUCCESS;
 }

}

查找操作

package com.crm.action;

import java.util.Map;

import com.crm.bean.Cust;
import com.crm.service.CustService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class FindCustByCdtAction extends ActionSupport{

 private Cust cust;
 private CustService findCdtService;
 public Cust getCust() {
  return cust;
 }
 public void setCust(Cust cust) {
  this.cust = cust;
 }
 public CustService getFindCdtService() {
  return findCdtService;
 }
 public void setFindCdtService(CustService findCdtService) {
  this.findCdtService = findCdtService;
 }

 /*public String execute() throws Exception {
  // TODO Auto-generated method stub
  Map map = (Map)ActionContext.getContext().get("request");
  map.put("list", this.findCdtService.findCustByCondition(cust));
  return SUCCESS;
 }*/
 public String execute() throws Exception{
  Map map=(Map)ActionContext.getContext().get("request");
  map.put("list", this.findCdtService.findCustByCondition(cust));
  return SUCCESS;
 }
 
 
 
 
}

移动操作

package com.crm.action;

import com.crm.bean.Cust;
import com.crm.service.CustService;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class RemoveCustAction extends ActionSupport{

 private Cust cust;
 private CustService service;

 public void setService(CustService service) {
  this.service = service;
 }

 public Cust getCust() {
  return cust;
 }

 public void setCust(Cust cust) {
  this.cust = cust;
 }

 @SuppressWarnings("unchecked")
 @Override
 public String execute() throws Exception {
  this.service.removeCustomer(cust);
  return SUCCESS;
 }

}

小学期实践心得(2)