The default file required for a SpringBoot application is only the main application class with the main() method.
This will start the application, kicking off a sequence of reflection and configuration operations. SpringBoot is simply a DI (Dependency Injection) engine which performs certain processes based on the dependencies it discovers.
For instance, if it finds the spring-boot-start-web dependency on it's classpath, it will look for any web controllers and automatically start up an http servlet serving requests on the endpoints found in the controllers. If SpringBoot sees the h2 dependency in it's classpath, it will automatically setup and configure an in-memory h2 database to be used with SQL queries.
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);
}
}
spring:
profiles:
active: dev
# Simple list of files that should not be committed to git.
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# IDEs and editors
.idea/
.project
.classpath
.c9/
*.iml
*.launch
.settings/
*.sublime-workspace
build/
out/
#Maven
dependency-reduced-pom.xml
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# System Files
.DS_Store
Thumbs.db
<?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 https://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.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>