常见API(一)

news2025/1/15 13:08:36

        API(Application Programming interface):应用程序编程接口,别人写好的程序,直接拿来调用。主要是为了灵活解决需求。这次只先简单学习了一下String和ArrayList两个。

  1.包

        包是分门别类管理程序的,类似于文件夹。别人写好的包通常都在别人的包里面。

注意事项:1.同一个包下的程序,可以直接访问

                  2.访问其他包下的程序,必须导包才可以访问

                  3.自己的程序中调用java提供的程序,也需要先导包才可以使用;注意:                                  java.long包下的程序是不需要我们导包的,可以直接使用

                  4.访问多个其他包下的程序,这些程序名又一样的情况下,默认只能                                          导入 一 个程序,另一个程序必须带包名和类名来访问。

 

package API;

import API.itcast.Demo1;
import API.itcast.Demo2;

import java.util.Random;
import java.util.Scanner;

/* 目标:掌握如何在自己的程序下调用其他包下的程序,以及一些注意事项*/
public class Text {
    public static void main(String[] args) {
        //1.同一个包下的程序,可以直接访问
        Dome d = new Dome();
        d.print();

        //2.访问其他包下的程序,必须导包才可以访问
        Demo1 d1 = new Demo1();
        d1.print();

        //.自己的程序中调用java提供的程序,也需要先导包才可以使用;注意: java.long包下的程序是不需要我们导包的,可以直接使用
        Scanner sc = new Scanner(System.in);
        String s = "楠楠";
        Random r = new Random();

        // 4.访问多个其他包下的程序,这些程序名又一样的情况下,默认只能导入一个程序,另一个程序必须带包名和类名来访问。
        Demo2 d2 = new Demo2();
        d2.print();
    }
}
package API.itcast;

public class Demo1 {
    public void print(){
        System.out.println("Hello World2");
    }

}
package API.itcast;

public class Demo1 {
    public void print(){
        System.out.println("Hello World2");
    }

}
package API;

public class Dome {
    public void print(){
        System.out.println("Hello World1");
    }
}

  2.String

(1)数据封装和常用方法

        String,主要是对字符串的处理。在java.lang.String代表字符串,封装了字符串数据和处理字符串的方法。


        String 数据封装

                                           创建对象封装字符串数据的方式

        方式一:java程序中的所有字符串文字(例如:“abc”)都为此类的对象。

        方式二:调用String类的构造器初始化字符串对象

构造器说明
public Sttring创建一个空白字符串对象,不含有任何内容
public String(String original)根据传入的字符串内容,来创建字符串对象
public String (char [ ] chars)根据字符数组的内容,来创建字符串对象
public String (byte [ ] bytes)根据字节数组的内容,来创建字符串对象

   

package String;

public class Demo1 {
    public static void main(String[] args) {
        //目标:掌握创建String对象,并封装要处理的字符串的两种方式。
        //1.直接双引号得到字符串对象,封装字符串数据
        String name = "楠楠";
        System.out.println(name);

        //2.new String创建字符串对象,并调用构造器初始化字符串
        String rs1 = new String();
        System.out.println(rs1);

        String rs2 = new String("楠楠");
        System.out.println(rs2);

        char[] chars = {'W','S','K'};
        String rs3 = new String(chars);
        System.out.println(rs3);

        byte[] bytes = {97,98,99};
        String rs4 = new String(bytes);
        System.out.println(rs4);
    }
}

  String 常用方法
方法名说明
public int length()获取字符串的长度并返回(字符个数)
public char cahrAt(int index)获取某个索取位置处的字符返回
public char[ ] toCharArray( ):将当前字符串转换为字符数组返回
public boolean equals(objetct anobject)判断当前字符串与另一个字符串的内容一样,一样返回true
public boolean equalsIgnoreCase(String another String)判断当前字符串和另一个字符串的内容是否一样(忽略大小写)
public String substring(int beginIndex,int endIndex)根据开始和结束索引进行警截取,得到新字符串(包前前不包后)
public String substring(int beginIndex)从传入的索引处开始截取,截取到末尾,得到新的字符串返回
public String replace(Charsrquencce target,CharSequnce replacement)使用新值,将字符串中的旧值替换,得到新的字符串
public boolean contains(CharSequence s)判断字符串中是否包含某个字符串
public boolean startsWitch(String prefix)判断字符串是否以某个字符串内容开头,开头返回true,反之,返回,flase
public String [ ] split(String regex)把字符串按照某个字符串内容分割,并返回字符串数组回来
package String;

