后端开发基础概念

这篇具有很好参考价值的文章主要介绍了后端开发基础概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

后端开发基础概念

目前处于项目上手阶段,在学习项目过程中,有一些一知半解或者不明白含义的专业名词或者缩写,在此汇总。里面的内容很多都是基于个人理解,水平有限如果有出错的地方还请各位大佬批评指正。
2023年8月31日00:34:22,已经比较晚了,后续的内容之后再补充吧,一口吃不了个胖子。

常见缩写总结

  • PO:Persistent Object,持久层对象,用于映射数据库中的Java类。通常用于表示数据库中一条记录的Java对象,通常具有与数据库中表相同的字段和数据类型。常常作为DAO(数据访问对象)层的数据模型,以及和数据库交互的对象。PO对象中的属性与数据库表中的列相互的对应,每一行数据库表数据对应一个PO对象,PO对象中的字段值就是对应的列值。
    • 不应该包括任何对数据库的操作。
  • VO:Value Object,值对象,主要负责业务之间的值传递。VO通常表示程序中的某个值或者一组值,例如用户的姓名、年龄、地址等。VO通常用于在不同层之间传递数据,例如在Controller层和Service层之间传递数据。VO对象通常是PO对象中提取出来的一部分数据,用于与前端或其它层之间的展示和传递。
  • DO:Domain Object,领域层对象,就是从现实世界中抽象出来的有形或者无形的业务实体。通常可以代替部分PO的职责。
  • DAO:Data Access Object,数据访问对象,负责与数据库的交互。DAO是整个程序中与数据库交互的核心部分。DAO负责将数据库中的数据转换为Java对象,并将Java对象的数据保存至数据库中。DAO的主要作用是隔离上层业务逻辑和下层数据访问的细节。在Java开发中,通常使用Hibernate等ORM框架来实现DAO层。DAO的主要任务就是实现数据库的增删改查等基本操作,同时提供一些高级查询功能。

关于DAO与PO的区别:
DAO层主要提供的是访问底层数据源的方法,这些方法可以被Service层调用;PO主要是纯对象本身,不涉及具体的增删改查操作。

  • API:Application Programming Interface,应用程序接口。为应用外部提供功能支持。
  • APP:Application
  • MVC:
  • DDD:
  • AOP:Aspect Oriented Programming,面向切面编程。将相同的事情统一拦截到一处进行处理,是AOP的一种实现思想。通过预编译的方式和运行期间动态代理实现程序功能的同一维护的一种技术。

常见技术简明介绍

  • Redis:Remote Dictionary Server,远程字典服务。redis是一个key-value存储系统,支持push/pop,add/remove以及取其交集并集和差集以及更丰富的操作。是高性能的key-value数据库。我的理解就是面向企业级开发的HashMap,主要面向数据库数据的存取/查找。为什么快?

完全基于内存操作;
C语言实现,优化过的数据结构,基于集中基础的数据结构,redis做了大量的优化,性能极高;
使用单线程,无上下文切换成本;
基于非阻塞的IO多路复用机制。

  • Spring:一个开源的J2EE应用程序框架,
  • SpringMVC:
  • SpringBoot:
  • MyBatis:一款优秀的持久层开源框架,其让开发者可以专注于SQL语句本身,而不再过多的关注类似于比较原始的servlet+jsp对应的JDBC中涉及到的数据库的链接以及关闭等细节操作,简化开发流程,提高了后端开发的工作效率。

MyBatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatement)配置起来,通过Java对象和statement中的sql进行映射生成最终执行的sql语句,最后由MyBatis框架执行sql并将结果映射到Java对象并返回。

  • SpringIoC:Inverse of Control,控制反转。
  • AOP:Aspect Oriented Programming,面向切面编程。
  • RabbitMQ:一种消息队列,可以处理点对点消息队列和发布/订阅模式的消息队列;
  • Kafka:
  • Dubbo:Alibaba开发的开源服务管理框架,支持丰富的服务治理能力。依然很抽象,如何使用?
  • MQ:
  • MySQL:
  • XDB-Router:
  • ES:
  • ZK:

框架简介

Spring

