新建一个SpringBoot项目

方式一:通过官网

https://start.spring.io/

在官网做好项目设置(设置不同,最后生成的pom.xml、包目录就不同),就会生成一个SB项目的压缩包

启动类就是带main()的类

PS:容器默认的扫描包目录是从启动类所在包目录开始

@SpringBootApplication = @EnableAutoConfiguration(new自动配置类)+ @ComponentScan

也就是从划线处开始,如果在包外面用@Component注册组件是不会生效

可以在启动类上面用@ComponentScan指定扫描包目录

@SpringBootApplication
@ComponentScan(basePackages = "com.service")
public class ProviderApplication {

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

}

怎么检测组件是否注册成功:

1、在注册类的构造方法里打印输入一行文字,看启动程序后会不会打印

PS:如果注册成功,在启动程序后会调用构造方法,注册组件放入Spring容器中

2、看target目录下有没有被注册类的字节码文件

因为要实现web项目,先引入SpringWeb依赖,通常引入依赖都是带starter的(带starter一般会把一个框架所需的全部依赖引入),如果项目不需要接收http请求(不用tomcat)就不用导入web依赖

项目信息描述的group和artifact就是maven项目的

<groupId>com</groupId>
<artifactId>provider</artifactId>

name就是maven项目这里显示的名字

选好配置后点generate,生成SB项目压缩包

压缩包结构如下

一个SB项目一般只用保留src目录和pom.xml,其它都可以删除

方式二:通过IDEA

和方式一类似

点击next

选中依赖后就会出现在右边 ,next

这是在IDEA建项目的常规操作 ,finish

这些选项和官网的一样,其实就是在IDEA里选好配置,IDEA再去spring官网帮我们重复方式一的步骤,再把压缩包下载下来,解压、呈现给我们看

建完项目,发现和从官网下载的一模一样

PS:每次新建项目,别忘设置这里

SpringBoot的项目简单介绍

1、pom.xml

SB项目的特点是一定有一个父工程,这样在子工程没有声明依赖的version默认会延用父工程的版本

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

ctrl+左键点击artifactId的parent,会进入parent的pom.xml

再按dependencies,能看到SB的默认版本信息

2、SpringBoot自动配置相关内容

通常在SB引入一个框架,通常都会带autoconfigure依赖(如果那个框架有自动配置类就会有autoconfigure依赖),它是支持默认注册组件关键

SpringBoot是通过自动配置类帮我们做的默认组件的注册

在autoconfigure包下 → /META-INF/spring.factories → AutoConfiguration=List<String>自动配置类的列表

 /META-INF/xxx-autoconfigure.json  → 可以看自动配置文件中的值如何配置(name、描述、值的类型、来源、默认值)

  

自动配置生效是有条件的,用以下注解实现

@ConditionalOnXXX        → 在满足XXX的条件下生效

@ConditionalOnMissingXXX  → 在没有XXX的条件下生效

 

3、SB项目运行后的加载过程

 从运行启动类开始,上面有个注解

进入@SpringBootApplication注解里面,上面有个允许自动配置的注解 

点击进入注解,看到还有个注解,是个选择器,它是去选择自动配置类的字节码文件

 点击字节码文件,里面有个selectImports()方法,返回值就是所有自动配置类的全类名

 

 接着点击进到方法里面

这是真正加载全类名的方法,因为可能加载到重复的全类名,所以下面在做去重、排错

 这个是加载全类名方法内部的方法

 返回值是Map<String,List<String>>,说明加载的就是下面的配置文件

补充

1、在sb的配置文件输入key-value时,系统自带的配置会有提示,而我自己写的key-value没有

 可以通过以下方法让自己写的key也有提示(但是经常会失效)

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
</dependency>

导包

 

 或者在创建SB项目就配置好

 配置好后,重启IDEA,点击run程序

banner

 修改启动SB项目时控制台显示的图像 

1、先在网上找一个banner

https://www.cnblogs.com/yanyangxue2016/p/8963047.html

2、在src\main\resources下新建banner.txt的文件(现在可以用banner.png)

把网上找到banner复制粘贴进去

重启后就能看到图像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值