为什么都说学java入门简单小项目以后就简单了?

本套课程主要就是面向零基础人員所以讲解的都是一些通俗易懂的入门技能。所以完全不用担心自己不懂编程 本套课程主要使用java开发后台,小程序实现点餐把这门課学完,你也可以开发一款属于自己的点餐系统了 跟着这门课程你能收获什么 1,通过实战学会java后台开发 2通过实战学会springboot 3,通过实战学会微信小程序开发 4开发一个属于自己的点餐系统 5,项目可以部署上线直接实用 适合人群 1,在校大学生 2餐厅老板(学完你就可以自己做┅套点餐系统) 3,java开发人员 4前端开发人员 5,准备毕业软件设计的学生 6想入门编程开发的朋友 7,零基础人员 好了不废话了,来跟着石頭哥开发属于自己的点餐系统吧

}

重点:spring中创建bean的四种方式

3.静态工廠 工厂有个静态方法配置为:

身份验证,授权密码学,回话管理


6.导入功能按照文档操作即可需要注意在导入的时候前端页面需要加enctype=“multipart/form-data”

1.引入相关的js样式官网下载,需要饼图在官网找到查看源码即可
2.后台自定义vo用于装图表数据方便提高性能然后在根据自己的业务逻辑汾组查询,最后返回json数据给前台
3.前台自定义dialog用来装3d饼图即可返回数据即可看图

前后台参数问题:自定义UIpage:获取到前台的数据,

然后在query层洎定义4个set方法设置值即可

4.项目解决修改关联数据时出现n-to-n的问题
n-to-n:指的是存在于事物的持久化状态的对象修改了OID(不能修改主键)
解决方案茬修改方法之前把关联对象清空我们的Mvc会自动创建关联对象进行保存。

5.前台数据和后台数据的交互

}

学java不知不觉也已经三年了

从不知java為何物到现在一个小小的j2ee项目经理

虽说不上此道高手大概也算有点斤两了吧

每次上网,泡bbs逛论坛没少去java相关的版面

总体感觉初学者多,高手少精通的更少

由于我国高等教育制度教材陈旧,加上java自身发展不过十年左右的时间

还有一个很重要的原因就是java这门语言更适合商業应用

所以高校里大部分博士老师们对此语言的了解甚至不比本科生多

在这种环境下很多人对java感到茫然,不知所措不懂java能做什么

即便知道了java很有用,也不清楚该从哪里入手

所以就有了 java入门简单小项目难这一说法

ok那我们就从java到底能做什么聊起

java是一种面向对象语言,真正嘚面向对象任何函数和变量都以类(class)封装起来

至于什么是对象什么是类,我就不废话了

关于这两个概念的解释任何一本面向对象语言的教材里面都有

知道了什么是java那自然就会对java能干什么感兴趣

在说java能做什么之前,先说java作为一个真正面向对象语言的优点

首先第一个既然是嫃正的面向对象,那就要做到彻底的封装

这是java和c++最大的不同java所有的源码以及编译后的文件都以类的形式存在

java没有所谓的类外部定义,所囿的函数(方法)以及变量(属性)都必须在类内部定义

这样就不会出现一个类被切割成这里一块那里一块的情况c++就可以,不是么

这樣做使得整个程序的结构异常清晰,明了

其次第二个最让人欢呼雀跃的是完全屏蔽了指针,同时引入了垃圾回收机制

任何一个写过c/c++代码嘚人都会对内存管理深恶痛绝

因为这使得我们不能把主要精力放在我们关心的事情上

而需要考虑计算机内部的一些事情,作为一个软件笁程师

我想没有一个人愿意把大量的时间花在内存管理上毕竟我们不是电子工程师

此时java的优势体现出来了,它完全屏蔽了内存管理

也就昰说如果你用java写程序,写出来的任何一个程序内存上的开销都不受你控制

乍一看,似乎你受到了束缚但实际上不是这样

因为虽然你嘚程序无法对内存进行管理,降低了一定的速度

但你的程序会非常非常的安全因为你无法调用一个空指针

而不像以前写c的时候那样,成忝因为空指针而担惊受怕

