JAVA学习-MAC搭建java环境和spring boot搭建

学习目标:MAC搭建java环境

学习目标

  • 一周掌握 Java 入门知识
  • 搭建 Java 开发环境
  • 掌握 Java 基本语法
  • 掌握条件语句
  • 掌握循环语句

1、前提:

1、安装IDEA COMMUNITY 社区版本

点击下载

2、安装JAVA1.8
Java基础--JDK的安装和配置弄懂 JRE、JDK、JVM 之间的区别与联系

3、安装MAVEN
mac安装maven与idea自带maven-笔记

遇到的问题 IDEA 的 terminal识别不到mvn

解决方法:~/.zprofile 文件也添加下 MAVEN_HOME的信息就好了


总结:

  1. 下载 idea
  2. 下载 jre
  3. 下载 mvn
  4. 配置 mvn 的settings.xml,仓库和镜像

安装好 mvn,mvn 配置的有使用的 java 的版本,pycharm 再配置 mvn,就是使用 java 的版本,不需要单独再配置 java 的版本



2、IDEA 使用:

  1. 直接打开一个文件夹,创建文件,没法运行

    再新建一个src 的包,把 之前的文件移过去就好了

  2. 创建一个项目,可以直接运行

  3. 创建 maven 项目

IDEA创建一个 maven 项目

可以参考
JAVA---IDEA创建java项目保姆操作流程


执行Maven构建时,提示找不到pom文件

3、JAVA 学习:

提示:学习内容

java 复制代码
/*

一、基础语法
https://www.runoob.com/java/java-basic-syntax.html
编写 Java 程序时,应注意以下几点:
1. 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
2. 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
3. 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
4. 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
5. 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

Java 标识符: Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
Java 修饰符: Java可以使用修饰符来修饰类中方法和属性
            public static void main(String[] args)  访问修饰符 关键字 返回类型 方法名 ()
Java 接口: 接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
Java 注释:
    单行注释
    多行注释
    文档注释 通常出现在类、方法、字段等的声明前面,用于生成代码文档,这种注释可以被工具提取并生成 API 文档,如 JavaDoc。文档注释的格式通常包含一些特定的标签,如 @param 用于描述方法参数,@return 用于描述返回值,@throws 用于描述可能抛出的异常等等

6. Java 变量命名规则 在变量名中使用驼峰命名法,即将每个单词的首字母大写,除了第一个单词外,其余单词的首字母都采用大写形式。例如:myVariableName。
类名: 应该以大写字母开头。



二、Java 对象和类
https://www.runoob.com/java/java-object-classes.html
1、类(Class):示例 public class Car { ... }
2、对象(Object):示例 Car myCar = new Car();
3、继承(Inheritance):示例 public class Dog extends Animal { ... }
4、封装(Encapsulation): 示例
private String name;
public String getName() { return name; }
5、多态(Polymorphism):
方法重载:public int add(int a, int b) { ... } 和 public double add(double a, double b) { ... }
方法重写:@Override public void makeSound() { System.out.println("Meow"); }
6、抽象(Abstraction):
抽象类:public abstract class Shape { abstract void draw(); }
接口:public interface Animal { void eat(); }
7、接口(Interface):示例:public interface Drivable { void drive(); }
8、方法(Method):示例:public void displayInfo() { System.out.println("Info"); }
9、方法重载(Method Overloading):
public class MathUtils {
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }
}
---- 对象和类的概念。 ----
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。

---- 创建对象 ----
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
1、声明:声明一个对象,包括对象名称和对象类型。
2、实例化:使用关键字 new 来创建一个对象。
3、初始化:使用 new 创建对象时,会调用构造方法初始化对象。
---- 访问实例变量和方法 ----
// 1 实例化对象
Object referenceVariable = new Constructor();
// 2 访问类中的变量
referenceVariable.variableName;
// 3 访问类中的方法
referenceVariable.methodName();

当在一个源文件中定义多个类,并且还有 import 语句和 package 语句时,要特别注意规则。
1. 一个源文件中只能有一个 public 类
2. 一个源文件可以有多个非 public 类
3. 源文件的名称应该和 public 类的类名保持一致。例如:源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java。
4. 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
5. 如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
6. import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
7. 类有若干种访问级别,并且类也分不同的类型:抽象类和 final 类等。这

Java 包: 包主要用来对类和接口进行分类。当开发 Java 程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。
import 语句: 如果给出一个完整的限定名,包括包名、类名,那么 Java 编译器就可以很容易地定位到源代码或者类。import 语句就是用来提供一个合理的路径,使得编译器可以找到某个类。
例如Employee 和 EmployeeTest

*/

// 下面的例子展示如何访问实例变量和调用成员方法:

public class Puppy {
    private int age;
    private String name;

    // 构造器
    public Puppy(String name) {
        this.name = name;
        System.out.println("小狗的名字是 : " + name);
    }

    // 设置 age 的值
    public void setAge(int age) {
        this.age = age;
    }

    // 获取 age 的值
    public int getAge() {
        return age;
    }

    // 获取 name 的值
    public String getName() {
        return name;
    }

    // 主方法
    public static void main(String[] args) {
        // 创建对象
        Puppy myPuppy = new Puppy("Tommy");

        // 通过方法来设定 age
        myPuppy.setAge(2);

        // 调用另一个方法获取 age
        int age = myPuppy.getAge();
        System.out.println("小狗的年龄为 : " + age);

        // 也可以直接访问成员变量(通过 getter 方法)
        System.out.println("变量值 : " + myPuppy.getAge());
    }
}

例如:

  1. 搭建 Java 开发环境
  2. 掌握 Java 基本语法
  3. 掌握条件语句
  4. 掌握循环语句

4、mvn 学习:

提示:这里可以添加要学的内容

第一个 Maven 项目

powershell 复制代码
mvn archetype:generate \
    -DgroupId=com.example \
    -DartifactId=my-first-app \
    -DarchetypeArtifactId=maven-archetype-quickstart \
    -DinteractiveMode=false

这会生成一个标准 Maven 项目结构:

powershell 复制代码
my-first-app/
├── pom.xml           # 项目配置文件
├── src/
│   ├── main/         # 主代码
│   │   └── java/     # Java 源代码
│   └── test/         # 测试代码
│       └── java/     # 测试类

解读 pom.xml

shell 复制代码
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>      <!-- 组织名 -->
    <artifactId>my-first-app</artifactId>  <!-- 项目名 -->
    <version>1.0-SNAPSHOT</version>     <!-- 版本号 -->

    <dependencies>
        <dependency>
            <groupId>junit</groupId>    <!-- 测试依赖 -->
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>         <!-- 仅用于测试 -->
        </dependency>
    </dependencies>
</project>

编译和运行

powershell 复制代码
mvn compile    # 编译项目
mvn test       # 运行测试
mvn package    # 打包成 .jar 文件
java -jar target/my-first-app-1.0-SNAPSHOT.jar  # 运行(如果可执行)

Maven 第一个项目


文章目录

一、Java 程序的运行必须经过3 个步骤:编写、编译、运行

(1)Java 和 JavaScript 的区别

(2)(SDK)JDK、JRE、JVM 的关系

(3)是否需要 Maven?

二、软件下载

2.1、JDK下载与安装 ------ 是一个开发工具包

2.2、Maven下载与安装 ------ 是一个项目构建和管理自动化工具

2.3、IntelliJ IDEA下载与安装 ------ 是一个集成开发环境

三、IntelliJ IDEA:项目配置

3.1、新建项目的环境配置:File + New + Project

3.1.1、参数说明

3.1.2、文件夹说明:src、target

3.2、导入项目的环境配置

3.2.1、项目配置:File + Project Structure

3.2.2、设置主类:Edit + Configurations + " + " + Application + main class(BirdsPlugin.java)

一、Java 程序的运行必须经过3 个步骤:编写、编译、运行

编写:在Java开发环境中创建一个或多个.java源代码文件。

编译:使用Java编译器(javac)将.java源代码文件编译成.class字节码文件。字节码是一种中间代码,它位于源代码和机器代码之间。不是直接在计算机上执行的机器代码。

运行:使用Java解释器(JVM)将.class字节码文件翻译成机器代码,执行并显示结果。

Python程序的运行需要 2 个步骤:编写、运行

Java 程 序 的 运行需要 3 个步骤:编写、编译、运行

C/C++ 程序的运行需要 4 个步骤:编写、编译、链接、运行

(1)Java 和 JavaScript 的区别

Java 和 JavaScript 是两种不同的语言。

Java 是一种面向对象的编程语言:

需要通过编译器将源代码编译成字节码,然后在Java虚拟机(JVM)上解释执行。

用于大型企业级应用程序、桌面应用程序、移动应用程序和嵌入式系统应用程序。

具有跨平台性,可以在不同的操作系统上运行。

JavaScript 是一种脚本语言:

是一种轻量级的、解释型语言,浏览器直接执行源代码而无需显式的编译步骤。

用于在Web浏览器中实现交互式的网页功能:前端Web开发,服务器端开发。

(2)(SDK)JDK、JRE、JVM 的关系

(1)当需要开发 Java 程序,则安装 JDK。

(2)当只需要运行 Java 程序而不需要开发时,则安装JRE即可。

(3)备注:JDK包括JRE的一切功能。

JDK(Java Development Kit, Java开发工具):用于开发 Java 应用程序的工具和库。

提供了Java 编译器(javac)、Java 虚拟机(JVM)、Java 标准类库以及其他的一些开发工具。

JRE(Java Runtime Environment, Java 运行环境):用于运行 Java 应用程序所需的最小环境。

提供了Java 虚拟机(JVM)及 Java 标准类库,但不包含开发工具。

JVM(Java Virtual Machine, Java 虚拟机):用于执行 Java 字节码(.class 文件)的虚拟计算机。

JVM 是 Java 应用程序的运行引擎,负责加载、解释和执行 Java 字节码。它提供了一种在不同平台上运行 Java 程序的机制,实现了 Java 的跨平台性。

