Java中反射机制案例分析

来源:互联网 发布:手机桌面归类软件 编辑:程序博客网 时间:2024/05/16 01:09

背景简介:Java的反射机制出现在JDK1.5之后,在实际项目开发中特别对于大型的项目开发。反射机制可以大大降低项目中层次之间的耦合性。提高项目的可读性、高可用性,也为二次开发提供高效的代码环境。

下面简单介绍自己在实际项目中对其心得体会。

案例一二三属于同一项目中部分摘抄,它采用的Java项目开发中经典的模式--MVC,其中案例一为Controller控制层,案例二为model层,案例三为实现层--view,对应的开发框架MVC--SSH

案例一

@Controller  //用于标注控制层组件(如struts中的action)通俗的 告诉外部访问者其为逻辑控制层

@RequestMapping("/commonController")//当外部通过URL访问时 URL+/commonController =>访问其对应的类或者接口

public class CommonController  extends BaseController {
    
    private static final long serialVersionUID = -2022644042715363498L;
    @Resource//将CommonService接口的所有的属性方法注入
    CommonService commmonService;
    
    @Autowired  //注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
    private IBaseDao baseDao;
    
    @RequestMapping("/getSubCorps")//注入具体放大 的响应请求 URL+/commonController/getSubCorps意为访问其所在的类中的该方法
    @ResponseBody

    public JSONObject getAllCorps(){
        List companys = commmonService.getSubCorps();
        Map map = new HashMap();
        map.put("companys", toHtmlOptionList(companys));
 
        return JSONUtil.convert2JSON(map);
    }

}


案例二

@Repository("commonDao")

//用于标注数据访问组件,即DAO组件 

//原理:将commonDao对应的DAO包注入连接接口类与现实类。

//优点:在控制具体调用时只需要关注接口类的方法和属性而不必知道其具体的实现类。非常的方便快捷、简单明了。

public class CommonDaoImpl extends BaseDao implements CommonDao {
 
    public PageListVo getPageList(String handlerId, String entryId,Map whereClause,PageInfoVo pageInfo) {
        return super.getPageList(handlerId, entryId, whereClause, pageInfo);
    }‘


案例三

    @Service //用于标注业务层组件
public class CommonServiceImpl extends BaseDao implements CommonService {

    @Override
    public PageListVo getPageList(String handlerId, String entryId,
            Map whereClause, PageInfoVo pageInfo,LoginOprVO vo) {
        return commonDao.getPageList(handlerId, entryId, whereClause, pageInfo);
    }


0 0
原创粉丝点击