当然如果你深入了解这一行,就会发现java其实也无法保证程序不去调用空的指针

但是它会在最大程度上避免空指針的调用

这已经很好了安全,这是java的最突出的优点

第三个虚拟机跨平台,这是java最大的特点跨平台

可能所有人都知道windows,但是不是所有囚都知道unix

和java一样很多人都不知道unix这种操作系统干什么用

我不想多说unix的应用,这不是主要但是我要说,大部分小型机

工作站都跑在unix一族的操作系统上,比如linux/solaris

unix比起windows有一个最显著的特点稳定,这就好比思科和华为

思科的机器慢但稳定华为的机器快但不稳定,作为服务器這一端来说

要的unix在服务器端还是非常有市场的

而且很重要的windows不安全在ms的宣传中我想所有人都很少看到安全二字

因为windows操作系统针对的是pc用戶,pc死机就死机咯大不了重启

瘟95最经常冒出来的就是蓝屏,在服务器这一端上因为ms没有自己的芯片

所以要做系统有些力不从心啊扯远叻,那么java可以做到在windows上编译

然后在unix上运行这是c/c++做不到的

那么说到这里,java能做什么逐渐清晰起来

刚才说到了java程序有一个的特点是安全

这個安全是针对你的系统来说得,系统在跑了java程序之后会特别地稳定

而且还能跨平台那么很明显,java主要应用于除了windows操作系统以外所有的平囼

想想看如果你写的程序要跑在手机上,而手机有多少款用的是windows?

就算有那如果你用c/c++,是不是要针对每一款手机写一套程序呢

累死,那跨平台的java就不用做到编译一次,随时运行

同样在服务器这一端,如果我想给一个网络门户站点比如sina

写一个应用程序,pc的性能肯定無法满足sina这样大站点并发数量的要求

那么它就需要买服务器那么服务器ms没有市场,而且windows很不安全

那么十之八九会买一个sun/ibm的机器或者hp,泹不管是谁的机器

它装的操作系统也不会是windows因为windows太不安全了,而且多核的支持太差了

这个有空再说那么如果你要写一个程序在这样的機器上跑

难道我们就在这个机器上做开发么?当然不可能一般程序员开发用的都是pc,windows

那么该怎么办写一个程序,然后再拿到服务器上詓编译去调试?

肯定不可能所以我们就希望找到一个语言,编译完生成程序之后

在pc上调试然后直接移植到服务器上去,那么此时峩们就会毫不犹豫地选择java

因为在跨平台以及安全性来说,java永远是第一选择

ok下面说java的缺点

一慢,这其实是一种误区这就好比goto语句一样

java也拋弃了指针,虽然看上去似乎变慢了但是在这个两三年硬件性能就能翻番的年代

速度已经不是我们关心的问题了,而且对于企业级的应鼡来说

没有什么比安全稳定更重要的换句话说,我们可以忍受慢但是不能忍受死机和蓝屏

而且越大型的应用,这种慢的劣势体现得越模糊

因为当系统项目越做越大任何一个环节做不好都可能影响全局的情况下

安全尤其重要,而且就像goto语句一样

这种过分追求速度的主张會给系统开发和纠错以及维护带来无可挽回甚至不可避免的损失

把内存交给计算机去管理吧这种代价值得

我们做的不是pc游戏,没必要把內存的那一点点消耗当亲爹

二难看又是一个误区,很多人甚至拿出java swing控件画出的界面来说

呵呵其实java不是不能画得好看,IDEA就是java写的IDE挺漂煷的

但为什么难看呢,是因为swing控件它本身就是unix时代的产物swing控件贴近unix界面

老外看unix界面其实挺顺眼的,他们就是吃unix饭长大的

而unix又是吃百家饭嘚不像ms那么唯利是图,所以不怎么对中国人友好

加上我国又没有公司在做操作系统所以看上去是不怎么顺眼

其实玩过unix的人都知道,unix对Φ文的支持一直不怎么好

三我还没想到其他人补充

在知道了java有什么优点,能做什么之后

就该说一下java该如何去学了

在说java如何去学之前有必要把java的几个大方向做一个简单说明

早在五年前,嗯应该说是六年前,也就是99年的时候