Spring是一款开源的轻量级Java开发框架。一般说的Spring框架,是由多模块组成的集合,包括,使用这些模块可以很方便的协助我们进行开发,比如说Spring支持IoC(Inversion of Control),和AOP(Aspect-Oriented Programming),可以很方便的对数据库访问(JDBC)、可以很方便地集成第三方组件。。。
Spring包含很多模块,其中最重要的就是Spring-Core模块。Spring的其他模块(比如SpringMVC)的功能实现都依赖于该模块。
核心思想是:避免重复造轮子,开箱即用,提高开发效率。(开盖即饮)一门语言的流行,通常需要一个杀手级的应用,Spring就是Java生态的一个杀手级应用框架

Spring包含的模块

后端开发基础概念,后端开发,java,学习,笔记,java,spring boot,架构,中间件

Core Container

Spring的核心模块,主要提供IoC依赖注入功能的支持。Spring其他所有的功能都需要依赖于该模块,

Spring IoC

浅显的理解:IoC,控制反转,名字乍一看比较难理解,但其实核心就是Spring框架通过容器控制Bean对象,在项目代码中通过注解@Service的形式控制,而不是程序员一个个的new来控制了。
更加好理解的版本就是:

IoC 解决的是对象管理和对象依赖的问题。本来Bean对象需要我们自己手动New,但是Spring的IoC特性使得对象都被交给Spring的IoC容器管理。可以把IoC当做是一个对象工厂,工厂管理这些对象的创建以及依赖关系。需要用到对象时,直接从工厂中拿取就行了。
控制反转和依赖注入。控制反转:将原本自己的控制权交给别人(Spring容器),是一种思想或者说是设计模式。依赖注入是控制反转的具体实现方式,对象无需自行创建或者管理它的依赖关系,依赖关系将被自动注入到需要他们的对象当中去。
IoC的好处(为什么需要控制反转?):主要的好处是将对象集中统一管理,并且降低耦合。具体:IoC可以方便单元测试、对象创建复杂、对象依赖复杂、单例等等,什么都可以交给SpringIoC。理论上,自己手动new都可以解决以上问题,但是为了管理这一整套内容,需要自己写工厂来实现相应的需求,这个工厂写好你会发现,其实就是Spring。Spring的轮子已经造就好了,直接使用就行了。并且,Spring的核心不仅仅是IoC,还有一整套的Bean声明周期管理。后端开发基础概念,后端开发,java,学习,笔记,java,spring boot,架构,中间件

IoC(Inversion of Control)是一种设计思想,而不是一个具体的技术实现。IoC的思想就是将原本在程序中的手动创建对象的控制权,交由Spring框架来管理。
后端开发基础概念,后端开发,java,学习,笔记,java,spring boot,架构,中间件
IoC 容器就像是一个工厂一样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何被创建出来的。

Spring AOP,面向切片编程

解决的是非业务代码抽取的问题。

AOP的底层技术是动态代理,Spring内实现依赖的是BeanPostProcessor,

什么是Java Bean?:Bean是豆子的意思,含义是可重复利用的组件。JavaBean就是一个类,是用来包装数据,是一个中转载体。

JavaBean的生命周期管理

SpringBoot

Spring是为了简化J2EE的企业级应用程序开发而产生的,SpringBoot是为了简化Spring开发而诞生的(减少配置文件,开箱即用)。
SpringBoot只是简化了配置的步骤,如果要开发SpringMVC框架的web程序,就还是需要将SpringMVC作为MVC的架构。文章来源地址https://www.toymoban.com/news/detail-689479.html

DDD

Java中的注解

  • @Resource:用于依赖注入,在类中标识需要注入的资源或依赖项,并由容器自动进行注入。注入到了哪?为什么要注入?为应用部件(比如JavaBean)提供服务
  • @Service:用于标识一个类作为服务层的组件(Service)。通过使用@Service注解,可以将一个普通的Java类标记为服务层组件,并由Spring容器进行管理和注入。Service注解也看其来自于谁,来自于Spring(Dubbo)就由Spring(Dubbo)管理。
  • @Component:用于标识一个类作为普通的组件;
  • @Repository:用于标识一个类作为数据访问层的组件;
  • @Controller:用于标识一个类作为控制层的一个组间;
  • @
  • @
  • @

