Spring Boot
百技的Hackathon第一次接触了Spring Boot这个框架,总的来说没有特别难的点,确实是工程拆分的好东西。
Spring boot 与 Spring 简介 #
Spring boot 是在spring基础上开发的一套框架,主要是简化了Spring框架复杂的xml配置,简化了依赖的管理,由于我也没有配置过spring框架的xml因此没有体会。
Spring 框架实现了两个主要的设计模式:IOC和AOP, 这是我之前就了解过的,不过并没有对此有任何实践。只记得要对bean类做很多依赖注入的配置,非常繁琐。
Spring boot 的基础使用 #
使用Spring boot可以将web应用直接打包成jar包,内部包含serverlet容器,直接使用:java -jar xxxxx.jar
的方式启动。
- 使用maven添加依赖(pom.xml):
<project>
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
...
</project>
重点就是引入了一个parent和两个starter。
- 创建应用的启动类:
package com.xxxxx.xx;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(helloWorldApplication.class, args);
}
}
- 打包的pom.xml中要配置主启动类。
<project>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.xxx.xxx.HelloWorldWebApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>