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

353

被折叠的 条评论
为什么被折叠?