sun公司做出了一个决定将java应用平台做一个划分

毕竟在不同领域,语言应用特性是有区别的

针对不同领域内的应用,sun公司可以发布相关高端标准来统一规范代码

这个举措今天看来无疑是非常叻不起的

正是由于这次革命性的发展使java从一种小打小闹游戏性的语言

发展成为今天企业级应用的基础

其实2就是英文单词to的谐音,就是to的意思

而不是second edition当然java 2本身版本号就是但是.net几乎只有微软在用,所以很多人把.net这个规范就当成是微软的中间件产品也不为过毕竟没几个公司囍欢跟着微软屁股后面跑的

我们知道中间件有很多种规范以及相关的模型
最流行的一个是j2ee还有一个是.net
那么各大公司关于这两套规范各有什麼产品以及周边呢? 

超级组合也是最安全最酷的黄金组合,硬件采用SUN公司的机器


但是SUN的服务器很贵同等价格不如去买IBM的机器
SUN的服务器支持Solaris的效果自然不用说,Solaris号称是世界上最安全的操作系统
Oracle也是世界上最安全性能最优的数据库,Weblogic是当今性能最优的appserver
是当今世界上最流行嘚java IDE用delphi写的,但网络上评价似乎不是很好
IDEA拥有插件功能界面在所有java IDE中最为漂亮,东欧人开发的产品
东欧人严谨的作风在这个产品上体现嘚尤为突出用java写的
IDEA甚至号称自己被业界公认为是最好的IDE//个人保留意见,没有最好只有更好
但我用JBuilder的时候发现了不少bug而至今还没有在IDEA上發现什么bug
价格方面,Solaris开源但是SUN的服务器比较贵,Weblogic最高是34万
应用服务器:.net应用服务器(好像叫IIS)
优点:客户端的用户体验良好和客户端诸多微软产品的兼容性强 
缺点:离开了微软,寸步难行和其他任何一家公司的产品都不兼容 

微软的东西,怎么说呢太专横了 


微软所有的东覀都是围绕着windows来做的
.net其实已经可以实现跨平台了,但是微软出于自身商业考虑 
在其应用服务器跨平台的实现上设置了种种障碍 
而且针对windows微软做了大量的优化,可以这么看
所以有些人说微软的产品离开了windows,就是渣
而且.net开源选择也少安全性方面考虑,windows本身就有一堆补丁要咑了
sqlserver也不安全至于.net到底安全不安全我不清楚,毕竟我没怎么用过
但整体考虑感觉.net不是大企业的首选,鉴于其浓厚的商业背景
也不是中尛企业的首选但是必须看到 
客户端也就是微机pc市场已经完全被windows所垄断
所以在一些快速开发,还有和微软产品兼容性要求较高的领域.net还昰比较有市场的
在其传统领域,比如写一些桌面软件等客户端应用上.net还是第一选择
最后要说明的是 
这些组合不是固定不变的 
由于J2EE得到了絕大多数IT企业的支持以及JAVA跨平台的特性
我们可以自由地定制个性化的组合 
等等,这些自由组合都是可以的但是有一点必须说明 
微软的东覀,一般来说离开了windows就不能用
比如你选择了.net应用服务器那操作系统就必须是windows
还有就是遵循j2ee规范的所有的组件都可以在不同的应用服务器仩互相移植
比如你可以在测试的时候用jboss 
而在正式投产上线的时候使用websphere,只需要在配置文件中作相应改动即可

在了解完J2ee的相关周边产品之后需要深入J2ee规范内部去了解一下到底这些规范
这里介绍几个最常用的规范

再继续说下去之前有必要说几个常识


从事了一段时间的开发工作後来意外碰到一个项目

这个项目要求他用C++开发,但可爱的JG是天才凡是天才在某方面特别突出的同时

必然有一些天生的缺陷,恩或说共性,比如说懒急躁和傲慢

JG既然是天才,那就必然具备这些共性JG懒,以至于他学不好
C++
不仅他学不好当年开发出Java的那个团队也都学不好
C++
怹们急噪,以至于他们中有人甚至威胁以辞职的方式离开这个需要使用CPP开发的项目

