SpringBoot入门:Hello World
1.Open IDEA,choose "New-->Project"
2.Choose "Spring Initializr"
3. Choose java 1.8 version,then next
4. Choose "Web"
5. Fill out the project name,and choose the project location
6. 将".mvn mvnw mvnw.cmd"文件删掉
- .mvn 、mvnw、mvnw.cmd提供构建maven项目的所需文件,mvnw是运行mvn命令的winds脚本文件。其中mvnw是适合Linux平台的脚本文件。
- 当然还提供了gradle构建的文件,其中,build.gradle对应maven的pom.xml,gradlew对应mvnw等。我使用maven构建项目的所以gradle的文件就不考虑。
- 如果你本机安装了maven则直接使用mvn命令,不必理会其它文件,只需关注src和pom.xml就可以。
7.项目结构
整个项目结构遵循传统Maven或Gradle项目的布局,
即主要 应用程序代码位于src/main/java目录里,资源都在src/main/resources目录里,
测试代码则在 src/test/java目录里。此刻还没有测试资源,但如果有的话,要放在src/test/resources里。
SpringbootApplication.java:应用程序的启动引导类(bootstrap class),也是主要 的Spring配置类。
application.properties:用于配置应用程序和Spring Boot的属性。
SpringbootApplicationTests.java:一个基本的集成测试类。
8.controller
9.浏览器访问
10.SpringbootApplication.java作用
1. 启动引导Spring SpringbootApplication 在Spring Boot应用程序里有两个作用:配置和启动引导。首先, 这是主要的Spring配置类。虽然Spring Boot的自动配置免除了很多Spring配置,但你还需要进行少量配置来启用自动配置
@SpringBootApplication开启了Spring的组件扫描和Spring Boot的自动配置功能。
实际上,@SpringBootApplication将三个有用的注解组合在了一起。
Spring的@Configuration:标明该类使用Spring基于Java的配置。虽然本书不会写太多 配置,但我们会更倾向于使用基于Java而不是XML的配置。
Spring的@ComponentScan:启用组件扫描,这样你写的Web控制器类和其他组件才能被 自动发现并注册为Spring应用程序上下文里的Bean。本章稍后会写一个简单的Spring MVC 控制器,使用@Controller进行注解,这样组件扫描才能找到它。
Spring Boot 的 @EnableAutoConfiguration :这个不起眼的小注解也可以称为 @Abracadabra①,就是这一行配置开启了Spring Boot自动配置的魔力,让你不用再写成 篇的配置了。
在Spring Boot的早期版本中,你需要在ReadingListApplication类上同时标上这三个注 解,但从Spring Boot 1.2.0开始,有@SpringBootApplication就行了
SpringbootApplication还是一个启动引导类。要运行Spring Boot应用程序有几种方式,其中包含传统的WAR文件部署。但这里的main()方法让你可以在命令行里把该应用程序当作一个可执行JAR文件来运行。这里向SpringApplication.run()传递了一个 SpringbootApplication类的引用,还有命令行参数,通过这些东西启动应用程序
这里重点声明:
Spring Boot可以把Web应用程序变为可自执行的JAR文件,不用部署到传统Java应用服务器里就能在命令行里运行。Spring Boot 在应用程序里嵌入了一个Servlet容器(Tomcat、Jetty或Undertow),以此实现这一功能。但这是内嵌的Servlet容器提供的功能,不是Spring Boot实现的。
11.application.properties 配置应用程序属性
Initializr生成的application.properties文件是一个空文件。实际上,这个文件完全是可选的,大可以删掉它,这不会对应用程序有任何影响,但留着也没什么问题。
稍后,我们肯定有机会向application.properties里添加几个条目。但现在,如果想小试牛刀, 可以加一行看看: server.port=8000 加上这一行,嵌入式Tomcat的监听端口就变成了8000,而不是默认的8080。重新运行应用程序,看看是不是这样。
这说明application.properties文件可以很方便地帮你细粒度地调整Spring Boot的自动配置。还可以用它来指定应用程序代码所需的配置项。 要注意的是,你完全不用告诉Spring Boot为你加载application.properties,只要它存在就会被加载,Spring和应用程序代码都能获取其中的属性。
有一点需要注意:如果你在同一优先级位置同时有application.properties和application.yml,那么application. yml里的属性会覆盖application.properties里的属性(Spring Boot实战如此描述,但实测发现当同时存在时,那application.yml 只是个摆设。yml文件的好处,天然的树状结构)。
SpringBoot入门:Hello World的更多相关文章
- SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1
在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...
- SpringBoot入门基础
目录 SpringBoot入门 (一) HelloWorld. 2 一 什么是springboot 1 二 入门实例... 1 SpringBoot入门 (二) 属性文件读取... 16 一 自定义属 ...
- SpringBoot入门示例
SpringBoot入门Demo SpringBoot可以说是Spring的简化版.配置简单.使用方便.主要有以下几种特点: 创建独立的Spring应用程序 嵌入的Tomcat,无需部署WAR文件 简 ...
- Spring全家桶系列–[SpringBoot入门到跑路]
//本文作者:cuifuan Spring全家桶————[SpringBoot入门到跑路] 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻,这也是为什么 ...
- springboot入门之一:环境搭建(续)
在上篇博客中从springboot的入门到运行一个springboot项目进行了简单讲述,详情请查看“springboot入门之一”.下面继续对springboot做讲述. 开发springboot测 ...
- 【Java】SpringBoot入门学习及基本使用
SpringBoot入门及基本使用 SpringBoot的介绍我就不多说了,核心的就是"约定大于配置",接下来直接上干货吧! 本文的实例: github-LPCloud,欢迎sta ...
- SpringBoot入门(三)——入口类解析
本文来自网易云社区 上一篇介绍了起步依赖,这篇我们先来看下SpringBoot项目是如何启动的. 入口类 再次观察工程的Maven配置文件,可以看到工程的默认打包方式是jar格式的. <pack ...
- SpringBoot入门(五)——自定义配置
本文来自网易云社区 大部分比萨店也提供某种形式的自动配置.你可以点荤比萨.素比萨.香辣意大利比萨,或者是自动配置比萨中的极品--至尊比萨.在下单时,你并没有指定具体的辅料,你所点的比萨种类决定了所用的 ...
- SpringBoot入门(四)——自动配置
本文来自网易云社区 SpringBoot之所以能够快速构建项目,得益于它的2个新特性,一个是起步依赖前面已经介绍过,另外一个则是自动配置.起步依赖用于降低项目依赖的复杂度,自动配置负责减少人工配置的工 ...
- SpringBoot入门(二)——起步依赖
本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...
随机推荐
- Spring注入对象(3)
2019-03-08/10:45:04 演示:对Product对象,注入一个Category对象 1.创建pojo类 Product类中有对Category对象的setter getter packa ...
- Spring boot项目maven的profile多环境配置不自动替换变量的问题解决
Spring boot项目maven的profile多环境配置不自动替换变量的问题解决 在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...
- 基于hadoop分析,了解hive的使用
一.Hadoop理论 Hadoop是一个专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式. Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce ...
- C语言经典算法 - 多维矩阵转一维矩阵的代码
下边内容内容是关于C语言经典算法 - 多维矩阵转一维矩阵的内容,应该能对码农也有好处. #include <stdio.h>#include <stdlib.h>int mai ...
- DEDE整站动态/静态转换
方法一:使用DEDE后台的SQL命令行工具 入口:织梦后台-系统-SQL命令行工具 DEDE整站动态化 将所有栏目设置为“使用动态页”: 将所有文档设置为“仅动态”: DEDE整站静态化 将所有栏目设 ...
- DVWA 黑客攻防演练(十一) 存储型 XSS 攻击 Stored Cross Site Scripting
上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码 ...
- 一款回到顶部的 jQuery 插件,支持 Div 中的滚动条回到顶部
前言 今天在网上搜索“回到顶部”的 jQuery 插件,网上有很多,但是大部分都不支持让 Div 中的滚动条回到顶部.于是乎,不放弃,自己参考 Github 上的一个 jQuery 插件,经过自己的修 ...
- 016_python程序变量抽取配置的几种方式
一.json配置文件 json文件的互转,如下例子: 配置文件:example.json { "mysql":{ "host":"localhost& ...
- Effective C++ 第0章 copy constructor和copy assignment operator
拷贝构造函数(copy constructor)被用来以一个对象来初始化同类型的另一个对象,拷贝赋值运算符(copy assignment operator)被用来将一个对象中的值拷贝到同类型的另一个 ...
- hbuilder IOS APP 打包与发布
---恢复内容开始--- 准备:苹果开发者账号,一个Mac系统 没有账号可以再这里注册 https://developer.apple.com/ 因为账号是公司的,自己并没有注册过,这里就不进行阐述了 ...