今日话题
基于 Spring Boot 打印输出 hello world
作者:云层上的光
时间:2024年6月20日 14时25分14秒
主线任务
一、打印 hello world
1、点击 “新建项目”用来演示 打印输出 “hello world”
2、填写项目配置:(详细版见:https://www.yuque.com/chuxin-cs/spring-boot-demo/dx1zlnxducmrtgih#ltUnP)
3、选择 3.2.7 项目版本作为演示,依赖选择 Spring Web,最后点击创建:
4、使用 System 类打印
System.out.println("Hello World!");
5、运行项目,成功打印 hello world!
支线任务
一、package 是干什么的?
在Java中,package主要用于:
- 组织代码:帮助分类和管理类。
- 命名空间:避免类名冲突。
- 访问控制:限制类及成员的可见性。
- 导入类:简化跨包类的引用。
- 目录结构:指导源文件的存放位置
白话:前端模块化,(所以作为前端去后端很多概念是一样的 只是在语法上不同,用概念套语法)
对比前端,以 Vue 项目举例,功能如下:
1、新建 utils/indexjs 文件
// 定义了add 函数 并且使用了esmodules 模块化导出
export function add(a,b){
alert(a+b)
}
2、根目录 main.js 使用 utils 文件中 index.js
// 导入
import {add} from "./utils/index.js"
// 调用函数使用
console.log(add(1,2));
3、上面的功能用后端 package 来实现一遍,首先新建 utils 工具包:
4、再创建 common 文件
5、编写 add 方法:
代码如下:
使用 package 指明了当前在那个包下,也可以理解为在那个文件夹下
// 这里使用 package 指明了当前在那个包下,也可以理解为在那个文件夹下
package com.chuxin.demohelloworld.utils;
public class common {
public int add(int num1, int num2) {
return num1 + num2;
}
}
6、主入口调用
代码如下:
package com.chuxin.demohelloworld;
import com.chuxin.demohelloworld.utils.common;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoHelloWorldApplication {
public static void main(String[] args) {
// 打印 hello world
System.out.println("Hello World!");
// package 代码演示
common Common = new common();
System.out.println(Common.add(1,2));
// spring boot 启动
SpringApplication.run(DemoHelloWorldApplication.class, args);
}
}
7、右键运行
8、成功运行
总结:前端编写的 utils 工具函数想要让外部访问,以 EsModules 的方式通过:
export default 或者 export 进行导出,外部使用 import 进行导入
Java 则是通过 package 进行导出,那么 导入也是 import 吗?
二、import 导入?
1、在 package 中我们演示了 package 的作用,用于定义包,那么包是怎么导入的呢?
通过 import :
2、不过我们发现 这里一截有点长,都有啥作用呢?
com.chuxin.demohelloworld.utils.common
拆分为3种演示:com.chuxin.demohelloworld.utils.common
其中(utils 和 common 对应的是创建的utils文件夹和common文件类)
3、com.chuxin.demohelloworld 在项目创建时填写的,创建一个新项目演示一下
4、思考一个问题,如果把“组”和“工件”还有“ 软件包名称”都修改不一样,最终验证是以“软件包名称”为准么?(删除刚刚创建的项目 重新来一遍)
5、最终验证是以“软件包名称”为准
6、只是在语法上 import 和前端不一样,不用赋值
// 前端
import {add} from "./utils/index.js"
7、而 Java 中
import com.chuxin1.demohelloworld1.utils.common;
8、那么 包内能存在两个 common 吗?
发现不能进行相同文件的创建,会提示无法创建:
三、System 作用
1、System 好比 utils 的工具包一样,它是 Java 的内置包提供基础API
2、类比前端的 window
3、前端输出打印
console.log("chuxin")
4、Java 输出打印
System.out.println("Hello World!");
四、文件大小写规范
1、utils/common 作为 package 演示时 故意创建的是小写的,但是 Java 一般规范是驼峰命令,且首字母大写
2、修改类名为大写
3、重命名文件名
4、调整主入口文件代码
代码如下:
package com.chuxin.demohelloworld;
import com.chuxin.demohelloworld.utils.Common;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoHelloWorldApplication {
public static void main(String[] args) {
// 打印 hello world
System.out.println("Hello World!");
// package 代码演示
Common common = new Common();
System.out.println(common.add(1,2));
// spring boot 启动
SpringApplication.run(DemoHelloWorldApplication.class, args);
}
}
5、运行代码,看是否报错:
6、输出结果
代码仓库
https://github.com/chuxin-cs/spring-boot-demo/tree/master/demo-hello-world
往期内容
点击链接查看:https://www.yuque.com/chuxin-cs/it/ge9wybczy0wsq1l1