Java中反射机制案例分析

本文深入探讨Java项目中MVC模式下的SSH框架应用,具体阐述了Controller控制层、model层以及view层的实现方式及内部运作机制。通过案例分析,详细解释了如何利用反射机制降低项目层次间的耦合性,提升代码可读性和项目高可用性,同时介绍了如何通过自动装配和依赖注入优化代码结构。

背景简介: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);
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值