之前简单接触了一些Spring Boot ,并且写了一个简单的 Demo 。本文就来简单学习一下 Spring Boot 的基础配置。

一、Spring Boot 项目入口

  上文中有写到,Spring Boot 项目需要一个入口类,并且入口类要使用 @SpringBootApplication 注解,项目启动时回去找这个有这个注解的类的 main 方法并执行。

 /**
* 项目入口
*/
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}

  @SpringBootApplication 注解是一个组合注解,它是由 @SpringBootConfiguration 、@EnableAutoConfiguration 、 @ComponentScan 三个注解组合而成,所以 @SpringBootApplication注解可以被上面三个注解所替代。

 /**
* 项目入口
* @author wuyouxin
*
*/
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}

  @SpringBootConfiguration 注解的作用与@Configuration的作用一样,都是将此类标注为一个配置类,并且将当前类声明为一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,实例名为方法名。

  @EnableAutoConfiguration 注解为启用自动配置,该注解会使springBoot根据项目中依赖的jar包自动配置项目的配置项,如果我们在项目中添加了spring-boot-starter-web和springMVC的依赖,则会自动为我们配置tomcat和springMVC。  

  @ComponentScan注解则会扫描@SpringBootApplication注解类同级目录以及子目录。

、Spring Boot 关闭自动配置

  我们知道,springBoot项目会根据项目中的jar包依赖,会做许多自动配置,而这些配置非常多,有很多我们时不需要用到的,那么这些自动配置我们其实是可以关闭的。

  我们打开maven Dependencies 找到 spring-boot-autoconfigure,这个jar包下面的所有的包都是springBoot帮我们做了自动化配置的。

  假如我们现在不想让springBoot帮我们自动化配置cache和gson,我们就可以打开这两个包找到配置类,然后在我们的@SpringBootConfiguration注解中进行剔除。

  这样,springBoot就不会帮我们自动化配置cache和gson了。

、Spring Boot 自定义banner

  在springBoot启动时,我们会发现在控制台都会有一个图标,如下图:

  这个被我们称作banner,而这个banner我们是可以自定义的,我们将自己绘制好到字符串复制到txt文件中,将其放入resources目录下:

  上面方法就可以改变banner,大家可以根据自己随意设计,当然,这个banner也可以让它不显示。

/**
* 这里的SpringBootApplication 就是在指定一个Spring Boot 的应用
* @author Wuyouxin
*/
@SpringBootApplication(exclude = {CacheAutoConfiguration.class,
GsonAutoConfiguration.class})
public class App{
public static void main( String[] args ) {
//在Main方法中启动应用程序
//SpringApplication.run(App.class, args);
SpringApplication application = new SpringApplication(App.class);
application.setBannerMode(Mode.OFF);
application.run(args);
}
}

  上面的写法,就可以关闭banner的显示。

-------------------- END ---------------------

最后附上作者的微信公众号地址和博客地址

公众号:wuyouxin_gzh

Herrt灬凌夜:https://www.cnblogs.com/wuyx/

最新文章

  1. Masonry和FDTemplateLayoutCell 结合使用示例Demo
  2. PHP 正则表达式 基本规则
  3. ASP.NET Core: 全新的ASP.NET !
  4. 取出return array() 数组内容
  5. Ubuntu mysql
  6. 【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎
  7. UVA Knight Moves
  8. Js 旋转平滑特效
  9. Linux 字符集
  10. C/C++中经常使用的字符串处理函数和内存字符串函数
  11. JS赋值传递的问题
  12. IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示
  13. Java中Volatile的作用
  14. phpunit实践笔记
  15. xshell连接虚拟机Ubuntu问题
  16. Hibernate用注解生成表
  17. Mac 挂载树莓派nfs
  18. java源码--HashMap扩容机制学习
  19. ios测试宏指令出错:“Expected identefier”
  20. Nodejs AES加密

热门文章

  1. JS踩过的坑
  2. php 传递赋值和地址赋值 &
  3. APScheduler API -- apscheduler.triggers.interval
  4. 【算法学习】manacher
  5. python学习之argparse模块的使用
  6. python 之sqlite3库学习
  7. wordcount在本地运行报错解决:Exception in thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.native.NativeID$Windows.access
  8. HTML语义化(2016/3/16更新)
  9. js自定义鼠标右键菜单
  10. KVM和远程管理工具virt-manager