java 框架个人心得

Java 框架之个人心得

作者:wangyp

2016 4 26

 

 

经过这一年的自我代码总结,发现对三大框架有了新的认识。

Boss 系统框架主要是基于struts1 +ibatis ,也有struts2,本人工作也就是基于Struts1 和后台的buff的调用,至于业务逻辑自己实在不理解。这就是我一直以来的缺陷所在吧,我不太想关注业务逻辑,我认为技术才是一把利剑。不管去哪都能行走天涯。

 

 

一.框架一:struts1.

1.走进struts1.三大框架的本质都是mvc 模式,model+view +controller;以前不够理解什么是视图分离,现在理解了,都是和servlet差不多。Strut1.也就是servlet 发展而来。Servlet  :请求到servlet ,然后通过servlet跳转。Strut1 :请求到action 然后跳转到视图。通常继承DispatchAction

成卡派发模块:

首先来看下请求的url:

 

 

来看下 漂亮的xml 的配置:

 

 

再来看下action 里面

 

 

 

请求由url ,xxx.go. 或者xx.go?command=XXX &xx,请求直接不带参数,就是直接跳转到init 里面,如果带command 就是带跳转的路径action里面 也可以 return

请求的路径mapping .findForard(nextpage) 到 对应的xml 里面找到jsp;如图;

 

 

 

 

 

 

 

二.框架二。Struts2:

走进struts2:

Struts2我的理解就是比strut1多了个对action的通配符,可以匹配不同的action 和页面。然后通过返回String 对应result页面,比struts1更简洁。而且 struts2 对表单的参数有自动的封装功能,只要是参数名对应都可以自动传递。不像strut1 需要post request.getparameter();

通常action继承 ActionSupport

 

团增值税订单生成模块

 

首先看看url

 

 

再看看 xml 配置

 

 

看看 action 配置

 

 

Ibatis :

 

 

就我的 理解ibatis 都是通过SqlMapconfig.xml 配置个sql xml  然后 ,这个联系起来 对应 的pojo  sql 语句的关系。

 

然后通过读取SqlMappConfig.xml   , 生成SqlMapClient,就可以调用增删改查。不过一般都和spring结合 生成 的getSqlMapClientTemplate ()模板类使用

 

这个 要配置好  SqlMapClientFactoryBean  然后类继承 SqlMapClientDaoSupport 即可  。

 

参考:http://blog.csdn.net/jinoon/article/details/6522172

 

关于自动生成工具:就是通过自动生成工具配置好表字段 和生成的Dao sqlxml 目录 就可以通过反射生成 对应的dao daoimpl  sql.xml

 

我的理解是和hibernate 的逆向生成很类似。可以通过表生成 pojo  ,也可以通pojo  生成 表。

 

关于ibaits 分页:

参考:http://blog.csdn.net/ubuntu64fan/article/details/10366675

map.put("pageNum", new Integer(pageBar.getPageNum()));

map.put("rowCountPerPage", new Integer(pageBar.getRowCountPerPage()));

 

int rowCount = ((Integer) getSqlMapClientTemplate().queryForObject(

sqlKeyCount, map)).intValue();

// 记录总数

pageBar.setRowCount(rowCount);

// 总页面数量

pageBar.setPageCount((pageBar.getRowCount()

+ pageBar.getRowCountPerPage() - 1)

/ pageBar.getRowCountPerPage());

List lst = getSqlMapClientTemplate().queryForList(sqlKey, map);

 

一般都是通过map  传入总条数,页面数量,调用queryForList()。实现物理分页

 

至于这个里面配置的oracle 自动分页的东东 public.oraclePageStart不太理解 哈哈。。不知道是不是自动生成的还是怎么弄的,问了好多人 。。

 

 

 

                                             Mybatis

 

 

普通的mybatis 配置和ibatis 差不多。都是通过配置SqlMapConfig.xml 里面对应pojo xml  的对应关系 ,然后读取SqlMapConfig.xml

 

 SqlSessionFactory 工厂。生成SqlSession 增删改查。

 

不过 不同的是mybatis mapper 代理对象 ,我的理解是mapper,通过扫描 mapper.xml。 代理过后不需要daoImpl 了,直接通过 mapper代理对象

 UserMapper userMapper=sqlSession.getMapper(UserMapper.class);

 

调用增删改查 。。

 

关于自动生成工具:

配置好表字段,mapper ,pojo 生成目录,可以自动生成 mapper接口 还有mapper.xml  还有pojo

 

 

关于mybatis 分页:

可以用 pageHelper 插件基于mybaits 拦截器 对sql 拦截实现分页

 

 

 

Springmvc  

 

 

 

 

Springmvc  的核心就是基于dispatchservlet ,传入url ,通过映射器处理器 handlerMapping 对应到 相应的controller ,通过反射执行相应的 方法。返回ModelAndView

返回到dispatchservlet  交给视图解析图,响应响应的视图

 

核心请参考 :黄勇的,架构探险

 

 

 

后结:关于boss 系统框架

 

关于复用。

1.逻辑的复用

2.页面的复用

 

1.只要是请求的action和参数相同的逻辑 就可以放进js里面复用。所以不需要重写逻辑

2.页面的复用:框架用到DisplayTag table.自己就可以实现list 的展示。分页 和 数据库里面配置展示字段

 

关于基本的查询分页:参考红名单管理 俺写的直接sql 分页 方便。O(_)O哈哈~

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java界面设计框架中,属性和方法是非常重要的概念。属性可以理解为对象的特征,而方法则是对象的行为。在实验中,我学习了如何定义和使用属性和方法,以及它们在Java界面设计框架中的作用。 首先,我学习了如何定义属性。在Java中,可以通过在类中定义变量来定义属性,例如: ``` public class Person { private String name; private int age; } ``` 在上面的代码中,我定义了两个属性,分别是姓名和年龄。注意到我在变量前加了private关键字,这是为了保证属性的封装性,外部无法直接访问。 接下来,我学习了如何定义方法。在Java中,可以通过在类中定义函数来定义方法,例如: ``` public class Person { private String name; private int age; public void sayHello() { System.out.println("Hello, my name is " + name + " and I am " + age + " years old."); } } ``` 在上面的代码中,我定义了一个方法sayHello(),它可以输出对象的姓名和年龄。注意到我在方法前加了public关键字,这是为了使方法可以被外部调用。 在实验中,我还学习了如何使用属性和方法。例如,我可以创建一个Person对象,并设置它的属性: ``` Person person = new Person(); person.setName("Tom"); person.setAge(20); ``` 在上面的代码中,我创建了一个Person对象,并通过调用setName()和setAge()方法设置了它的姓名和年龄。 我还可以调用对象的方法: ``` person.sayHello(); ``` 在上面的代码中,我调用了person对象的sayHello()方法,输出了它的姓名和年龄。 总的来说,实验让我深入了解了Java界面设计框架中属性和方法的概念和使用方法,这对我以后的Java编程工作非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值