springstudy 01

一、后端开发的概念和技术栈

1.1 什么是后端开发?

百度

1.2 Java后端技术图谱?

[技术图谱](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md)

二、JavaEE概念

  • Java EE应用程序模型——这个模型描述了一个实现服务的多层架构。“什么是服务”没有明确的界限。事实上,服务只是一个逻辑上的概念,它的对应实体取决于应用实现的概念。例如,客户端/服务器模型就是一种服务。
  • Java EE 服务——这是一个J2EE中三层架构的应用服务范例。它是由网页层(服务JSP页面)和事务层(管理企业的数据层)组成的。
  • Java EE 组件——“组件”是指独立的软件单元,可以和其他的组件组合来建立一个应用。
    Web组件(Web Component)——web端生成的页面或者对用户请求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
    小程序(Applet)——一个小型的Java应用程序可以作为响应的一部分返回给用户,用户可以在他们的浏览器上运行此程序。这种小型的程序是Javascript的竞争对手。
    客户端程序(Application Client)——例如,一个用Java写的桌面应用程序。
    EJB(Enterprise Java Beans)——见下文。
  • Java EE 客户端——这个概念中包含三个其他的概念:
    网页客户端(Web Client)或小型客户端(thin client)——以前(也不是非常久以前),客户端的请求返回的网页会包含脚本代码,这些代码会在应用服务器上执行了再将运行结果返回给客户端。这就是EE客户端。比如,用户可以查询员工的信息,并且对不同的结果按照他们喜欢的方式排列。现在,大多数开发者都不是在网页中使用脚本了,因为这不是个好习惯。他们更喜欢使用MVC设计原则,即禁止在网页中使用脚本。
    小程序(Applet)
    应用客户端(Application Client)
  • Java EE 服务器通信(Java EE Server Communication)——这是指发生在小型客户端和应用客户端之间在服务器上的通信。具有代表性的是,小型客户端和小程序在Web层通信,但是应用客户端在EJB通信。 你觉得这不够清晰是吗?你觉得这很麻烦是吗?这就对了!这就是REST以及MVC设计原理现在在开发中流行的缘故。
  • EJB (企业级Java Beans,Enterprise Java Beans)——这是一个逻辑概念,与传统的Java Beans无关。它主要试图从多重应用的后端(也就是服务器端)来压缩事务逻辑。其中一个它试图解决的问题是确保数据库中事务处理的完整性。警告:EJB有多个版本,并且3.0版本已经从早期的版本分离出来。
  • JavaBean Component——Java Bean 的同义词,主要用在JSP范例中。
  • Java EE容器(Java EE Container)——这是部署组装Java EE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。
    *部署描述符(Deployment Descriptor )——这是一个为打包好的应用提供部署信息的XML文件。
  • SOAP(简单对象访问协议,Simple Object Access Protocol)——这是一个通过网络提供的服务传输信息的协议。信息是通过XML构建的,能够通过多个传输交换层,多数情况下是HTTP。SOAP是JSON和REST-like服务的竞争对手。
  • WSLD(网络服务描述语言,Web Service Description Language)——它用XML文件来描述了网络服务(名字,地点,通信模式)。
  • UDDI(通用描述、发现与集成服务,Universal Description, Discovery and Integration)——一种ebXML规范,可以在线发布有关产品和服务的信息。
  • Java Servlet——是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。
  • JSP (JavaServer Page)——一种基于HTML文件(就是一个模板)处理之后能够生成静态内容。可以包含脚本代码的片段,以在最终生成的脚本静态文件中生成。
  • JSTL (JSP标准标签库,JavaServer Page Standard Tag Library)——一组可以模仿脚本代码功能的用在JSP的标准标签。例如,遍历客户端并显示他们对应的信息。现在,在JSP中,这样的标签已经已经取代了脚本代码。一般用于生成需要填充信息的页面。
  • JSF (Java Server Face)——包含JSF标签(类似于LSTL标签)的JSP页面。此外,JSF允许在页面中定义导航模块(类似于Spring web flow),包括Facelets。
  • Facelets——Facelets是JSF的MVC视图部分。它的主要功能是利用提供的数据(例如客户端列表)将模板转换成HTML文件。它也可以将生成的文件(例如HTML主体)提取出来一部分并到另一个模板中,相当于Sitemesh。
  • The Java API for XML-based Web Services (Java中用来创建基于XML的Web的API,JAX-WS)——对于使用XML通信的Web服务来说至关重要。
  • The Java API for XML Binding (序列化为XML的API,JAXB)——一种可以在JavaBeans和XML文件之间相互转化的方式。
  • JTA (Java事务处理API,Java Transaction API) ——划清数据库中上行和下行的通信界限。
  • JMS(Java信息服务,Java Message Service)——这个API保证服务器和应用在网络上的通信可靠、异步。ActiveMQ实现了JMS。
  • JavaMail API——提供通过应用程序发送邮件方式。
  • JAXP(加工XML文件的API,Java API for XML Processing)——提供了处理XML文件的方式。
  • JAXR(提供XML注册的API,Java API for XML Registries)——一个可以注册包含了元数据的XML的API。
  • JDBC(Java数据库连接,Java Database Connectivity)——这个API可以使应用程序直接通过SQL通信来访问数据库。
  • JCA(J2EE连接器架构,Java EE Connector Architecture)——使应用程序能和信息系统(通常是数据库)通信。
  • JPA(Java持久化API,Java Persistence API)——这是一个在数据库中存储对象的ORM(对象关系表,Object/relational mapping)定义。
  • JNDI(Java命名和目录接口)——一种能存储和检索资源或者通过名字查找信息的方式。
  • JAAS(Java鉴别与授权服务,Java Authentication and Authorization Service)——识别并控制服务权限的一张方式。

三、Spring框架特点及构成

  • 一、非侵入式编程
    Spring框架的API不会再业务逻辑上出现,即业务逻辑是POJO(Plain Ordinary Java Object)。由于业务逻辑中没有Spring的API,所以业务逻辑可以从Spring框架快速的移植到其他框架。
  • 二、容器
    Spring作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件来定义对象,以及设置其他对象的依赖关系。
  • 三、IoC
    控制反转(Inversion of Control),即创建被调用的实例不是由调用者完成,而是由Spring容器完成,并注入调用者。
    当应用IoC,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或查找依赖对象,即,不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
  • 四、AOP
    面向切面编程,是一种编程思想,是面向对象编程OOP的补充。Spring提供面向对象编程的支持,允许通过分离应用的业务逻辑与系统级服务(日志和事务管理)进行开发。应用对象只实现他们应该做的(完成业务逻辑),并不负责其它的系统级关注点(日志或者事务的支持)。
    可以把日志、安全、事务管理等服务理解成一个“切面”,把很多被业务逻辑反复使用的服务完全剥离出来,以达到复用。然后将“切面”动态的“织入”到业务逻辑中,让其享受此“切面”的服务。

四、Spring的起步练习步骤

  • 1.下载Maven

  • 2.在存放maven文件的盘中新建文件夹maven_jar

  • 3.配置idea的环境
    [配置方法](https://www.cnblogs.com/eagle6688/p/7838224.html)

*注意点:安装路径不能有英文,要用阿里云的镜像下载,不然会很慢。

你可能感兴趣的:(springstudy 01)