使用Ideal创建一个spring boot的helloWorld项目

发布于:2025-07-09 ⋅ 阅读:(12) ⋅ 点赞:(0)

说明:本篇将介绍如何使用Ideal2024.2.1去创建一个spring boot的helloWorld项目,本篇将包含创建的详细步骤以及spring boot项目的目录结构说明,创建过程中的选项说明等。

详细步骤如下:

第一步:点击文件——新建——项目(若是英文版对应点击即可)

第二步:点击Spring Boot,填写SpringBoot相关信息以及相关信息解释如下:

1.名称(Name)

作用:项目的名称,通常也是生成的根目录名

示例:demo0707-helloWorld

注意:最好使用小写字母和连字符,避免空格和特殊字符

2.位置(Location)

作用:项目在本地文件系统中的存储路径

示例:E:\idea-Code

3.创建Git仓库(Create Git repository)

作用:是否在项目初始化时创建本地Git仓库

建议:勾选以方便后续版本控制

4.语言(Language)

选项:Java/Kotlin/Groovy

作用:选择项目的主要编程语言

Java:最常用,生态最完善

Kotlin:现代语言,与Spring Boot兼容性好

Groovy:动态语言,适合脚本场景

5.类型(Type)

选项:Gradle-Groovy/Gradle-Kotlin/Maven

作用:选择构建工具和对应的DSL

Maven:XML配置,传统选择

Gradle-Groovy:使用Groovy DSL的Gradle构建脚本

Gradle-Kotlin:使用Kotlin DSL的Gradle构建脚本

就是你在引入包的时候选择什么样的形式来引入

6.组(Group)

作用:项目的组织标识,遵循Java包命名规范

示例:com.example

通常使用公司域名反转(如com.companyname)

7.工件(Artifact)

作用:项目的唯一标识符,通常是项目名称的小写形式

示例:demo0707-helloWorld

会用于生成最终的jar/war文件名

8.包名称(Package name)

作用:项目的基础包名,通常是Group和Artifact的组合

自动生成:com.example.demo0707helloworld

9.JDK版本(JDK)

选项:如Oracle OpenJDK 17.0.2

作用:选择项目使用的JDK版本和供应商

建议:使用LTS版本(如8,11,17)

10.Java版本(Java)

选项:如8,11,17等

作用:指定项目使用的Java语言版本,必须与所选JDK版本兼容

11.打包方式(Packaging)

选项:Jar/War

Jar:可执行jar,包里面内嵌服务器(Spring Boot默认),适合Docker容器化部署,可直接通过java -jar命令运行

War:传统web应用包,需部署到外部服务器

第三步:配置项目的依赖以及说明

  在新建一个项目的时候一般只需要配置以下三个依赖即可,后续可以根据开发的需要逐步添加项目依赖,项目中所有的依赖都在pom.xml文件或者build.gradle文件中,可以直接在文件中进行添加或者删除依赖。spring boot的版本选择也在这。

依赖说明:

1.Spring Boot DevTools

作用:开发阶段的热部署工具集

包含功能:

应用自动重启(代码修改后)

LiveReload(浏览器自动刷新)

开发时配置默认值(如禁用模板缓存)

远程调试支持

注意:仅用于开发环境,生产环境会自动禁用

2.Lombok

作用:通过注解减少样板代码

常用注解:

@Data:自动生成getter/setter/toString等

@NoArgsConstructor/@AllArgsConstructor:构造方法

@Slf4j:自动注入日志对象

优势:使代码更简洁,减少重复代码

3.Spring Configuration Processor

作用:为自定义配置属性提供元数据支持

功能:在 application.properties/application.yml 中为自定义属性提供代码提示,

生成配置元数据文件 spring-configuration-metadata.json

使用场景:开发自定义 Starter 或配置类时特别有用

第四步:在点击创建后,会加载软件包以及Maven以及JDK等。新建后的项目目录结构如下:

项目目录结构分析:

demo0707-helloWorld/

├── .idea/ # IDE 配置

├── src/

│ ├── main/

│ │ ├── java/ # Java 源代码

│ │ └── resources/ # 资源文件

│ └── test/ # 测试代码

├── .gitignore # Git 忽略规则

├── HELP.md # 帮助文档

├── mvnw, mvnw.cmd # Maven Wrapper的 JAR 文件和配置文件

└── pom.xml # 项目核心配置

在项目的实际开发中,用的最多的是在Java文件下编写Java代码,在resources文件下放资源文件。

Demo0707HelloWorldApplication文件:这个是项目的启动文件,在项目运行时会首先执行这个文件

application.properties文件:这是配置文件,可以配置项目的参数,例如数据库账号密码等

第五步:完善目录结构

在实际的开发中我们还需要对项目的目录结构进一步拓展,符合我们的开发习惯。

在 com.example.demo0707helloworld 包下创建我们进行Java开发的目录结构:

controller/:存放控制器

service/:业务逻辑

repository/:数据访问

config/:配置类

model/:数据模型

在 resources 下添加:

static/:CSS/JS/图片

templates/:视图模板

application.yml:可选替代 properties

添加后的目录结构:

第六步:在启动程序Demo0707HelloWorldApplication 中添加打印HelloWorld打印程序

package com.example.demo0707helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Demo0707HelloWorldApplication {

    public static void main(String[] args) {
        
        SpringApplication.run(Demo0707HelloWorldApplication.class, args);
        System.out.println("Hello World!");
    }

}

