一、官方地址

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、启动图标相关推荐

  1. 视频教程-Spring boot快速入门-Java

    Spring boot快速入门 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...

  2. spring boot 快速入门

    文章来源:https://www.cnblogs.com/junyang/p/8151802.html spring boot入门 -- 介绍和第一个例子 "越来越多的企业选择使用sprin ...

  3. 【720开发】 spring boot 快速入门

    spring boot 快速入门 通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单.易用特性. 环境要求 Spring Boot 2.0.0.BUILD-SNAPSHO ...

  4. spring boot微服务项目搭建

    第一章 SpringBoot介绍 1 简介 Spring Boot是一个便捷搭建基于spring工程的脚手架:作用是帮助开发人员快速搭建大型的spring 项目.简化工程的配置和依赖管理:开发人员把时 ...

  5. 芋道 Spring Boot 快速入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  6. Spring Boot快速入门(尚硅谷笔记)

    一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...

  7. Spring boot快速入门:https://spring.io/quickstart网址翻译

    Spring boot快速入门官网:https://spring.io/quickstart 翻译: What you'll build You will build a classic " ...

  8. 【转】Spring Boot快速入门

    为什么80%的码农都做不了架构师?>>>    简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复 ...

  9. boot入门思想 spring_什么是Spring boot?Spring Boot快速入门以及Spring Boot实例教程

    转自:http://www.jianshu.com/p/d24bceea7665 简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候, ...

最新文章

  1. SharePoint 2007 系列(4) -Site Settings
  2. 程序员趣味读物:谈谈Unicode编码
  3. mysql数据库的字符串表示什么意思_MySQL数据库的字符串类型详解(01)
  4. Funtion:POPUP_TO_DECIDE_LIST
  5. java继承覆盖总结
  6. 统计学习方法第三章作业:一般k邻近、平衡kd树构造、kd树邻近搜索算法代码实现
  7. 《梦断代码》读书笔记
  8. Nuget多项目批量打包上传服务器的简明教程
  9. 交通安全与智能控制专业学计算机吗,交通安全与智能控制专业主要做什么
  10. 直方图均衡化计算过程步骤
  11. 淮北计算机考试报名,淮北2019年12月计算机等级考试报名入口/注意事项
  12. 25张图让你读懂神经网络架构
  13. java课程设计报告_JAVA课程设计报告_完整版.doc
  14. 计算机是如何执行代码的?
  15. word一键生成ppt 分页_一键实现Word转PPT的三种方法评测
  16. this command with --force, or --legacy-peer-deps
  17. java界面加入图片_JAVA界面设计怎么插入背景图片。
  18. RTX3070深度学习环境配置
  19. windows下如何使用配置七牛qshell命令工具
  20. LINUX IIO子系统分析之五IIO BUFFER子模块实现分析

热门文章

  1. python处理信号机制_Python的Flask框架中的signals信号机制
  2. mysql解释的type_mysql explain 的type解释
  3. python语言编写的modbus协议_RTU Modbus从机的python脚本
  4. pythonfor循环案例教程_python开发之for循环操作实例详解,pythonfor实例详解
  5. dropout的原理
  6. celeba数据集_Kaggle最新秃头数据集Bald!含20万张图片,江湖传言刷到第一可防脱发()quot;...
  7. 易语言 设置屏幕刷新率 源码_一块好的手机屏幕应具备什么条件?现在了解还不晚...
  8. 信息系统项目管理师需要准备多久?备考技巧分享
  9. JAVA语言中的反射机制
  10. Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件