您的位置:首页 > 编程语言 > Java开发

Spring Boot 核心注解与配置文件

2017-12-04 09:31 776 查看
入口类与@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"})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot