一、后端开发的概念和技术
1.1 什么是后端开发?
- 后端:应用程序的最大部分看不到的幕后。前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。
- 后端开发:非用户接口代码比用户接口代码多得多。复杂系统是在后台发生的各种使其工作的逻辑。我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测。所有这一切都发生在幕后。
1.2 Java后端开发技术图谱
微信图片_20190226182925.jpg1.3 JavaWeb掌握什么?
1、网络通信协议:http
2、服务器:tomcat(开源)jeety(嵌入式)weblogic(商用)ngix qpache
3、云服务器:阿里云、腾讯云
4、servlet、过滤器、监听器
5、其他:跨域、负载均衡、缓存、日志、git、maven
二、JavaEE概念
- JavaEE是指java enterprise edition,java企业版,多用于企业级开发,包括web开发等等很多组建;
- Java EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序;
- JavaEE 号称有十三种核心技术。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JTS、JTA、JavaMail和JAF。
JDBC
Java 数据库连接,(Java Database Connectivity,JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
JNDI
Java 命名和目录接口(Java Naming and Directory Interface,JNDI),是 Java 的一个目录服务应用程序界面(API),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。
EJB
企业级 JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。
Servlet
Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。
JSP
JSP(全称JavaServer Pages)是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。 - JavaEE框架
JavaEE 拥有广泛市场的原因之一就是可以使用多种框架来使开发变得简单。对于框架的选择多种多样,目前最常见的框架组合是 SSM (Spring +SpringMVC + MyBatis)。
三、Spring框架特点及构成
3.1特点及优势:
- 轻量级IoC容器 IoC 容器是用于管理所有 bean 的声明周期,是 Spring 的核心组件。在此基础上,开发者可以自行选择要集成的组件,如消息传递、事物管理、数据持久化及 Web 组件等。
- 采用AOP编程方式 AOP (面向切面编程)的目标与 OOP(面向对象编程)的目标并没有什么不同。
- 大量使用注解 Spring 提供了大量注解,支持声明式的注入方式,极大地简化了配置。
- 避免重复“造轮子” Spring 集成了大量成熟的开源组件,增强了 Spring 的功能,又避免了重复“造轮子”。
3.2框架构成:
-
Spring Core
Core封装包是框架的最基础部分,提供IOC和依赖注入的特性。这里的基础l概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。 -
SpringContext
构建于Core封装包基础上的Context封装包,提供了一种框架式的对象访问方法,有些像JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。 -
Spring AOP
提供切面支持
AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常用的拦截器,提供用户自定义和配置。 -
Spring DAO
提供事务支持,JDBC,DAO支持
DAO(Data Access Object)提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适合。 -
Spring ORM
对流行的O/R Mapping封装或支持
ORM封装包提供了常用的“对象/关系”映射APIs的集成层。其中包括JPA、JDO、Hibernate 和myiBatis。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如期边提到的简单声明性事务管理。 -
Spring Web
提供Web应用上下文,对Web开发提供功能上的支持,如请求,表单,异常等。
WEB模块提供对常见框架如Struts1,WEBWORK(Struts2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。 -
Spring Web MVC
全功能MVC框架,作用等同于Struts
Spring中的MVC封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模式代码和Web Form 之间。并且,还可以借助Spring框架的其他特性。
网友评论