springboot目录结构、重要配置文件、重要注解的详解

时间:2023-03-10 04:23:55
springboot目录结构、重要配置文件、重要注解的详解

前面2篇博客已经带着大家搭建了springboot项目,并编写了持久化接口部署到tomcat下访问。这里我们一起补充下springboot的基本信息

一.springboot简单介绍

springboot是目前流行的微服务框架,倡导“约定优于配置”,简化spring项目搭建及开发过程。springboot提供了很多核心的功能,比如自动化配置、starter简化maven配置、内嵌servlet容器、应用监控等功能。稳定的版本后缀带RELEASE。

二.工程目录介绍

springboot目录结构、重要配置文件、重要注解的详解

1./src/main/java:目录下放置所有的java文件(源代码)

2./src/main/resource:存放资源文件、如静态资源文件、配置文件、页面文件等

3./src/main/resource/static:存放静态资源

4./src/mian/resource/application.properties:配置文件,springboot支持.properties和.yml文件

5./src/main/resources/templates:存放模板文件如thymeleaf模板文件

6./src/test/java:单元测试类java文件

7./target:放置编译后的.class文件、配置文件等

注意:.properties的文件优先级高于.yml文件。

三.入口类

入口类的名称是根据项目的名称生成的,项目名称+application

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class DemoApplication { public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);//应用程序开始运行的地方
} }

@springbootapplication:是个组合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,简化项目启动。

四.pom.xml文件

springboot项目下的pom.xml主要是存放依赖信息

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.louis.springboot</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<!-- web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- jdbc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-core</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
<scope>compile</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- 打包时拷贝MyBatis的映射文件 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/sqlmap/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build> </project>

1.spring-boot-starter-parent是个特殊的starter,用来提供相关的maven默认依赖,使用它之后,常用的包依赖可以省去version标签。

2.spring-boot-starter-web:得到常用的web依赖包,比如spring-web、spring-webmvc等

3.spring-boot-starter-test:自动引入与测试相关的包

4.spring-boot-maven-plugin:这是个maven插件,能够以maven的方式为应用提供springboot的支持,即为springboot应用提供了执行maven操作的可能。能够将springboot应用打包为可执行的jar或者war文件