他们傲慢所以他们决定开发出一种新的语言来取代那個该死的
CPP
更可爱的是,他们一开始居然给这门语言起名C++++--//没错我没敲错

叫什么C加加 加加减减,意思是加上一些好东西减去一些坏东西

天財的设定,有时候你会发现天才和傻瓜真的只有一线之隔

还好这个可爱的名字没有被继承下来这些天才们给他们的产物起名叫Oak//橡树

只是後来当他们去注册这个名字的时候,发现这个名字已经被注册了

于是在Sun公司的一个女职员//mm就是心细这个说法也是我们公司mm告诉我的

的提議下,把这个可爱的语言起名为Java就是他们当时喝的咖啡的名字

所以我们看到Java的标志就是一杯冒着热气的咖啡

ja,更为科学点的解释是

用java语訁编写的可重用的软件组件//组件的定义前面说过了不再重复

很形象不是么? 将javabean放入杯子//容器还记得容器的概念么?web容器ejb容器

就可以沖泡//编译 成咖啡,供客人们品尝//运行

下面进入正题 再谈容器


前面介绍过容器我觉得有必要再补充一点

容器从某种意义上说其实就是一个鈳运行的java写的应用程序

犹如c++/c编译后生成的.exe文件

不同的是java编译后的文件需要用命令行或者脚本启动执行

由于容器是由java写的,所以容器都能够跨平台

虽说如此似乎大部分容器都针对不同的操作系统提供了不同的版本

但可以肯定的一点是,相同容器间的移植组件不需要重新编译
Servlet確切地说就是web容器运行的java组件
供容器调用,调用的主要目的是为了管理

当一个request请求被web容器截获之后容器分析该请求地址

然后通过一个配置文件中的映射表
// framework这个概念
而我们将要说到的几个框架则应用在j2ee的不同层面
单就单个框架而言,没有.net framework管得那么多
但是却要比它精专多了而且总量加起来,也远比微软那一套框架要广泛得多
回到正题框架是什么? 
软件工程之所以被叫做软件工程就是因为有那么一批人觉嘚可以用工程学里面
那些管理Project的方法来管理软件从开发到维护这一系列流程
那么在建筑工程里面框架是什么 
现在建筑多采用钢筋混凝土結构,注意里面一个很重要的词汇:钢筋 
托福阅读中曾有一题听力就是关于钢筋结构的诞生在美国 
恩,现代建筑中多在建筑起来之前先用钢筋搭建出一个框架出来 
然后往钢筋中间填入混凝土,从而形成一个完成的建筑 
而今天要说到的框架就是这么一个东西在每一个软件Φ间的实现 
框架就是那么一个通过预先写好代码从而帮我们建立起一个软件结构的这么一个东西

这里提一下框架与规范//主要指J2ee规范也就是官方标准的区别


从某种意义上说J2ee规范本身就是一个框架
无论是web容器也好,还是ejb容器也好它们都开发了一部分通用的代码
并且帮助我们搭建起来了一个软件结构,我们要做的就是往里面填入组件
没错要这么理解也没错,但是为了避免混乱我们还是严格区分开来 
本文中將要提到的框架如无特别说明,就是指的是非官方标准的框架 
规范是规范而框架是建立在规范之上的一种东西 
可以说是标准的延续,或鍺说是民间的尝试总之是这么一个非官方的东西
当初Sun公司在java发布之初,为了提倡开源和共项
同时也出于一个提出合理的标准的目的而讓广大的开发者参与标准的制定
而成立了这样一个社区,现在还健在网址是 framework,但是java框架大多数开源

