004-Spring boot 快速入门-项目搭建与启动、SpringBootApplication、启动图标
一、官方地址
Spring:http://spring.io/
Spring Project:http://spring.io/projects
Spring boot:https://projects.spring.io/spring-boot/
帮助文档:https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/
二、项目搭建
方式一、项目搭建继承父pom方式【不推荐】
1)新建maven项目→使用默认配置即可
定义好项目名称等
这里packaging必须选择jar而不是war,spring boot项目最终会打成一个jar包而不是war包
2)修改jdk版本
<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>
View Code
3)增加父pom引入
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent>
在pom的dependencies增加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
4)增加启动类
@SpringBootApplication public class App {@Beanpublic Runnable createRunnable() {return () -> {System.out.println("spring boot is running");};}public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(App.class, args);context.getBean(Runnable.class).run();System.out.println(context.getBean(User.class));} }
View Code
方式二、使用spring-boot-dependencies【推荐】
第一步、第二步、第四步同方式一
3)增加spring-boot-dependencies
<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.9.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
在pom的dependencies增加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
注意:一般dependency不需要配置版本因为在dependencyManagement已经默认了版本
三、浅析
1、SpringBootApplication
@SpringBootApplication是spring boot最重要的一个注解,用于快捷配置启动类
默认扫描包的路径是当前包下面的所有路径,可以通过修改scanBasePackages修改扫描路径
exclude:排除
excludeName:根据类名排除
2、三个关键的注解
在注解@SpringBootApplication,上有三个关键的注解
@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@ComponentScan:用注解配置实现自动扫描,默认会扫描当前包和所有子包,和xml配置自动扫描效果一样,@Filter是排除了两个系统类
@EnableAutoConfiguration:实现自动配置
@SpringBootConfiguration:同spring中的@Configuration几乎一致,标记当前类是一个配置类,就像xml配置文件,而现在是用java配置文件,效果是一样的
@Bean:就是在spring配置文件中声明了一个bean,同xml一致。
一般项目结构,共三个文件,启动类、配置类、业务类
注意:如果示例比较简单可以直接使用ComponentScan注解即可。没有用到enable特性
@ComponentScan public class App2 {@Beanpublic Runnable createRunnable() {return () -> {System.out.println("spring boot is running");};}public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(App2.class, args);context.getBean(Runnable.class).run();System.out.println(context.getBean(User.class));} }
View Code
3、启动
方法一、SpringApplication.run(App2.class, args);
这里默认会将第一个参数的类默认变为配置类@Configuration
@ComponentScan public class App2 {@Beanpublic Runnable createRunnable() {return () -> {System.out.println("spring boot is running");};}public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(App2.class, args);context.getBean(Runnable.class).run();System.out.println(context.getBean(User.class));} }
View Code
方法二、
@ComponentScan public class App3 {@Beanpublic Runnable createRunnable() {return () -> {System.out.println("spring boot is running");};}public static void main(String[] args) {// SpringApplication app = new SpringApplication(App3.class);SpringApplication app = new SpringApplication();Set<Object> sets = new HashSet<>();sets.add(App3.class);app.setSources(sets);ConfigurableApplicationContext context = app.run(App3.class, args);context.getBean(Runnable.class).run();System.out.println(context.getBean(User.class));} }
View Code
四、启动时候Spring图标控制
1.关闭
application.setBannerMode(Banner.Mode.OFF);
2.改变启动样式文本
默认:在classpath下增加banner.txt文件
短歌行 作者:曹操 对酒当歌,人生几何! 譬如朝露,去日苦多。 慨当以慷,忧思难忘。 何以解忧?唯有杜康。 青青子衿,悠悠我心。 但为君故,沉吟至今。 呦呦鹿鸣,食野之苹。 我有嘉宾,鼓瑟吹笙。 明明如月,何时可掇? 忧从中来,不可断绝。 越陌度阡,枉用相存。 契阔谈,心念旧恩。 月明星稀,乌鹊南飞。 绕树三匝,何枝可依? 山不厌高,海不厌深。 周公吐哺,天下归心。
View Code
即可。前提是不关闭。
自定义:也可以在application.properties中修改文件路径以及编码,默认是utf-8
banner.location=mybanner.txt banner.charset=GBK
3.改变启动样式文件格式图片
springboot支持图片的banner,将图片放置在classpath,图片格式jpg、png、gif
默认:名称是banner.jpg或其他格式
自定义:也可以在application.properties中修改文件路径
banner.image.location=my.jpg
004-Spring boot 快速入门-项目搭建与启动、SpringBootApplication、启动图标相关推荐
- 视频教程-Spring boot快速入门-Java
Spring boot快速入门 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...
- spring boot 快速入门
文章来源:https://www.cnblogs.com/junyang/p/8151802.html spring boot入门 -- 介绍和第一个例子 "越来越多的企业选择使用sprin ...
- 【720开发】 spring boot 快速入门
spring boot 快速入门 通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单.易用特性. 环境要求 Spring Boot 2.0.0.BUILD-SNAPSHO ...
- spring boot微服务项目搭建
第一章 SpringBoot介绍 1 简介 Spring Boot是一个便捷搭建基于spring工程的脚手架:作用是帮助开发人员快速搭建大型的spring 项目.简化工程的配置和依赖管理:开发人员把时 ...
- 芋道 Spring Boot 快速入门
点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 RP ...
- Spring Boot快速入门(尚硅谷笔记)
一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...
- Spring boot快速入门:https://spring.io/quickstart网址翻译
Spring boot快速入门官网:https://spring.io/quickstart 翻译: What you'll build You will build a classic " ...
- 【转】Spring Boot快速入门
为什么80%的码农都做不了架构师?>>> 简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复 ...
- boot入门思想 spring_什么是Spring boot?Spring Boot快速入门以及Spring Boot实例教程
转自:http://www.jianshu.com/p/d24bceea7665 简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候, ...
最新文章
- SharePoint 2007 系列(4) -Site Settings
- 程序员趣味读物:谈谈Unicode编码
- mysql数据库的字符串表示什么意思_MySQL数据库的字符串类型详解(01)
- Funtion:POPUP_TO_DECIDE_LIST
- java继承覆盖总结
- 统计学习方法第三章作业:一般k邻近、平衡kd树构造、kd树邻近搜索算法代码实现
- 《梦断代码》读书笔记
- Nuget多项目批量打包上传服务器的简明教程
- 交通安全与智能控制专业学计算机吗,交通安全与智能控制专业主要做什么
- 直方图均衡化计算过程步骤
- 淮北计算机考试报名,淮北2019年12月计算机等级考试报名入口/注意事项
- 25张图让你读懂神经网络架构
- java课程设计报告_JAVA课程设计报告_完整版.doc
- 计算机是如何执行代码的?
- word一键生成ppt 分页_一键实现Word转PPT的三种方法评测
- this command with --force, or --legacy-peer-deps
- java界面加入图片_JAVA界面设计怎么插入背景图片。
- RTX3070深度学习环境配置
- windows下如何使用配置七牛qshell命令工具
- LINUX IIO子系统分析之五IIO BUFFER子模块实现分析
热门文章
- python处理信号机制_Python的Flask框架中的signals信号机制
- mysql解释的type_mysql explain 的type解释
- python语言编写的modbus协议_RTU Modbus从机的python脚本
- pythonfor循环案例教程_python开发之for循环操作实例详解,pythonfor实例详解
- dropout的原理
- celeba数据集_Kaggle最新秃头数据集Bald!含20万张图片,江湖传言刷到第一可防脱发()quot;...
- 易语言 设置屏幕刷新率 源码_一块好的手机屏幕应具备什么条件?现在了解还不晚...
- 信息系统项目管理师需要准备多久?备考技巧分享
- JAVA语言中的反射机制
- Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件