public class Dome2 {
    public static void main(String[] args) {
        //目的:快速熟悉String提供的字符串的常用方法
        String S = "情忆楠楠而眠";
        //1.获取字符串长度
        System.out.println(S.length());

        //2.提取字符串中某个索引位置处的字符
        char c = S.charAt(2);
        System.out.println(c);

        //字符串的遍历
        for (int i = 0; i < S.length(); i++) {
            char ch = S.charAt(i);
            System.out.println(ch);
        }
        System.out.println("______________");
        //3.把字符串转化为字符数组
        char[] chars = S.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }

        //4.判断字符串内容一致就返回true
        String s1 = new String("楠楠");
        String s2 = new String("楠楠");
        System.out.println(s1 == s2);//false
        System.out.println(s1.equals(s2));//true

        //5.忽略大小写比较字符串内容
        String c1 = "aasc58";
        String c2 = "AAsc58";
        System.out.println(c1.equals(c2));//false
        System.out.println(c1.equalsIgnoreCase(c2));//true

        //6.截取字符串内容(包前不包后)
        String s3 = "java是最好的编程语言之一";
        String r3 = s3.substring(0,8);
        System.out.println(r3);

        //7.从当前索引位置一直截取到字符串的末尾
        String rs2 = s3.substring(5);
        System.out.println(rs2);

        //8.把字符串中的某个内容替换成新内容,并返回新的字符串对象
        String info = "这个电影简直就是垃圾,垃圾电影";
        String rs3 = info.replace("垃圾","**");
        System.out.println(rs3);

        //9.判断字符串中是否包含某个关键字
        String info2 = "java是最好的编程语言之一,我爱java,java不爱我";
        System.out.println(info2.contains("java"));
        System.out.println(info2.contains("Java"));

        //10.判断字符串是否以某个字符串开头
        String rs4 = "张三丰";
        System.out.println(rs4.startsWith("张"));
        System.out.println(rs4.startsWith("张三"));
        System.out.println(rs4.startsWith("张三2"));

        //11.把字符串按照某个制定方法分割成多个字符串,放到一个字符串数组中返回
        String rs5 = "陈平安,宁姚,阮秀,陈清流,陈暖树,齐静春";
        String[] names  =rs5.split(",");
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }
    }
}

                                                 (熟悉方法的测试代码)


(2)注意事项

1. String 对象的内容不可改变,被称为不可变字符串对象。

2. 只要是通过“.......”方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一次。(地址是一致的)

    但通过new方式创建字符串对象,每new一次都会产生一个新对象放到堆内存中。

       每次试图改变字符串对象实际是产生了新的字符串对象,变量每次是指向了新的字符串对象,而之前的字符串对象的内容确实是没有改变的。

public class Text {
    public static void main(String[] args) {
        String s2 = new String("abc");
        String s1 = "abc";
        System.out.println(s1 == s2);
        
        String s1= "abc";
       String s2 ="a"+ "b" +"c";
        System.out.println(s1 == s2); //结果为true
    }
}

 (3)应用案例

用户登录界面

 需求

系统正确的登录名和密码是:楠楠/050501,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:‘欢迎进入系统!’,即可停止程序(注意:要求最多给用户三次登录机会)

实现

        字符串判断内容一致使用equals,不能使用 == ,因为 == 判断的是地址,会业务报错。(一般在基本数据类型的比较会使用 ==)

package StringText;

import java.util.Scanner;

