首页 专栏 java 文章详情
关注作者
关注作者
0
Spring Boot项目结构简介
听听那冷雨 发布于 3 月 8 日
基本项目结构参考如下截图,下面详细介绍各个文件和目录。
1. pom.xml
全称project object model(项目对象模型)Maven构建规范。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[http://maven.apache.org/POM/4.0.0](http://maven.apache.org/POM/4.0.0)"
xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance](http://www.w3.org/2001/XMLSchema-instance)"
xsi:schemaLocation="[http://maven.apache.org/POM/4.0.0](http://maven.apache.org/POM/4.0.0) [http://maven.apache.org/xsd/maven-4.0.0.xsd](http://maven.apache.org/xsd/maven-4.0.0.xsd)">
<modelVersion>4.0.0</modelVersion>
<!--1.基本属性-->
<groupId>sia</groupId>
<artifactId>taco-cloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <!--所有云平台都能运行jar文件,但war并非如此-->
<name>taco-cloud</name>
<description>Taco Cloud Example</description>
<!--2.父POM,Spring属性-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version> <!--starter都会用这个版本来管理无需再指定-->
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--3.项目编码属性-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!--4.项目依赖-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId> <!--无需再指定版本,会根据parent的version来管理-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--5.构建属性-->
<!--该插件,1.提供了一个maven goal 2.确保依赖的库都包含在可执行JAR中 3.在JAR中生成一个manifest文件,将引导类(XXXApplication.java)声明为可执行JAR的主类-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<!--注意Spring Boot starter依赖,它们本身并不包含库代码,而是传递行地拉取其他的库,好处是:1.声明数少了。2.不用自己找了。3.不用担心版本问题了-->
2. XXXApplication.java
是Stpring Boot主类,它会启动该项目。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*
* @SpringBootApplication 该注解声明这是一个Spring Boot应用
* 它实际上是三个注解的组合
* @SpringBootConfiguration 将该类声明为配置类
* @EnableAutoConfiguration 启用Spring Boot自动配置
* @ComponentScan 启用组建扫描(扫描@Controller、@Service、@Conmponent等)
*/
@SpringBootApplication
public class TqrApplication {
public static void main(String[] args) {
SpringApplication.run(TqrApplication.class, args); // 运行应用
}
}
3. XXXApplicationTest.java
测试类模版
package com.example.demo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class) // JUnit的注解,它提供一个测试运行其(runner)来指导JUnit如何运行测试
@SpringBootTest // 注解的先后顺序无关
public class TqrApplicationTests {
@Test // 注意是org.junit.Test
public void contextLoads() {
System.out.println("Hello world!");
}
}
4. mvnw和mvnw.cmd
Maven包装器,借助这些脚本,即使机器上没有Maven,也可以构建项目。
5. application.properties
指定配置属性的地方,该文件起初为空。
6. static目录
存放为浏览器提供服务的静态内容(图片、样式表、JavaScript)。
7. templates
存放用来渲染内容到浏览器的模板文件(例如Tymeleaf模板)
java 入门 spring pom springboot
阅读 25 更新于 3 月 9 日
赞
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
学习笔记
关注专栏
听听那冷雨
1 声望
0 粉丝
0 条评论
得票 时间
提交评论
听听那冷雨
1 声望
0 粉丝
宣传栏
目录
▲
基本项目结构参考如下截图,下面详细介绍各个文件和目录。
1. pom.xml
全称project object model(项目对象模型)Maven构建规范。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[http://maven.apache.org/POM/4.0.0](http://maven.apache.org/POM/4.0.0)"
xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance](http://www.w3.org/2001/XMLSchema-instance)"
xsi:schemaLocation="[http://maven.apache.org/POM/4.0.0](http://maven.apache.org/POM/4.0.0) [http://maven.apache.org/xsd/maven-4.0.0.xsd](http://maven.apache.org/xsd/maven-4.0.0.xsd)">
<modelVersion>4.0.0</modelVersion>
<!--1.基本属性-->
<groupId>sia</groupId>
<artifactId>taco-cloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <!--所有云平台都能运行jar文件,但war并非如此-->
<name>taco-cloud</name>
<description>Taco Cloud Example</description>
<!--2.父POM,Spring属性-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version> <!--starter都会用这个版本来管理无需再指定-->
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--3.项目编码属性-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!--4.项目依赖-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId> <!--无需再指定版本,会根据parent的version来管理-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--5.构建属性-->
<!--该插件,1.提供了一个maven goal 2.确保依赖的库都包含在可执行JAR中 3.在JAR中生成一个manifest文件,将引导类(XXXApplication.java)声明为可执行JAR的主类-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<!--注意Spring Boot starter依赖,它们本身并不包含库代码,而是传递行地拉取其他的库,好处是:1.声明数少了。2.不用自己找了。3.不用担心版本问题了-->
2. XXXApplication.java
是Stpring Boot主类,它会启动该项目。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*
* @SpringBootApplication 该注解声明这是一个Spring Boot应用
* 它实际上是三个注解的组合
* @SpringBootConfiguration 将该类声明为配置类
* @EnableAutoConfiguration 启用Spring Boot自动配置
* @ComponentScan 启用组建扫描(扫描@Controller、@Service、@Conmponent等)
*/
@SpringBootApplication
public class TqrApplication {
public static void main(String[] args) {
SpringApplication.run(TqrApplication.class, args); // 运行应用
}
}
3. XXXApplicationTest.java
测试类模版
package com.example.demo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class) // JUnit的注解,它提供一个测试运行其(runner)来指导JUnit如何运行测试
@SpringBootTest // 注解的先后顺序无关
public class TqrApplicationTests {
@Test // 注意是org.junit.Test
public void contextLoads() {
System.out.println("Hello world!");
}
}
4. mvnw和mvnw.cmd
Maven包装器,借助这些脚本,即使机器上没有Maven,也可以构建项目。
5. application.properties
指定配置属性的地方,该文件起初为空。
6. static目录
存放为浏览器提供服务的静态内容(图片、样式表、JavaScript)。
7. templates
存放用来渲染内容到浏览器的模板文件(例如Tymeleaf模板)