下面是详解Spring Boot目录文件结构的攻略。
目录文件结构
作为一款快速构建Java Web应用的框架,Spring Boot提供了一套默认的目录结构,旨在帮助开发人员快速搭建应用并进行开发,其目录文件结构如下:
project
├── src/main/java
│ └── com/example/demo
│ ├── controller
│ ├── entity
│ ├── repository
│ ├── service
│ ├── DemoApplication.java
│ └── DemoApplicationTests.java
├── src/main/resources
│ ├── static
│ ├── templates
│ ├── application.properties
│ └── application.yml
├── src/test/java
│ └── com/example/demo
│ └── DemoApplicationTests.java
├── mvnw
├── mvnw.cmd
├── pom.xml
├── README.md
下面,我们逐一解释这些目录和文件的作用:
src/main/java
:主要的Java代码目录src/main/java/com/example/demo
:默认的应用包名,应用包名应该根据实际情况修改,主要包含如下子目录controller
:存放控制器类,用于处理请求与返回响应,控制器的类名一般以Controller
结尾。entity
:用于存放实体类,用于表示业务实体,比如用户、订单等。repository
:存放数据操作方法,用于与数据库进行交互,实现数据的增删改查等数据库操作。service
:存放服务层接口和实现类,用于实现业务逻辑,其中服务接口名一般以Service
结尾,实现类名一般以ServiceImpl
结尾。DemoApplication.java
:Spring Boot应用的入口类,应用启动时会自动执行其中的main
方法。DemoApplicationTests.java
:默认的测试类模板,用于编写应用的测试代码。src/main/resources
:主要的配置文件、静态资源等目录src/main/resources/static
:存放静态资源文件,如CSS、JavaScript等src/main/resources/templates
:存放模板文件,用于生成HTML页面src/main/resources/application.properties
:以属性键值对形式存放应用配置信息的文件,在应用中可以使用@Value
来注入属性值。src/main/resources/application.yml
:采用yaml格式存放应用配置信息的文件,具有更易读性和层次性。src/test/java
:测试代码目录src/test/java/com/example/demo
:存放应用的测试类,其中已经包含了DemoApplicationTests.java
测试类文件。mvnw
和mvnw.cmd
:Maven Wrapper,用于解决环境不一致导致的Maven版本不兼容或下载时间过长的问题,使用生成的Maven Wrapper可以解决上述问题。pom.xml
:Maven构建配置文件README.md
:项目主页或者说明文件
示例
下面给出两个示例:
示例1:修改应用包名
假设我们的应用的名字为myapp
,我们需要修改应用包名为com.myapp
,则需要进行如下操作:
- 打开
DemoApplication.java
文件,将package com.example.demo;
修改为package com.myapp;
- 打开
pom.xml
文件,找到<groupId>
标签,将其中的com.example
替换为com.myapp
- 将
src/main/java/com/example/demo
目录下所有的Java文件中的package com.example.demo;
替换为package com.myapp;
- 将
src/test/java/com/example/demo
目录下所有的Java文件中的package com.example.demo;
替换为package com.myapp;
示例2:增加自定义配置项
应用需要支持自定义端口,我们可以在src/main/resources/application.yml
文件中增加如下配置项:
server:
port: 9090
完成上述操作后,我们就成功地增加了一个自定义配置项,用于配置应用的端口号。在应用中,我们可以使用@Value
注解来注入该配置项的值,示例代码如下:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api")
public class MyController {
@Value("${server.port}")
private String port;
@GetMapping("/hello")
public String hello() {
return "Hello, I'm running on port " + port;
}
}
在上面的代码中,我们使用了@Value
注解来注入端口号,然后在hello()
方法中使用端口号来做输出。这样,当应用启动时,我们访问http://localhost:9090/api/hello
即可看到输出结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Spring Boot 目录文件结构 - Python技术站