SDK (Software Development Kit,软件开发工具包):通常用于开发某种特定平台或技术的应用程序。它是一个包含各种开发工具和资源的集合,用于帮助开发者在特定平台上开发软件。

JDK 是 SDK 的一种特殊类型:JDK 仅针对 Java 开发,而 SDK 更加广泛,通常针对特定的操作系统或平台(如 iOS、Android、Windows、Mac)进行开发。

(3)是否需要 Maven?

不需要 Maven:如果只是 简单的 Java 项目,没有大量的外部依赖,只是编写单独的 Java 类进行开发,那么可以直接使用 IntelliJ IDEA 来编写、编译和运行 Java 程序,而不需要使用 Maven。

需要 Maven:如果项目涉及到多个模块或者需要使用大量的第三方库(例如 Spring、Hibernate 等),那么使用 Maven 管理这些依赖会非常方便。此外,Maven 还提供了许多其他功能,如构建、打包和部署。


复制代码
                        版权声明:本文为博主原创文章,未经作者允许不得转载,且不得用于商业目的,否则将追究法律责任。

原文链接:https://blog.csdn.net/shinuone/article/details/134662731

5、python 的pip和 java 的 maven

Pip与maven之比较

二者都是非常优秀的包管理器,一个针对Python语言,另一个针对Java语言。

我们写代码不可能什么都从零开始写,必然需借助于别人写的大量的第3方包(库),以帮助我们快速开发软件。在这方面,Python的生态极为丰富。

在使用第三方包(项目所依赖的包)时,pip需要程序员事先安装相应的包;而maven则是利用pom.xml文件中的配置在程序编译运行时,根据需要自动去相应镜像下载相关包。

二者都可以帮我们从包仓库中下载所需的第3方包,前提是需先指定包的名称和版本。Python的pip较灵活些,若不指定版本,其下载包的最新版本。而maven则严谨些,需在pom.xml配置文件中指定所依赖的包坐标。pip为了达到像pom.xml那样的效果,其需将安装的所有依赖以脚本的形式写在一个可执行文件中,用操作系统运行该文件,即可配置好相应的所依赖的第3方包。

二者都会从镜像下载包,并存放与本地。相同的是,若从国外镜像下载,则速度比较慢,而改为国内镜像则速度比较快。若更改为国内镜像,二者都需更改相应的配置文件。pip更灵活些,不更改镜像的配置文件也可以,用pip install -i指定镜像网址。若代码提示缺少某个第3方包,对Java来说,需手工在pom.xml文件中添加该包的依赖,然后手动刷新;而对Python语言来说,需执行pip install安装该包。

二者在下载某个第3方包时,若需传递依赖,二者都会自动下载传递依赖,无需人工干预。

maven不仅能够对第3方包管理,还可以构建(包含编译);而pip无需构建,因为Python是解释型语言,没有编译的过程,代码可直接解释执行。

1 Pip与maven之比较

2 为什么python安装依赖不能像java的maven一样方便呢

例如:

  • 周一至周五晚上 7 点---晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

6、 spring boot搭建学习:

搭建成功
IDEA 社区版如何创建 Spring Boot 项目(详细教程)

重点看的
idea社区版本创建springboot项目的三种方式

遇到版本不一样的问题解决

  1. 具有错误的版本 61.0,应为52.0​的解决方案1

  2. 2

    创建配置文件

7、spring 和spring boot

Spring Boot 是基于 Spring 的快速开发工具,目的是简化 Spring 应用的开发

总结的很好:Spring 和 Spring Boot 的区别

Spring从入门到精通


8、spring boot 搭建一个项目

学习时间:

提示:晚上

例如:

  • 周一至周五晚上 7 点---晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

提示:这里统计学习计划的总量

例如:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个
相关推荐
郑州光合科技余经理2 小时前
O2O上门预约小程序:全栈解决方案
java·大数据·开发语言·人工智能·小程序·uni-app·php
詩不诉卿2 小时前
Zephyr学习之PWM方式驱动LED灯记录
学习
小北方城市网2 小时前
SpringBoot 全局异常处理最佳实践:从混乱到规范
java·spring boot·后端·spring·rabbitmq·mybatis·java-rabbitmq
潇凝子潇2 小时前
在 Maven 中跳过单元测试进行本地打包或排除某个项目进行打包
java·单元测试·maven
weixin_462446232 小时前
Java 使用 Apache Batik 将 SVG 转换为 PNG(指定宽高)
java·apache·svg转png
移幻漂流2 小时前
Kotlin 完全取代 Java:一场渐进式的技术革命(技术、成本与综合评估)
java·开发语言·kotlin
WF_YL2 小时前
极光推送(JPush)快速上手教程(Java 后端 + 全平台适配)
java·开发语言
CHU7290352 小时前
智慧回收新体验:同城废品回收小程序的便捷功能探索
java·前端·人工智能·小程序·php
派大鑫wink2 小时前
【Day42】SpringMVC 入门:DispatcherServlet 与请求映射
java·开发语言·mvc