Spring Boot 启动类
写法一:直接通过 SpringApplication.run(主启动类,传入的参数) 进行启动
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
写法二:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
// 先创建一个SpringBoot容器
SpringApplication springApplication = new SpringApplication(DemoApplication.class);
// 对容器进行相关配置,关闭SpringBoot启动的Banner
// Banner可以在创建一个资源路径下使用banner.txt进行自定义
springApplication.setBannerMode(Banner.Mode.OFF);
// 进行启动
springApplication.run(args);
}
}
写法三:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
ApplicationContext context = new SpringApplicationBuilder()
.sources(DemoApplication.class) // SpringBoot主配置类
.bannerMode(Banner.Mode.CONSOLE) // 在启动之前作相关配置
.run(args); // 启动
}
}
配置项
application.properties(或者application.yaml):
# 应用名称
spring.application.name=demo
# 应用服务 WEB 访问端口
server.port=8080
# banner的输出模式
# console:输出在控制台
# log:输出在日志文件
# off:关闭banner输出
spring.main.banner-mode=console
# 主启动类的类路径
spring.main.sources=com.example.demo.DemoApplication
# 是否允许Bean定义的覆盖,默认不允许
spring.main.allow-bean-definition-overriding=false
# 是否延迟初始化容器中的bean
spring.main.lazy-initialization=false
# web容器类型:servlet | reactive | none
# servlet:传统的web容器,SpringBoot内置tomcat
# reactive:响应式容器
# none:没有web容器
spring.main.web-application-type=servlet
配置了主启动的类路径:spring.main.sources=com.example.demo.DemoApplication,可以使用如下方法进行SpringBoot的启动
public class Main {
// main方法可以在配置类中,也可以不在主配置类中
public static void main(String[] args) {
// 使用无参构造
SpringApplication springApplica tion = new SpringApplication();
springApplication.run(args);
}
}