到了这里,关于后端开发基础概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 后端开发基础概念

    目前处于项目上手阶段,在学习项目过程中,有一些一知半解或者不明白含义的专业名词或者缩写,在此汇总。里面的内容很多都是基于个人理解,水平有限如果有出错的地方还请各位大佬批评指正。 2023年8月31日00:34:22,已经比较晚了,后续的内容之后再补充吧,一口吃不了

    2024年02月10日
    浏览(41)
  • Flask框架小程序后端分离开发学习笔记《2》构建基础的HTTP服务器

    Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。本节提供一个构建简单的本地服务器的代码,仔细看注释,学习每一步的流程,理解服务器接收请求,回复响应的基本原理。 代码效果,运行之后,在浏览器输入:localhost:2000 总结 1.导入socket库:这个库

    2024年01月18日
    浏览(44)
  • 微信小程序的授权登录-Java 后端 (Spring boot)

    微信开发文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 一个可以测试的微信小程序 此微信小程序的APPID和APPscret(至开发者后台获取) 从时序图我们可以了解到流程大致分为两步: 小程序端获取code后传给Java后台 Java后台获取code后向微信后台接口

    2024年02月09日
    浏览(55)
  • 后端开发基础概念 Entity,DAO,DO,DTO,VO, Service,Controller

    Entity主要用于ORM(对象关系映射)框架中,如Hibernate、MyBatis等,以便将数据库中的数据映射为对象,方便进行业务操作。 Entity通常与数据库表一一对应,代表 业务数据 的基本单元。 通常放在项目的model或entity包下。   DAO(数据访问对象): DAO是连接业务逻辑和数据库的桥

    2024年04月08日
    浏览(37)
  • 【后端开发】01-Java基础语法

    Java基础语法 目录 1. 概述 1.1. 语言特性 1.2. 开发平台 1.3. 开发环境 1.4. 开发步骤 1.5. 注释 2. 变量与运算符 2.1. /保留字 2.2. 标识符 2.3. 变量 2.4. 常用数据类型 2.4.1. 基本数据类型(8种) 2.4.2. 引用数据类型 2.4.3. 数据类型转换 2.5. 运算符 2.5.1. 算术运算符(7个) 2.5.2. 关

    2024年02月08日
    浏览(36)
  • Java Spring Boot 开发框架

    Spring Boot是一种基于Java编程语言的开发框架,它的目标是简化Java应用程序的开发过程。Spring Boot提供了一种快速、易于使用的方式来创建独立的、生产级别的Java应用程序。本文将介绍Spring Boot的特性、优势以及如何使用它来开发高效、可靠的应用程序。 Spring Boot是由Pivotal团队

    2024年02月08日
    浏览(50)
  • 【后端开发】尚硅谷 SpringCloud 学习笔记

    2.3.1 引入RestTemplate 2.3.2 远程调用支付模块 前面我们没有服务注册中心,也可以服务间调用,为什么还要服务注册? 当服务很多时,单靠代码手动管理是很麻烦的,需要一个公共组件,统一管理多服务,包括服务是否正常运行,等 Eureka用于** 服务注册 ,目前官网 已经停止更新** 创建项目

    2024年02月10日
    浏览(39)
  • Spring-Boot-Starter 学习笔记(1)

    Spring Boot 提供了两个注解: @Configuration :Spring 提供的配置类注解,作用在类上,代表整个类是个 Spring 配置类,对照传统的 Spring XML 配置文件。 @Bean :作用于方法上,代表此方法的返回值(对象)将会被 Spring 容器所管理,从而完成 Bean 的自动注册。 这两个组合起来搭配可

    2024年02月08日
    浏览(37)
  • 【笔记】Spring Boot 历史官方文档学习(持续更新)

    Spring Boot 2014正式发布1.0版本,距今已经快10年了。看历史官方文档了解重点feature, 帮助自己建立知识网络。 与 Spring 5 官网历史文档学习 一样,尽量保证不误解文档作者的原意,不好翻译的会有原文摘录(包括一些专有名词),并辅以自己的理解。限于篇幅原因,只摘录工作

    2024年02月10日
    浏览(47)
  • 【Java 高阶】一文精通 Spring MVC - 基础概念(一)

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 高阶 🙉八股文专题:剑指大厂,手撕

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包