Java架构师-基础篇
想成为一名Java架构师,以下概念是基础中的基础。(持续补充中)
1. JAVA SE, EE, ME
1998年12月份Sun公司公布的Java 1.2版本,同时将它的名字改称为“Java 2软件开发工具箱1.2”。它的后续版本也通常被称为“Java 2标准版”(J2SE)。在J2SE的推出的同时,还推出了“Java 2微缩版”(J2ME)和“Java 2企业版”(J2EE)。
- J2SE为创建和运行Java程序提供最基本环境,是Java技术的核心和基础。
- J2EE为基于服务器的分布式企业应用提供开发和运行环境,是目前Java技术应用最广泛的部分。J2EE不仅继承了J2SE中的许多优点,同时还提供了对EJB、JSP、Servlet以及XML技术的全面支持,降低了企业级开发的复杂度。
- J2ME为嵌入式应用提供开发和运行环境,例如手机程序和PDA程序等
2. PetStore代码实例
PetStore 是 SUN 公司推出的一个宠物商店的系统,其唯一的目的不是让你卖宠物,而是学习 J2EE 最新版本的特性的一个绝好例子。也有不少语言推出相应版本的宠物商店。
Petstore 的 J2EE 设计模式和组件框架思想是最值得学习的两种技术,在 PetStore 中,真正有关宠物这个具体应用相关的代码很少,整个宠物店是构架在一系列可重用的 EJB 组件上,这种架构思想值得借鉴。
3. J2EE有什么用?
- J2EE用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。这些企业可能大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小到只不过想做一个网站。
4. 什么是Servlet?
- 一个Servlet是一个Java类。它处理Http(s)请求并作出响应,包括返回一个HTML页面或转交给其他URL处理又或是返回Json串。
- Servlet必须运行在一个Web Container例如Tomcat中。
- Servlet必须是javax.servlet.http.HttpServlet的子类,
- 你可以继承doGet()或者doPost()方法,两者分别对应于Http(s)中的Get请求和Post请求。
5. 什么是Java Bean, EJB, POJO, PO, VO DTO?
Java Bean: 其实就是遵守一定规范的类(对象),这些规范是:
- 所有属性为private
- 提供默认构造方法
- 提供getter和setter
- 实现接口 java.io.Serializable接口;
- 这个类需要能支持“事件”, 例如addXXXXListener(XXXEvent e), 事件可以是Click事件,Keyboard事件等等, 当然咱们也支持自定义的事件。
EJB: 在实际企业开发中,需要实现事务,安全,分布式,javabean就不好用了.SUN公司就开始往上面堆功能,这里java bean就复杂为EJB;
EJB功能强大,但是太重了.此时出现DI(依赖注入),AOP(面向切面)技术,通过简单的java bean也能完成EJB的事情,这里的java bean简化为POJO(plain old Java Object);DI和Ioc(控制反转)是一个概念,是由Spring框架产生的技术。
对于一个Bean 来说,如果你依赖别的Bean , 只需要声明即可, spring 容器负责把依赖的bean 给“注入进去“, 起初大家称之为控制反转(IoC)
后来 Martin flower 给这种方式起来个更好的名字,叫“依赖注入”。
如果一个Bean 需要一些像事务,日志,安全这样的通用的服务, 也是只需要声明即可, spring 容器在运行时能够动态的“织入”这些服务, 这叫AOP。
PO(persistence object):用于持久化时(例如保存到数据库或者缓存);
VO(value object):用于前端展示使用(例如放置到JSP中解析或者给前端传递数据);
DTO(data transfer object):用于接口互相调用返回,数据传输(例如很多接口调用返回值或消息队列内容);