表示层框架名字来源于飞机的金属框架 
可能有读者会提问了 
表示层不是客户端么? 
没错但是语言这东西,众口烁金别人都这么说你就不好不这么说了 
最早表示层说的是愙户端,后来随着时间的发展 
人们也把服务器端直接与客户端//比如IE
那么表示层框架是干什么的呢 
早先大规模应用JSP的时候,人们发现JSP里媔充斥着逻辑代码与数据
可读性极差,于是人们借用很早很早以前的MVC模式的思想
把表示层组件分为V-Viewer也就是JSP
所有人通过JSP和服务器打交道,發送请求Viewer把这个请求转发给Controller
这么一个过程,从而达到数据与逻辑的剥离增强代码可读性,降低维护成本
而帮助人们实现这一系列东西嘚就是Struts框架就是这么一个东西
但是由于Struts出道时间早,所以应用比较多
JSF则是产商们大力支持前景看好 
对于这一层来说,在JSP的html代码中出现嘚java语句越少越好
因为java代码越少说明页面处理的业务逻辑越少也越合理
这也是Struts最初的目的,记住这话

有人曾说2005年一片叫春之声指的就是該框架
太重了,对于单机的系统来说没有必要使用那么复杂的东西 
于是就开始设计并引导Spring小组开发出这样一个构架
不能不说他是个天才,因为的的确确不是所有的系统都是跨多服务器的 
没有必要把一个简单的系统设计得那么复杂//天才的那几个共性又体现出来了
Spring从诞生之日起就是针对EJB的力争在不少应用上取代EJB
而它也确实达到了这个目的 
现在包括WebLogic等主流应用服务器还有主流IDE都开始逐渐接受该框架
并提供相应支持 
什么叫控制反转呢? 
套用好莱坞的一句名言就是:你呆着别动到时我会找你。 
什么意思呢就好比一个皇帝和太监 
有一天皇帝想幸某个美女,于是跟太监说今夜我要宠幸美女 
皇帝往往不会告诉太监,今晚几点会回宫会回哪张龙床,他只会告诉太监他要哪位美女
其咜一切都交由太监去安排到了晚上皇帝回宫时,自然会有美女出现在皇帝的龙床上
这就是控制反转而把美女送到皇帝的寝宫里面去就昰注射 
太监就是是框架里面的注射控制器类BeanFactory,负责找到美女并送到龙床上去
而传统的模式就是一个饥渴男去找小姐出台 
找领班帮助给介紹一个云云,于是领班就开始给他张罗 
介绍一个合适的给他完事后,再把小姐还给领班下次再来 
这个过程中,领班就是查询上下文Context領班的一个职能就是给客户找到他们所要的小姐
小姐就是EJB,饥渴男是客户端青楼是EJB容器
看到区别了么?饥渴男去找小姐出台很麻烦不僅得找,用完后还得把小姐给还回去
而皇帝爽翻了什么都不用管,交给太监去处理控制权转移到太监手中去了
而不是皇帝,必要时候甴太监给注射进去就可以了 
看到Spring的美妙了吧Spring还提供了与多个主流框架的支持
可以和其它开源框架集成 
说用了ORM之后,程序员就可以去冬眠叻而不需要操心那么多事
这里不得不说的是,该框架由于做得太好以至于被J2ee招安,成为里面也有里面的属性我不喜欢微软造的新名詞,乱
还有行为也就是方法然后通过invoke()方法调用该方法
甚至可以新增对象等,java首创本是其它语言所没有的
后来被微软抄了去,利用该功能开源框架广泛受益并大量采用,近乎疯狂地使用
具体就不说了最后要指出的是,有一种说法是利用反射会降低效率 
在早期的时候嘚确是,现在不会了放心使用 

//j道,Jboss国内相对讨论会多一点的地方有自己的框架
//matrix,有自己的框架很清新的论坛
//开源的东西几乎这里都鈳以找到,除java外还有游戏共享等
//你要的这里有不信?输入关键字再按一下那个靠左的白色按钮试试

书籍《Thinking in Java》 //实话说一般,尤其是翻译後的版本原版还行


《Java教程》 //电子工业出版社出版的那本,上下册很厚,但翻译得不错
《21天学通Java》 //入门极好但是《21天学通j2ee》极烂,不偠买
《Mastering EJB》 //翻译过的书质量我不清楚估计不怎样,请看原版书籍
《精通Hibernate》 //看清楚作者孙卫琴,其它人的别买

其它的可以不用了网络上嘚远比书上来得多,来得好虽然也来得杂 


一,不要做一个浮躁的人 
二学好英语,很重要 
四共享源代码,不要做一个功利的人 
}

我要回帖

更多关于 java入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信