SpringBoot项目的搭建

SpringBoot简化了Spring的开发,基于约定大于配置,提供自动配置、起步依赖等功能。它内嵌Web容器,常用于开发Web项目,通过@SpringBootApplication启动,自动扫描并装配Bean。项目版本包括SNAPSHOT、M1/Mn、RC1/RCn和Release。
摘要由CSDN通过智能技术生成

SpringBoot

SpringSpringBoot

Spring缺点配置过于繁琐/引入依赖过多,版本控制复杂

SpringBoot优点基于约定大于配置的思想,简化Spring的开发/配置简单/依赖引入简单/提供了一些大型项目的非功能特性,如嵌入式服务器,安全指标,健康监测等

springboot

Spring是一个非常优秀的轻量级框架,以IOC(控制反转)和AOP(面向切面)为思想内核,极大简化了JAVA企业级项目的开发

官网

https://start.spring.io/

阿里网址

https://start.aliyun.com/

项目版本

SNAPSHOT:  快照版表示开发版本,随时可能修改

M1(Mn):  里程碑版本milestone

RC1(RCn): 发布预览版release candidates

Release:    正式版没有任何后缀也可能表示正式版

打包类型

开发的是web项目,但由于嵌入了Tomcat等Web容器,不需部署War文件,只需要打成Jar包即可

核心功能

自动配置自动提供最优配置,同时可以修改默认值满足特定的要求

起步依赖依赖是基于功能,将完成一个功能所需要的所有坐标打包到一起,并完成了版本适配

POM文件

父工程:会继承所配置的版本的父项目

起步依赖:以功能为单位,而不是以jar包为单位

插件:用于将项目打包成jar包,该插件打包的SpringBoot项目无需依赖web容器,可直接使用JDK运行

启动类

作用:启动SpringBoot项目(Springboot不依赖外部tomcat,自带tomcat)

启动类在启动时会做注解扫描(@Controller、@Service、@Repository......),扫描位置为同包或者子包下的注解,所以我们要在启动类同级或同级包下编写代码

配置文件

只有一个 application.properties配置文件,该文件不写任何信息都可以启动项目

Spring的自动配置功能使得大部分的配置都有默认配置,该文件的功能是覆盖默认配置信息

核心注解

@SpringBootApplication

标注是SpringBoot的启动类。

此注解等同于@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan

@SpringBootConfiguration

@SpringBootConfiguration@Configuration的派生注解,跟@Configuration功能一致,标注这个类是一个配置类,只不过@SpringBootConfiguration是Springboot的注解,而@Configuration是Spring的注解

@EnableAutoConfiguration

SpringBoot自动配置注解。

等同于@AutoConfigurationPackage+@Import(AutoConfigurationImportSelector.class)

@AutoConfigurationPackage

自动扫描包的注解,它会自动扫描主类所在包下所有加了注解的类(@Controller,@Service等),以及配置类(@Configuration)。

@Import({AutoConfigurationImportSelector.class})

该注解会导入AutoConfifigurationImportSelector类对象,该对象会从META-INF/spring.factories文件中读取配置类的名称列表。

@ComponentScan

该注解会扫描项目,自动装配一些项目启动需要的Bean

手动搭建springboot项目

创建maven项目

pom.xml

<?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 http://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.6.3</version>
        <relativePath/>
    </parent>

    <groupId>org.example</groupId>
    <artifactId>springbootdemo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--springMVC-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

application.yml

# 端口号
server:
  port: 8080

主启动类

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class,args);
    }
}





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月木@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值