Java写框架必会几个技术点

关于学习架构,必须会的几点技术

  • 1. java反射技术
  • 2. xml文件处理
  • 3. properties属性文件处理
  • 4. 线程安全机制
  • 5. annocation注解
  • 6. 设计模式
  • 7. 代理机制(aop)
  • 8. serlvet基础(过滤器等等)

几样比较实用的技术:

  • 1. 模板语言freemarker
  • 2. ognl
  • 3. gson json工具类

大家对于几大框架望而生畏,实际上只要明白他的原理,就会触类旁通,在这里我说说自己的几点拙见!

MVC层(Struts,Springmvc):

           非常简单就是采用一个servlet实现统一跳转,配置文件保存了请求、处理类、转发请求的关系(通过xml文件或者注解)操作流程:页面触发请求,框架通过读取配置文件获取到处理类,然后通过反射实例化该类,进行对应的业务处理(现在流行的零配置,更是简化了mvc层的编写)

持久层(Mybatis/Hibernate):

        mybatis其实就是sql+mybatis逻辑标签

逻辑标签的理解如何大家用过模板语言freemarer或者velocity应该会很容易理解,就是自定义的规则标签
        Hibernate略显高级,也很简单,他是采用注解或者配置的方式将实体字段和表字段进行一个配置,在启动的时候动态生成sql
         大家可以看下开源项目minidao,就会知道持久层原来写很简单;

所以架构可以简单理解为:    配置+反射+设计模式+脚本+AOP

配置常用做法:

  • 1.xml文件
  • 2.annocation注解
  • 3.properties属性文件
  • 4.零配置思想

脚本处理方法:

  • 可以自己写,也可以采用模板语言freemarker等等

剖析如何自己写框架Struts和Mybatis,学其原理而非重复造轮子相关推荐

  1. 不是“重复”造轮子,百度飞桨框架2.0如何俘获人心

    2016 年,百度 PaddlePaddle 打响了国产深度学习框架开源的第一枪. 2019 年 4 月,在 Wave Summit 深度学习开发者峰会上,首次发布了PaddlePaddle 的中文名 ...

  2. android tcp socket框架_socket网络编程知识梳理,让你学会造轮子的能力

    在前面几篇中,我给大家介绍了socket的相关知识,也给出了详细的代码,从socket的基本介绍,到IO多路复用,以及粘包拆包,最后到心跳包问题.总的来说大概都把socket网络编程中能碰见的问题都讲 ...

  3. 基于WPF重复造轮子,写一款数据库文档管理工具(一)

    项目背景 公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码.需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下 ...

  4. php框架写博客,用PHP写框架用框架写应用程序

    现在有一个明显的趋势让PHPer必须清醒地认识到自己无论如何被分配在两大阵营中,别无选择: 要么是开发框架,要么是开发应用程序. 乍看之下会有人骂这个说法是***子放P,本来就没有第三种,你不是就说了 ...

  5. 【持久化框架】Mybatis简介与原理

    从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache softwar ...

  6. mybatis学习(1):【持久化框架】Mybatis简介与原理

    从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache softwar ...

  7. Java框架学习笔记--Mybatis学习

    一.Mybatis学习 1.Mybatis简介 简介:Mybatis开源免费框架.原名叫iBatis,2010在googlecode,2013年迁移到github2 作用:数据访问层框架.底层是对JD ...

  8. JAVA计算机毕业设计写手管理平台Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计写手管理平台Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计写手管理平台Mybatis+源码+数据库+lw文档+系统+调试部署 本源码技术栈: 项目 ...

  9. 1.写一篇 关于mybatis的总结

    1:MyBatis:封装了jdbc的持久层框架 2:MyBatis框架的优点 1)与JDBC相比,减少了50%以上的代码量. 2)MyBatis是最简单的持久化框架,小巧并且简单易学. 3)MyBat ...

最新文章

  1. java常见类关系(UML建模)
  2. OSS在private权限下的无参数访问(Nginx反向代理实现)
  3. mysql对日期的操作_MySql对日期的操作
  4. C/C++ OpenCV高斯滤波
  5. pinctrl子系统和gpio子系统
  6. poj 1776 Task Sequences
  7. 运筹说第34期丨运输问题发展应用及领域风云人物
  8. Java项目:JSP酒店客房管理系统
  9. Excel表格常用函数
  10. 首届Filecoin矿工大会会议重点
  11. 关于微信小程序跳转到H5,然后从H5又跳回微信小程序问题的资料
  12. 杜甫ndows 10怎么安排五笔,燕字五笔怎么打|燕子|杜甫|出处_诗词_综合试卷网_中国教育考试门户网站...
  13. python爬虫课设-爬取3000条数据并做数据可视化
  14. 2021第六届数维杯大学生数学建模竞赛题目
  15. 相似度计算的三种方式
  16. 导出Excel功能代码
  17. python中tan怎么表示_Python numpy.tan()用法及代码示例
  18. SDNU 1040.导弹拦截
  19. VINS Fusion GPS融合部分
  20. Silverlight 简介

热门文章

  1. Oracle常用命令大全
  2. (软件工程复习核心重点)第十章面向对象设计-第二节:启发规则和软件重用
  3. (王道408考研数据结构)第三章栈和队列-第三节1:栈的应用之括号匹配问题和表达式问题(前缀、中缀和后缀)
  4. 使用arpspoof实现内网ARP欺骗
  5. [Python]网络爬虫(六):一个简单的百度贴吧的小爬虫
  6. Shell常用参数解释($0、$1、$#、$@、$$、$USER、$HOSTNAME、$LINENO、$RANDOM、$?)
  7. xmlrpc.php 漏洞利用
  8. Android:使用Activity制作中间弹窗
  9. Shell脚本编程:使用shell打印九九乘法表
  10. JAVA 枚举类的初步理解