Java小白手记:SSH
以下内容只是一个小白菜鸟的理解和总结,目的仅在于梳理思路。
13年的时候,我就说要学JAVA,有个C++高手同事赞许地说:“嗯,不错,SSH。。。”我不禁肃然起敬。SSH!多么高大上的词,JAVA就是这样,这框架,那概念的,理论一套一套的,特别多,让人听了就兴奋到不行。
那么,SSH究竟是个啥?
分别是 structs、spring、hibernate。它们都是框架,结合起来用在WEB项目中。
structs:
主要是实现MVC中的C。在JAVA WEB项目中,这个C是指Servelet、Filter等拦截、过滤的程序。现在是structs2,据说与structs1没啥关系。
但是,Spring也有MVC的实现,有了它可以不用structs。大家之所以还用structs,其实是看中Spring的IOC、AOP,即控制反转,面向切面等机制。(哎,控制反转、面向切面这些都跟设计模式、系统架构密切相关,其中面向切面这个概念,我还是去年为了考架构师才知道的。真羡慕JAVA程序员,接触到的理论、概念非常多,从没听说.NET程序员要关心这些的!)
参考文章:
Spring:
说了,有MVC\控制反转\面向切面这些机制。这是一个轻量级的框架,其目的是为了帮助程序员更容易使用现有的那些笨重的框架。
据说这个开源的框架是编码典范,设计经典,任何要学习java的人都应该仔细研读,必定获益良多!
Hibernate:
不就是一个ORM框架吗?
除了实体类、方便程序员像使用平常面向对象方式那样编码,操作数据库外,其实它还有缓存、事务等机制。其缓存,曰Session,我猛一看,还以为是HttpSession。
让人汗颜的是,设计出Hibernate的天才,是因为觉得用传统的JAVA方式操作数据库太繁琐了,就决定自己写一个。他对SQL一窍不通,在写Hibernate之前,先到路边的旧书摊上买了一本SQL的入门书。靠,什么叫天才。
为什么JAVA涌现出如此之多杰出思想、概念、框架?我看,主要原因是在于它的开源。因为开源,可以聚集全世界的志同道合者一起参与,大家齐心协力,不断迸发出灵感的火花;而.NET只是一个公司的产品,尽管微软也很强,其开发者也很优秀,但毕竟人数相比太少;更何况,为开源产品添砖加瓦,完全出于个人兴趣,因而参与者可以乐此不疲,不知不觉就将JAVA做大做强;而微软的雇员做.NET,多少有任务的味道,有东西产出就行。
其次,微软因为WINDOWS太成功了,认为要将所有的产品都做得非常易用,包括开发工具。但是,程序员毕竟不同于普通用户,你将一个语言、工具做得那么傻瓜,拖控件、点鼠标,三两下就可以实现个 Hello World!,似乎开发效率提高了不少,但是,智能的外表下,掩盖了那些更需要为程序员所知道通晓的运行机制和原理!所以,微软产品系列的程序员,通病就是只知道应用,而缺乏对程序本质的理解,知其然而不知其所以然,更遑论那些系统架构级的概念、思想了。跟JAVA程序员相比,.NET程序员就像个傻逼。
版权声明:本文为博主原屙文章,喜欢你就担走。
Java小白手记:SSH的更多相关文章
- Java小白手记2:一些名词解释
看到<Java 征途:行者的地图> ,这是一篇有关java学习路径文章.对我等Java小白有指引作用.里面提到了一些基本的名词术语,有些我知道,有些不知道,再补上一些自己曾觉得模糊的,记录 ...
- Java小白手记:WEB项目等
机缘巧合之下,工作中得以用一下java.我向来对java很感兴趣,想从.NET转到java久矣,机会难得,久旱逢甘霖. 这次主要是跟web项目有关.在此之前,我了解到JAVA分为三大块:j2se.j2 ...
- 1、Java小白之路前言
大二一年准备好好学习Java,养成一个良好的习惯写博客,但是由于各种各样的原因,并没有坚持下来.而正好又赶上大三结束,去实习,发现自己的基础还是有些薄弱,所以决定,重新走上这条Java小白之路. 时隔 ...
- 老杜告诉你java小白到大神是怎么炼成的(转载)
老杜告诉你java小白到大神是怎么炼成的 1. 学习前的准备 一个好的学习方法(应该怎么学习更高效): 一个合格的程序员应该具备两个能力 有一个很好的指法速度(敲代码快) 有一个很好的编程思想(编程思 ...
- Java小白如何一步步学好Java,听听企业Java培训师的实践经验吧
今天我准备给小主展示一篇Java培训老师的文章,希望能给Java小白一个学好Java的路径或者提示.以下就是原文: 从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做train ...
- java jdbc使用SSH隧道连接mysql数据库demo
java jdbc使用SSH隧道连接mysql数据库demo 本文链接:https://blog.csdn.net/earbao/article/details/50216999 packag ...
- Java小白集合源码的学习系列:LinkedList
目录 LinkedList 源码学习 LinkedList继承体系 LinkedList核心源码 Deque相关操作 总结 LinkedList 源码学习 前文传送门:Java小白集合源码的学习系列: ...
- Java小白集合源码的学习系列:Vector
目录 Vector源码学习 Vector继承体系 Vector核心源码 基本属性 构造器 扩容机制 Enumeration 概述 源码描述 具体操作 Vector总结 Vector源码学习 前文传送门 ...
- 【JDK1.8】 Java小白的源码学习系列:HashMap
目录 Java小白的源码学习系列:HashMap 官方文档解读 基本数据结构 基本源码解读 基本成员变量 构造器 巧妙的tableSizeFor put方法 巧妙的hash方法 JDK1.8的putV ...
随机推荐
- Centos 7安装Mysql5.7
1.下载(国内镜像,比搜狐的快一点):http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc ...
- Spring Boot 默认配置无法访问静态资源
问题:将资源放在resources/static目录下,Spring boot不能加载 解决:在启动文件中,添加如下红字部分. @SpringBootApplication @Configuratio ...
- pwnable flag之write up
Papa brought me a packed present! let's open it. Download : http://pwnable.kr/bin/flag This is rever ...
- NowCoder栗酱的连通图(最小生成树, 结论)
链接: https://www.nowcoder.com/acm/contest/52/K 题意: 给定n个点,每个点有自己的权值, 然后让你添加n-1条边,使其边权和最大, 边权的定义是两点的点权和 ...
- 【06】Firebug记录Javascript日志
Firebug记录Javascript日志 你可以使用Firebug来生成日志. 这有助于我们调试web页面并发现页面的错误. 在Firefox浏览器中执行以下代码: <!DOCTYPE HTM ...
- Google JavaScript代码风格指南
Google JavaScript代码风格指南 修正版本 2.28 Aaron Whyte Bob Jervis Dan Pupius Eric Arvidsson Fritz Schneider R ...
- 大数据学习——flume安装部署
1.Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境 上传安装包到数据源所在节点上 然后解压 tar -zxvf apache-flume-1.6.0-bin.tar.gz ...
- SPOJ LCS 后缀自动机找最大公共子串
这里用第一个字符串构建完成后缀自动机以后 不断用第二个字符串从左往右沿着后缀自动机往前走,如能找到,那么当前匹配配数加1 如果找不到,那么就不断沿着后缀树不断往前找到所能匹配到当前字符的最大长度,然后 ...
- C 题 KMP中next[]问题
题目大意: 找到能够进行字符串匹配的前缀 这题只要一直求next,直到next为0停止,记得答案是总长减去next的长度 #include <iostream> #include < ...
- 下载整个网页的方法,包括样式、图片、和js
扒别人网站,不一定是要干邪恶的事(当然也有干的).有时候我们看到别人网站的功能很酷,想要自己试着实现一下.我们就需要扒一下这个页面,一方面可以线下修改学习,另一方面不会浪费时间在设计页面上,可以更关心 ...