SpringBoot的核心注解

SpringBoot启动类与核心注解@SpringBootApplication

  SpringBoot的项目一般都会有注解==*Application.java==标注的入口类,入口类中会有一个main方法,main方法是一个标准的java应用程序的入口方法,可以直接启动

  @SpringBootApplication注解时SpringBoot的核心注解,用此注解标注的入口是应用启动类,通常会在启动类的main方法中通过 SpringApplication.run(App.class,args) 来启动SpringBoot应用

@SpringBootApplication注解的源码实现

@SpringBootApplication其实是一个组合注解,我们可以看下源代码

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Configuration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication {
    //此处省略
}
源码分析:

  前四个注解是元注解,用来修饰当前注解,就像public类的修饰词,无实际功能。后三个注解是真正起作用的注解
主要有三个核心的注解

(1)@Configuration
  该注解类标识这个类可使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象被注册为在Spring应用程序中上下文的bean

(2)@EnableAutoConfiguration
  启动自动配置,该注解会让SpringBoot根据当前项目锁依赖的jar包自动配置项目的相关配置项。

(3)@ComponentScan
  会自动扫描指定包下全部标有@Component的类,并注册成bean,当然包括@Component下的子注解:@Service,@Repository,@Controller;默认会扫描当前包和所有子包。

@SpringBoot配置
关闭某个自动配置

  通过上面讲的@SpringBootApplication下的@EnableAutoConfiguration可以知道,SpringBoot会根据项目中的jar包依赖,自动做出配置,SpringBoot支持部分自动配置,如下:

假如我们添加mybatis依赖,但是不想自动配置mybatis,想自己手动配置,通过查看@SpringBootApplication的源码可以看出,关闭特定的自动配置可以使用@SpringBootApplication下的exclude参数,如:

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

或者使用@EnableAutoConfiguration注解

@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
@EnableAutoConfiguration(excludeName = "com.java.service")

如果不配置以上将会报错:

java.lang.IllegalStateException: Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
自定义SpringBoot启动图案

SpringBoot默认的启动图案是这样的
在这里插入图片描述
如果想把这个团换成其它的可以访问这个网址 修改启动图案点这里

在这里插入图片描述
将复制的图案存到一个banner.txt的文件里,然后放到与application.properties同目录下就可以了
在这里插入图片描述
再次启动可以看到刚刚设置的图案
在这里插入图片描述

发布了184 篇原创文章 · 获赞 864 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/Woo_home/article/details/101981252
今日推荐