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 ...
随机推荐
- 7. 配置undo表空间
7. 配置undo表空间 undo日志可以存储在一个或多个undo表空间中,无需存储在系统表空间中. 要为MySQL实例配置单独的undo表空间,请执行以下步骤 [重要]: 只能在初始化新MySQL实 ...
- Linux基础学习-命令行与图形界面切换
命令行模式和图形界面模式切换 打开文件 vim /etc/inittab # systemd uses 'targets' instead of runlevels. By default, ther ...
- CentOS 7的docker安装初始化
1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2: 添加软件源信息 添加阿里源这样下载 ...
- win7下qt error: undefined reference to `_imp__getnameinfo@28'解决
_imp__getnameinfo@28对应着winsock2.h的getnameinfo函数 首先需要导入对应的头文件 #ifndef WIN32 #include <sys/socket.h ...
- 事务场景中,抛出异常被catch后,如果需要回滚,一定要手动回滚事务
Spring使用声明式事务处理,默认情况下,如果被注解的数据库操作方法中发生了unchecked异常,所有的数据库操作将rollback:如果发生的异常是checked异常,默认情况下数据库操作还是会 ...
- 【HDU 6153】A Secret (KMP)
Problem Description Today is the birthday of SF,so VS gives two strings S1,S2 to SF as a present,whi ...
- 活动预告丨易盾CTO朱浩齐将出席2018 AIIA大会,分享《人工智能在内容安全的应用实践》
本文来自网易云社区 对于很多人来讲,仿佛昨天才燃起来的人工智能之火,转眼间烧遍了各个角落,如今我们的生活中,处处渗透着人工智能.10月16日,2018年 AIIA人工智能开发者大会在苏州举办,网易云易 ...
- 洛谷P2058 海港
题目描述 小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客. 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况:对于第i艘到达的船 ...
- 【dp】E. Selling Souvenirs
http://codeforces.com/contest/808/problem/E 题意:给定n个重量为可能1,2,3的纪念品和各自的价值,问在背包总重量不超过m的条件下总价值最大为多少. 其中1 ...
- 任意两点间最短距离floyd-warshall ---- POJ 2139 Six Degrees of Cowvin Bacon
floyd-warshall算法 通过dp思想 求任意两点之间最短距离 重复利用数组实现方式dist[i][j] i - j的最短距离 for(int k = 1; k <= N; k++) f ...