public class Text {
    public static void main(String[] args) {
        //目标:完成用户登录案例
        //1.开发一个登录界面
        for (int i = 0; i < 3; i++) {

            Scanner sc = new Scanner(System.in);
            System.out.println("请您输入登录名称");
            String name = sc.next();
            System.out.println("请您输入登录密码");
            String pass = sc.next();

            if (login(name, pass)) {
                System.out.println("恭喜您登录成功!");
                break;
            } else {
                System.out.println("登录失败,请重新登录");
            }
        }
    }
        //2.开发一个登录方法,接收用户的登录名和密码,返回认证结果
        public static boolean login(String name,String pass){
            //3.准备一份系统正确的用户名和系统
            String OKname = "楠楠";
            String OKnpass = "050501";

            //4.判断是否登录成功
            if(OKname.equals(name)&&OKnpass.equals(pass)){return true;}
            else{return false;}
            //返回时可以优化一下
            //return OKname.equals(name)&&OKnpass.equals(pass);
        }
}


验证码开发 

需求

实现随机产生验证码,验证码的每位可能是数字,大写字母,小写字母。

实现

  思路:定义一个存储好数据的数组,for循环控制生成多少位字符,每次得到一个索引,读取后交到一个存储结果的变量中,最后循环结束返回即可。

package String;

import java.util.Random;

//目的:完成随机验证码,每位可以是大写字母,小写字母,数字
public class Text {
    public static void main(String[] args) {
        System.out.println(creatCode(4));
        System.out.println(creatCode(6));
    }
    //1.设计一个方法返回指定位数的验证码
    public static String creatCode(int n){
        //2.定义两个变量,一个用来存储最终产生的随机验证码 一个用来记住可能用到的全部字符
        String code = "";
        String data = "abccdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        Random r = new Random();
        //3.定义一个循环 产生每位随机字符
        for (int i = 0; i < n; i++) {
            int index = r.nextInt(data.length());
            code += data.charAt(index);
        }
         return code;
    }
}


   3.ArrayList

(1)介绍与入门

        集合是一种容器,用来装数据的,类似与数组。但是,数组长度是固定的,不方便使用,集合的特点是大小可变,开发中用的更多。而ArrayList是集合中最常用的一种,是泛类型,可以约束存储的数据类型。

        创建

构造器描述
ArrayList()构造一个初始容量为10的空列表
ArrayList(int initialCapacity)构造具有指定初始容量的空列表
ArrayList(Collection<? extends E>c)按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表

package ArrayListTextt;

import java.util.ArrayList;

//目标:学会ArrayList的创建,并熟悉ArrayList提供的常用方法
public class Text {
    public static void main(String[] args) {
        //1.创建
        ArrayList list = new ArrayList();
        list.add("暄暄");
        list.add(666);
        list.add(99.99);
        list.add("我在时光尽头等你");
        System.out.println(list);
        //目前发现对于列表中的元素种类是没有限制的,但是对于列表元素实际是可以进行限制的
        //使用<>进行贴标签
        //从jdk 1.7后开始支持
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("java");
        //list1.add(999);
    }
}

        操作:增删改查

常用方法名说明
public boolean add(E e)将指定的元素添加到集合的末尾
public void add (int index,E element)在此集合中的指定位置插入指定的元素
public E get(int index)返回指定索引处的元素
public int size()返回集合中元素的个数
public E remove(int index)删除指定索引处的元素,返回被删除的元素
public boolean remove(object o)删除指定的元素,返回删除是否成功
public E set(int index,E element)修改指定索引处的元素,返回被修改的元素
package ArrayListTextt;

import java.util.ArrayList;

//目标:学会ArrayList的创建,并熟悉ArrayList提供的常用方法
public class Text {
    public static void main(String[] args) {
        //1.创建
        //目前发现对于列表中的元素种类是没有限制的,但是对于列表元素实际是可以进行限制的
        //使用<>贴标签
        ArrayList<String> list1 = new ArrayList<String>();
        list1.add("我");
        list1.add("表达比较木讷");
        list1.add("总是小心翼翼的回答");
        list1.add("不知道到底该如何面对");

        //2.往集合的某个索引位置处添加一个数据
        list1.add(0,"我在犹豫");
        System.out.println(list1);

        //3.根据索引获取集合中的元素
        String rs = list1.get(3);
        System.out.println(rs);

        //4.返回集合大小,返回元素个数
        System.out.println(list1.size());

        //5.根据索引删除元素,返回删除元素
        System.out.println("元素【" + list1.remove(0) + "】已被删除");
        System.out.println(list1);

        //6.删除指定元素,返回是否成功(默认删除第一次出现的数据 )
        System.out.println(list1.remove("我"));
        System.out.println(list1);

        //7.修改某个索引位置的值,返回原来的值
        System.out.println(list1.set(0, "真的会是这样嘛"));
    }
}

