• A+

Spring Boot 核心注解与配置文件

一、入口类与@SpringBootApplication 注解
Spring Boot项目都会有一个*Application 类,这个类作为Spring Boot 项目的入口类,在这个入口类中有main 方法,如果我们想要运行该项目,可以在该入口类中run 我们的项目。

@SpringBootApplication 注解是Spring Boot 的核心注解,查看源码后,你就会发现它其实是一个组合注解。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })


我们主要了解下面三个关于Spring Boot 的注解:

@SpringBootConfiguration:这是Spring Boot 项目的相关配置注解,其实它也是一个组合注解。
@EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,并且Spring Boot会自动配置tomcat 和SpringMVC。
@ComponentScan:默认扫描@SpringBootApplication 所在类的同级目录以及它的子目录。
二、关闭自动配置
在默认的情况下,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持的自动配置非常多。如果我们想要关闭一些自动配置的话,我们可以通过手动修改核心注解配置我们不想要自动配置的jar 包。比如(但是一般我们不这么做):

@SpringBootApplication(exclude = {DispatcherServlet.class})


三、自定义Banner
在我们启动Spring Boot 项目的时候会在控制台输出一个SPRING 的图案。我们可以对这个图案做出修改也可以关闭输出图案。

自定义图案链接~可以通过这个链接自定义你想要输出的图案,然后把你想要自定义的图案拷贝出来,将该文件命名为banner.txt 放到resources 目录中。当我们再次启动项目的时候就会发现控制台输出的图案发生了变化。

当然我们也可以关闭控制台输出团案:我们只要修改入口类中的main 方法中的代码即可

public static void main(String[] args) {
//SpringApplication.run(SpringbootTestApplication.class, args);
SpringApplication application = new SpringApplication(SpringbootTestApplication.class);
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
}


四、Spring Boot 全局配置文件
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。在这个配置文件中你可以做一些服务器与Spring 的相关配置以及日志打印等等(在这个配置文件中可以作大量的配置)。比如下面我修改了DispatcherServlet 的规则为*.acrion,当我在想要访问控制器中的”hello”时,必须要访问”hello.action”:

五、Xml 配置文件
虽然Spring Boot 已经为我们做了很多的配置,但是如果在相关的项目中你仍然需要xml 文件做一些额外的配置,那么Spring Boot 也是支持的。你可以在入口类通过@ImportResource 进行xml 配置文件的导入并且支持对多个xml 文件的配置。

@ImportResource({"classpath:*.xml","classpath:**.xml"})

 


注意:本文归作者所有,未经作者允许,不得转载
所属分类:问答

全部评论: 0

    我有话说:
    ×