Spring Boot 基础配置
之前简单接触了一些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/
最新文章
- Masonry和FDTemplateLayoutCell 结合使用示例Demo
- PHP 正则表达式 基本规则
- ASP.NET Core: 全新的ASP.NET !
- 取出return array() 数组内容
- Ubuntu mysql
- 【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎
- UVA Knight Moves
- Js 旋转平滑特效
- Linux 字符集
- C/C++中经常使用的字符串处理函数和内存字符串函数
- JS赋值传递的问题
- IOS 表视图(UITableVIew)的使用方法(2)名单的分段显示
- Java中Volatile的作用
- phpunit实践笔记
- xshell连接虚拟机Ubuntu问题
- Hibernate用注解生成表
- Mac 挂载树莓派nfs
- java源码--HashMap扩容机制学习
- ios测试宏指令出错:“Expected identefier”
- Nodejs AES加密
热门文章
- JS踩过的坑
- php 传递赋值和地址赋值 &;
- APScheduler API -- apscheduler.triggers.interval
- 【算法学习】manacher
- python学习之argparse模块的使用
- python 之sqlite3库学习
- wordcount在本地运行报错解决:Exception in thread ";main"; java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.native.NativeID$Windows.access
- HTML语义化(2016/3/16更新)
- js自定义鼠标右键菜单
- KVM和远程管理工具virt-manager