(2)应用与综合案例

容器中找到并删除数据的技巧

需求

现在假设购物车存储了如下的商品:java入门,宁夏枸杞,黑枸杞,人字拖,特级枸杞,枸杞子,现在用户不想买枸杞了,选择了批量删除。请完成该需求。

实现

package ArrayListTextt;

import java.util.ArrayList;

//目标:掌握从集合容器中找数据并删除的技巧
public class Text2 {
    public static void main(String[] args) {
        //1.创建
        ArrayList<String> list = new ArrayList<>();
        list.add("java入门");
        list.add("宁夏枸杞");
        list.add("黑枸杞");
        list.add("人字拖");
        list.add("特级枸杞");
        list.add("枸杞子");
        System.out.println(list);

        //2.开始完成需求
        for (int i = 0; i < list.size(); i++) {
            String ele = list.get(i);
            //判断这个数据中包含枸杞
            if(ele.contains("枸杞")){
                //直接从集合中删掉数据
                list.remove(ele);
            }
        }
        System.out.println(list);
    }
}

修改方式; 1.每删除一个元素后,i就往左移动一步

                 2.从集合后面倒着进行遍历

package ArrayListTextt;

import java.util.ArrayList;

//目标:掌握从集合容器中找数据并删除的技巧
public class Text2 {
    public static void main(String[] args) {
        //1.创建
        ArrayList<String> list = new ArrayList<>();
        list.add("java入门");
        list.add("宁夏枸杞");
        list.add("黑枸杞");
        list.add("人字拖");
        list.add("特级枸杞");
        list.add("枸杞子");
        System.out.println(list);

        //2.开始完成需求

        /*for (int i = 0; i < list.size(); i++) {
            String ele = list.get(i);
            //判断这个数据中包含枸杞
            if(ele.contains("枸杞")){
                //直接从集合中删掉数据
                list.remove(ele);
            }
        }*/

        /*for (int i = 0; i < list.size(); i++) {
            String ele = list.get(i);
            //判断这个数据中包含枸杞
            if(ele.contains("枸杞")){
                //直接从集合中删掉数据
                list.remove(ele);i--;
            }
        }*/

        for (int i = list.size()-1; i>=0; i--) {
            String ele = list.get(i);
            //判断这个数据中包含枸杞
            if(ele.contains("枸杞")){
                //直接从集合中删掉数据
                list.remove(ele);
            }
        }

        System.out.println(list);
    }
}

 模仿外卖系统的商家系统

需求

         完成菜品的上架,以及菜品信息浏览功能。(使用ArrayList集合和面向对象编程完成)

实现

package ArrayListTextt;

public class Food {
    private String name;
    private Double price;

    public Food() {
    }

    public Food(String name, Double price, String desc) {
        this.name = name;
        this.price = price;
        this.desc = desc;
    }

    private String desc;// 描述

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
package ArrayListTextt;

import java.util.ArrayList;
import java.util.Scanner;

//菜品操作类FoodOperator 功能:上架 浏览信息
public class FoodOParetor {
    //1.定义一个集合对象存储信息
    private ArrayList<Food> foodList = new ArrayList<>();

    //2.开发功能 上架菜品
    public void addFood(){
        //3.创建一个菜品
        Food food = new Food();

        //4.录入菜品信息
        Scanner sc =new Scanner(System.in);
        System.out.println("请您输入该菜品名称");
        String name = sc.next();
        food.setName(name);

        System.out.println("请您输入该菜品价格");
        double price = sc.nextDouble();
        food.setPrice(price);

        System.out.println("请您输入该菜品描述");
        String info = sc.next();
        food.setDesc(info);

        //5.存储到集合中
        foodList.add(food);
        System.out.println("上架成功");
    }

    public void showAllFood(){
        if(foodList.size() == 0){
            System.out.println("此时无菜品");
            return;
        }
        for (int i = 0; i < foodList.size(); i++) {
            Food f =foodList.get(i);
            System.out.println("名称:" + f.getName());
            System.out.println("价格" + f.getPrice());
            System.out.println("描述" + f.getDesc());
            System.out.println("___________________");
        }
    }

