入门
Spring Boot四个核心
- 自动配置
- 起步依赖
- 命令行界面
- Actuator
在IntelliJ IDEA里创建Spring Boot项目
New > Project > 不断的Next > Finish
最后得到一个空的Spring Boot项目
如上图,项目中有不少文件
- 主要的应用程序代码位于src/main/java目录里
- 资源都在src/main/resources目录里
- 测试代码则在src/test/java里
- 如果存在测试资源,则要放在src/test/resources
BootDemoApplication.java
@SpringBootApplication
public class BootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(BootDemoApplication.class, args);
}
}
该类在Spring Boot应用程序里有两个作用:配置和启动引导。这是主要的Spring配置类。
@SpringBootApplication 开启了Spring的组件扫描和Spring Boot的自动配置功能。实际上,@SpringBootApplication将三个有用的注解组合在了一起:
- Spring的@Configuration:标明该类是使用Spring基于Java的配置
- Spring的@ComponentScan:启用组件扫描
- Spring Boot的@EnableAutoConfiguration:开启自动配置
一般来说,如果应用程序需要Spring Boot自动配置以外的其他Spring配置,最好把它写到一个单独的@Configuration标注的类里(组件扫描会发现并使用这些累=类的)。极度简单的情况下,可以把自定义配置加入BootDemoApplication.java。
BootDemoApplicationTests.java
@RunWith(SpringRunner.class)
@SpringBootTest
public class BootDemoApplicationTests {
@Test
public void contextLoads() {
}
}
一个测试类的骨架
application.properties
application.properties是一个空文件,这个文件完全是可选的,删除后对程序没有任何影响。
application.properties可以很方便的帮你细粒度的调整Spring Boot的自动配置,比如将端口号变为8000,只需要往文件中加入条目:
sever.port=8000
另外,完全不需要告诉Spring Boot加载application.properties,只要它存在就会被加载,Spring和应用程序代码都能获取其中的属性。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
......
<modelVersion>4.0.0</modelVersion>
<parent>
...
</parent>
<groupId>com.example</groupId>
<artifactId>boot_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot_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>
</dependency>
</dependencies>
<build>
<plugins>
......
</plugins>
</build>
</project>
Spring Boot 的起步依赖:spring-boot-starter、spring-boot-starter-test
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<!--排除传递依赖 -->
<exclusions>
<exclusion>
<groupId>org....../groupId>
</exclusion>
</exclusions>
</dependency>