课时70:Annotation简介

简介: 本内容为 Annotation 的基本定义以及程序开发结构的历史。1.Annotation 基本定义2.程序开发结构的历史

课时70:Annotation简介

01.Annotation 基本定义

 

Annotation 从 JDK1.5之后提出的一个新的开发技术结构,利用Annotation 可以有效减少程序配置的代码,并且可以用其进行一些结构化的定义。


Annotation 是以一种注解的形式实现的程序开发。 Annotation 的出现改变了原有的开发模式,利用它可以节约大量的程序代码,同时可以简化开发,但是开发难度也比较高。

 

02.程序开发结构的历史

 

程序开发结构的历史一共分为三个过程,现发展阶段处于过程二和过程三之间。


程序代码是一个资源调度平台,现在的程序开发不再像以前只通过单机储存,而是通过网络的形式进行开发,程序是组合的过程。


程序代码要进行调度,每一个组件都应该代表一个服务器的地址,要想获得数据库,就需要获得服务器资源(包括地址、链接端口、用户名密码等)。


在最初进行程序开发的过程中,是没有考虑到可维护性的,于是产生了程序开发的第一个过程:

image.png  

2.1过程一

在程序定义的时候将所有可能使用到的资源全部定义在程序代码之中;

public class JavaDemo {
    public static final String IP="192.1.2.2";
    public static void main (String args[]){
        final String info = "mldn" ;
        String strA = "www. mldn. cn";
        String strB= "www."+info+".cn";
        System. out. println(strA == strB) ;
    }
}

如果此时服务器的相关地址发生了改变,那么对于程序而言就需要进行源代码的修改了,维护需要由开发人员来完成,这样的做法是明显不方便的。

2.2过程二

引入配置文件,在配置文件之中定义全部要使用的服务器资源。当需要修改时,可以直接修改配置文件。

image.png

(1)在配置项不多的情况下,此类配置非常好用,并且十分简单,但如果所有的项目都采用这种形式开发,会导致配置文件爆多;

(2)所有的的操作都需要通过配置文件完成,提升了开发的难度。 

2.3过程三

将配置信息重新写回到程序里面,利用一些特殊的标记与程序代码进行分离,这是注解的作用,也是 Annotation 提出的基本依据。


如果全部都使用注解,开发难度太高了,配置文件有好处也有缺点,所以现在人们的开发基本上是围绕着配置文件+注解的形式完成的。注解可以大量的减少配置文件,是 Annotation 的理论依据。


以上注解实际上只是 Java 中提供的几个基本注解:@Override、@Deprecated、@SuppressWarnings

相关文章
|
10月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
284 0
|
Kubernetes Nacos 数据中心
k8s(9)Namespace(命名空间)
Namespace(命名空间)
594 0
|
存储 JSON Kubernetes
Kubernetes必备知识: Annotations
Annotations(注解) 是 key/value 形式附加于对象的注解。不同于 Labels 用于标志和选择对象,Annotations 则是用来记录一些附加信息,用来辅助应用部署、安全策略以及调度策略等。比如 deployment 使用 annotations 来记录 rolling update 的状态。
5680 0
|
弹性计算 Kubernetes Cloud Native
K8s 网关选型初判:Nginx 还是 Envoy?
本文将从性能和成本、可靠性、安全性 3 方面,对两大开源实现进行比对,希望对正在做 K8s 网关选型的企业有所借鉴。
K8s 网关选型初判:Nginx 还是 Envoy?
|
5月前
|
Ubuntu Linux Windows
IP地址查看方法
本指南介绍了在不同操作系统中查看设备IP地址的方法。在Windows系统中,可通过命令提示符(输入`ipconfig`)或设置界面查找IPv4地址;Linux系统中,使用终端命令`ifconfig`或`ip addr show`获取网络接口的IP;Mac系统则可在“系统偏好设置”中的“网络”查看,或通过终端执行相同命令获取。这些方法简单易行,适用于各种常见场景。
2741 11
|
8月前
|
数据挖掘
薪薪优选视频号小店系统开发/千星计划模式
薪薪优选视频号小店系统开发是一个综合性的项目,它结合了短视频平台的流量优势和电商带货功能,旨在通过视频号小店为商家和达人提供一个高效、便捷的销售和带货平台
|
11月前
|
API 开发者 数据格式
孔夫子API接口关键词获取
孔夫子旧书网提供API接口,通过关键词获取在售商品信息,包括注册开发者账号、创建应用、获取API密钥等步骤。API文档详细列出参数、请求方式和返回数据格式,并提供Python调用示例。此外,孔子的教育思想强调素质教育、道德教育和教育平等,对当代教育有重要影响。
|
8月前
|
存储 边缘计算 人工智能
基于阿里云边缘计算(ENS)的智能安防系统开发与部署
随着物联网和人工智能技术的发展,智能安防成为保障公共和企业安全的重要手段。阿里云边缘计算(ENS)提供低延迟、高可靠的计算能力,支持实时处理海量数据。本文介绍如何基于阿里云边缘计算开发并部署智能安防系统,涵盖视频监控、人脸识别、异常行为检测等功能,并通过实战案例展示其核心优势与最佳实践。
|
Kubernetes 网络协议 Java
程序技术好文:记一次k8spod频繁重启的优化之旅
程序技术好文:记一次k8spod频繁重启的优化之旅
543 0
|
存储 SQL 关系型数据库
深入MySQL锁机制:原理、死锁解决及Java防范技巧
深入MySQL锁机制:原理、死锁解决及Java防范技巧