第七步:运行程序

三角符号表示正式运行,爬虫符号表述调试运行(遇到断点会停下来)

执行结果:

D:\Soft\openJDK\openjdk-17.0.2_windows-x64_bin\jdk-17.0.2\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:60257,suspend=y,server=n -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" -javaagent:C:\Users\Admin\AppData\Local\JetBrains\IntelliJIdea2024.2\captureAgent\debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dfile.encoding=UTF-8 -classpath "E:\Idea-Code\demo0707-helloWorld\target\classes;C:\Users\Admin\.m2\repository\org\springframework\boot\spring-boot-starter\3.5.3\spring-boot-starter-3.5.3.jar;C:\Users\Admin\.m2\repository\org\springframework\boot\spring-boot\3.5.3\spring-boot-3.5.3.jar;C:\Users\Admin\.m2\repository\org\springframework\spring-context\6.2.8\spring-context-6.2.8.jar;C:\Users\Admin\.m2\repository\org\springframework\spring-aop\6.2.8\spring-aop-6.2.8.jar;C:\Users\Admin\.m2\repository\org\springframework\spring-beans\6.2.8\spring-beans-6.2.8.jar;C:\Users\Admin\.m2\repository\org\springframework\spring-expression\6.2.8\spring-expression-6.2.8.jar;C:\Users\Admin\.m2\repository\io\micrometer\micrometer-observation\1.15.1\micrometer-observation-1.15.1.jar;C:\Users\Admin\.m2\repository\io\micrometer\micrometer-commons\1.15.1\micrometer-commons-1.15.1.jar;C:\Users\Admin\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.3\spring-boot-autoconfigure-3.5.3.jar;C:\Users\Admin\.m2\repository\org\springframework\boot\spring-boot-starter-logging\3.5.3\spring-boot-starter-logging-3.5.3.jar;C:\Users\Admin\.m2\repository\ch\qos\logback\logback-classic\1.5.18\logback-classic-1.5.18.jar;C:\Users\Admin\.m2\repository\ch\qos\logback\logback-core\1.5.18\logback-core-1.5.18.jar;C:\Users\Admin\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.24.3\log4j-to-slf4j-2.24.3.jar;C:\Users\Admin\.m2\repository\org\apache\logging\log4j\log4j-api\2.24.3\log4j-api-2.24.3.jar;C:\Users\Admin\.m2\repository\org\slf4j\jul-to-slf4j\2.0.17\jul-to-slf4j-2.0.17.jar;C:\Users\Admin\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;C:\Users\Admin\.m2\repository\org\springframework\spring-core\6.2.8\spring-core-6.2.8.jar;C:\Users\Admin\.m2\repository\org\springframework\spring-jcl\6.2.8\spring-jcl-6.2.8.jar;C:\Users\Admin\.m2\repository\org\yaml\snakeyaml\2.4\snakeyaml-2.4.jar;C:\Users\Admin\.m2\repository\org\springframework\boot\spring-boot-devtools\3.5.3\spring-boot-devtools-3.5.3.jar;C:\Users\Admin\.m2\repository\org\springframework\boot\spring-boot-configuration-processor\3.5.3\spring-boot-configuration-processor-3.5.3.jar;C:\Users\Admin\.m2\repository\org\projectlombok\lombok\1.18.38\lombok-1.18.38.jar;C:\Users\Admin\.m2\repository\org\slf4j\slf4j-api\2.0.17\slf4j-api-2.0.17.jar;D:\Soft\Idea2024.2\IntelliJ IDEA 2024.2.1\lib\idea_rt.jar" com.example.demo0707helloworld.Demo0707HelloWorldApplication
已连接到地址为 ''127.0.0.1:60257',传输: '套接字'' 的目标虚拟机

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.5.3)

2025-07-07T16:35:46.972+08:00  INFO 11960 --- [demo0707-helloWorld] [  restartedMain] c.e.d.Demo0707HelloWorldApplication      : Starting Demo0707HelloWorldApplication using Java 17.0.2 with PID 11960 (E:\Idea-Code\demo0707-helloWorld\target\classes started by Admin in E:\Idea-Code\demo0707-helloWorld)
2025-07-07T16:35:46.975+08:00  INFO 11960 --- [demo0707-helloWorld] [  restartedMain] c.e.d.Demo0707HelloWorldApplication      : No active profile set, falling back to 1 default profile: "default"
2025-07-07T16:35:47.009+08:00  INFO 11960 --- [demo0707-helloWorld] [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2025-07-07T16:35:47.399+08:00  INFO 11960 --- [demo0707-helloWorld] [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2025-07-07T16:35:47.419+08:00  INFO 11960 --- [demo0707-helloWorld] [  restartedMain] c.e.d.Demo0707HelloWorldApplication      : Started Demo0707HelloWorldApplication in 0.817 seconds (process running for 2.094)
Hello World!
已与地址为 ''127.0.0.1:60257',传输: '套接字'' 的目标虚拟机断开连接

进程已结束,退出代码为 0

结果说明:

1.应用成功启动(Spring Boot标志出现)

2.打印了"Hello World!"

3.因为没有持续任务,JVM正常退出(退出代码0表示正常)

这样就完成了一次springboot的HelloWorld项目的创建,欢迎留言讨论。


网站公告

今日签到

点亮在社区的每一天
去签到