首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring3流入学习

2012-10-18 
spring3注入学习最近想学一下新东西,看到spring3,struts2,ibatis3都出来了,以前也不怎么了解,今天在网上看

spring3注入学习

最近想学一下新东西,看到spring3,struts2,ibatis3都出来了,以前也不怎么了解,今天在网上看了点东西,发给“自己”以后学习吧。

?

先了解下 spring 注入:

Spring有3种注入,接口注入,构造子注入,设值注入

?

Type1 接口注入

我们常常借助接口来将调用者与实现者分离。如:

?

<?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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd" default-autowire="byName" default-lazy-init="false"><!-- component-scan自动搜索@Component , @Controller , @Service , @Repository等标注的类 --><!-- 默认值如果适合,该项可以不用修改 --><context:component-scan base-package="com.**.service.impl" /></beans>

?

?

服务实现类:

?

?

package com.mylink.mipbs.service.impl;import org.springframework.stereotype.Component;import org.springframework.transaction.annotation.Transactional;import java.util.*;import javacommon.base.*;import javacommon.util.*;import cn.org.rapid_framework.util.*;import cn.org.rapid_framework.web.util.*;import cn.org.rapid_framework.page.*;import cn.org.rapid_framework.page.impl.*;import com.mylink.mipbs.model.*;import com.mylink.mipbs.dao.*;import com.mylink.mipbs.service.impl.*;import com.mylink.mipbs.service.*;//加上注解,供其它地方调用。
@Component("permissionManager")@Transactionalpublic class PermissionManagerImpl extends BaseManager<Permission,java.lang.Integer> implements PermissionManager {private PermissionDao permissionDao;/**增加setXXXX()方法,spring就可以通过autowire自动设置对象属性*/public void setPermissionDao(PermissionDao dao) {this.permissionDao = dao;}public EntityDao getEntityDao() {return this.permissionDao;}@Transactional(readOnly=true)public Page findByPageRequest(PageRequest pr) {return permissionDao.findByPageRequest(pr);}}

?

事件类调用:

?

package com.mylink.mipbs.action;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javacommon.util.extjs.ExtJsPageHelper;import javacommon.util.extjs.ListRange;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.lang.StringUtils;import cn.org.rapid_framework.page.Page;import cn.org.rapid_framework.page.PageRequest;import com.mylink.mipbs.model.Permission;import com.opensymphony.xwork2.Preparable;import com.opensymphony.xwork2.ModelDriven;import static javacommon.util.extjs.Struts2JsonHelper.*;import java.util.*;import javacommon.base.*;import javacommon.util.*;import cn.org.rapid_framework.util.*;import cn.org.rapid_framework.web.util.*;import cn.org.rapid_framework.page.*;import cn.org.rapid_framework.page.impl.*;import com.mylink.mipbs.model.*;import com.mylink.mipbs.dao.*;import com.mylink.mipbs.service.impl.*;import com.mylink.mipbs.service.*;public class PermissionAction extends BaseStruts2Action implements Preparable,ModelDriven{//默认多列排序,example: username desc,createTime ascprotected static final String DEFAULT_SORT_COLUMNS = null; //forward pathsprotected static final String QUERY_JSP = "/pages/Permission/query.jsp";protected static final String LIST_JSP= "/pages/Permission/list.jsp";protected static final String CREATE_JSP = "/pages/Permission/create.jsp";protected static final String EDIT_JSP = "/pages/Permission/edit.jsp";protected static final String SHOW_JSP = "/pages/Permission/show.jsp";//redirect paths,startWith: !protected static final String LIST_ACTION = "!/pages/Permission/list.do";private PermissionManager permissionManager;private Permission permission;java.lang.Integer id = null;private String[] items;public void prepare() throws Exception {if (isNullOrEmptyString(id)) {permission = new Permission();} else {permission = (Permission)permissionManager.getById(id);}}/** 通过spring自动注入 */public void setPermissionManager(PermissionManager manager) {this.permissionManager = manager;}public Object getModel() {return permission;}public void setId(java.lang.Integer val) {this.id = val;}public void setItems(String[] items) {this.items = items;}/** * ExtGrid使用 * 列表 * @throws IOException */public void extlist() throws IOException{PageRequest<Map> pr = ExtJsPageHelper.createPageRequestForExtJs(getRequest(), DEFAULT_SORT_COLUMNS);Page page = permissionManager.findByPageRequest(pr);List<Permission> Permissionlist = (List) page.getResult();ListRange<Permission> resultList = new ListRange<Permission>();resultList.setList(Permissionlist);resultList.setTotalSize(page.getTotalCount());resultList.setMessage("ok");resultList.setSuccess(true);outJson(resultList);}/** * extGrid保存 * @throws IOException */public void extsave() throws IOException{Map<String, Object> result = new HashMap<String, Object>();try{permissionManager.save(permission);result.put("success", true);result.put("msg", "添 加 成 功!");}catch (Exception e){result.put("failure", true);result.put("msg", e.getMessage());e.printStackTrace();}outJson(result);}/** * extGrid修改 * @throws IOException */public void extupdate() throws IOException{Map<String, Object> result = new HashMap<String, Object>();try{permissionManager.update(permission);result.put("success", true);result.put("msg", "修 改 成 功!");}catch (Exception e){result.put("failure", true);result.put("msg", e.getMessage());e.printStackTrace();}outJson(result);}/** * extGrid删除 * @throws IOException */public void extdelete() throws IOException{String ids = getRequest().getParameter("ids");String[] idarray = ids.split(",");Map<String, Object> result = new HashMap<String, Object>();try{for (int i = 0; i < idarray.length; i++){java.lang.Integer id = new java.lang.Integer((String)idarray[i]);permissionManager.removeById(id);}result.put("success", true);result.put("msg", "删除成功");}catch (Exception e){result.put("failure", true);result.put("msg", e.getMessage());e.printStackTrace();}outJson(result);}}

?

?

热点排行