    public void Menu(){
        while(true) {
            System.out.println("请选择功能");
            System.out.println("1.上架菜品");
            System.out.println("2.展示菜品");
            System.out.println("3.退出");

            Scanner sc = new Scanner(System.in);
            String command = sc.next();
            switch (command) {
                case "1":
                    addFood();
                    break;
                case "2":
                    showAllFood();
                    break;
                case "3":
                    System.out.println("下次再来");
                    return;
                default:
                    System.out.println("您输入的命令不正确");
                    break;
            }
        }
    }
}
package ArrayListTextt;

import java.util.ArrayList;

public class Text3 {
    public static void main(String[] args) {
        //目标;完成案例:外卖商家上菜系统
        //1.完成设计一个菜品类Food,负责创建菜品对象,封装菜品数据。
        //2.设计一个菜品操作类FoodOperator 功能:上架 浏览信息
        FoodOParetor operator = new FoodOParetor();
        operator.Menu();
    }
}

4.总结 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Studio2024安装教程

软件介绍 Android Studio 是谷歌推出的一个Android集成开发工具。 基于IntelliJ IDEA. 类似 Eclipse ADT&#xff0c;Android Studio 提供了集成的 Android 开发工具用于开发和调试。 软件下载 https://docs.qq.com/doc/DR0hWZ0l4aGtVTmVr软件安装 1、双击运行安装文件 2、…

双模幂运算Java

题目&#xff1a; 给你一个下标从 0 开始的二维数组 variables &#xff0c;其中 variables[i] [ai, bi, ci, mi]&#xff0c;以及一个整数 target 。 如果满足以下公式&#xff0c;则下标 i 是 好下标&#xff1a; 返回一个由 好下标 组成的数组&#xff0c;顺序不限 。 …

RK3568平台(触摸篇)双屏异触调试

一.现象 现象&#xff1a;准备两块主屏都接触摸框&#xff0c;A屏的HDMIOUT外接B屏的HDMIIN&#xff0c;用手触摸A屏&#xff0c;发现A屏没有触摸&#xff0c;A屏幕的触摸现象在B屏那边。 现要求&#xff1a;用手触摸A屏&#xff0c;A屏要有现象&#xff0c;不能现象在B屏那边…

《Transformer Scale Gate for Semantic Segmentation》CVPR2023

摘要 论文提出了一种名为Transformer Scale Gate&#xff08;TSG&#xff09;的模块&#xff0c;用于优化在语义分割任务中多尺度上下文信息的编码。现有的基于Transformer的分割模型在组合不同尺度的特征时没有进行选择&#xff0c;这可能导致次优尺度的特征降低分割的准确性…

【网络】UDP协议——传输层、端口号、UDP协议、UDP协议端格式、UDP的特点、UDP的缓冲区、UDP使用注意事项

文章目录 Linux网络1. 传输层1.1 端口号1.2 UDP协议1.2.1 UDP协议端格式1.2.2 UDP的特点1.2.3 UDP的缓冲区1.2.3 UDP使用注意事项1.2.5 基于UDP的应用层协议 Linux网络 1. 传输层 传输层&#xff1a;是 OSI 模型和 TCP/IP 模型中的重要层次&#xff0c;位于网络层之上、应用层…

推荐一个gpt镜像网站

包含现在主流的大语言模型 一个网站&#xff0c;各种模型随意切换和体验 集成多种功能 不止于对话&#xff0c;更有文生图&#xff0c;思维导图等多种功能 支持多个平台 除了网页版&#xff0c;更有安卓, mac os, ipad os等多个平台&#xff0c;随时随地方便同步和使用 …

【大模型】【智能体】agent导论

基本的图像 react&#xff1a; prompt&#xff1a;

营收保持增长,汽车之家掌握了什么“流量密码”?

从汽车之家新鲜出炉的“成绩单”来看&#xff0c;汽车行业的流量生意依然红火。 财报显示&#xff0c;2024年第二季度&#xff0c;汽车之家实现总营收18.7亿元&#xff0c;同比增长2.2%&#xff1b;经调整净利润5.72亿元&#xff0c;经调整净利润率达30.6%。其中&#xff0c;在…

MySQL:管理和操作数据表

数据表是数据库的重要组成部分&#xff0c;每一个数据库都是由若干个数据表组成的。没有数据表就无法在数据库中存放数据。MySQL数据表的管理和操作是数据库管理员和开发人员日常工作中不可或缺的一部分。 创建数据表 CREATE 创建数据表的过程是规定数据列的属性的过程&#…

数字图像处理 --- 图像的离散余弦变换(python实战)

图像的离散余弦变换(python实战) 这篇文章是我上两篇文章的延续&#xff0c;主要是觉得前面的文章太长了&#xff0c;所以把关于图像的DCT变换部分单独拎出来放到这里&#xff0c;这两篇文章分别是&#xff1a; 1&#xff0c;一维DCT 数字信号处理 --- 一维离散余弦变换(pyth…

搜维尔科技:【研究】Haption的自动识别技术

Real-Time Interaction for Delmia Human RTID Human “Real-Time Interaction for Delmia Human” 是个附加在Delmia V5™上的软件&#xff0c;它能让使用者使用数字人体模型在虚拟环境中进行实时互动仿真 在Delmia 中使用RTI &#xff0c;使用者可以模拟进行以下研究: 1. 可…

table car vs. table cars:数据库命名用单数还是复数?

数据库的命名方式已经形成了许多共识&#xff0c;比如全部小写、下划线分隔、使用标准缩写等&#xff1b;其中就包括「使用单数名词」。 用户 jonr 在 reddit 网的程序员笑话&#xff08;ProgrammerHumor&#xff09;社区发了一篇帖子&#xff0c;调侃这些数据库命名方式的共识…

突破csdn每日15篇文章限制的方法

买一个vip年会员248元&#xff0c;就可以了.......

Linux-3:Shell编程——基础语法(0-50%)

目录 前言 一、变量 1.定义变量 2.使用变量 3.修改变量 4.将命令的结果赋值给变量 5.只读变量 6.删除变量 二、传递参数 三、字符串 1.字符串举例 2.统计字符串长度 3.字符串拼接 4.截取字符串 总结 前言 Shell是一种程序设计语言。作为命令语言&#xff0c;它…

算法学习day26

滑动窗口系列题 一、替换后的最长重复子串 给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符&#xff0c;并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。 在执行上述操作后&#xff0c;返回 包含相同字母的最长子字符串的长度。 输入&#xff1a…

MySQL--MySQL函数

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 MySQL函数 一、MySQL函数简介 函数表示对输入参数值返回一个具有特定关系的值&#xff0c;MSOL提供了大量丰富的函数&#xff0c;在进行数据库管理以…

CTFHub——XSS全系列

1、反射型&#xff1a; 发现为表单式&#xff0c;猜测哪个可能存在注入漏洞&#xff0c;分别做测试注入发现name框存在xss漏洞 输入发现有回显但不是对方cookie&#xff0c;参考wp发现要用xss线上平台 将xss平台测试语句注入&#xff0c;将得到的url编码地址填入url框&#xf…

Mongodb集合操作

文章目录 1、进入容器2、如果数据库不存在&#xff0c;则创建数据库&#xff0c;否则切换到指定数据库3、在 MongoDB 中&#xff0c;创建集合不是必须操作。当你插入一些文档时&#xff0c;MongoDB 会自动创建集合。4、查看数据库列表5、查看集合6、显示创建集合7、删除集合 1、…

Raspberry Pi Docker 运行 IRIS

在 Raspberry Pi 上成功安装 Docker 后可以安装 IRIS 数据库。 安装的命令为&#xff1a; docker run --name my-iris -d --publish 1972:1972 --publish 52773:52773 intersystems/irishealth-community:latest-em-linux-arm64v8 注意&#xff0c;我们这里暴露了 2 个端口&a…

Spring框架 配置Gateway网关/spring cloud gateway 基础入门案例教程

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 网关作为微服务集群唯一的对外入口,可以实现很多功能. 例如: 统一的解决跨域(一个ajax请求 origin域名和请求目标url中域名不同,ip不同,域名不同,端口不同,都会引发的问题)问题. 统一的身份认证.认证解…