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的更多相关文章

  1. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  2. SpringBoot入门基础

    目录 SpringBoot入门 (一) HelloWorld. 2 一 什么是springboot 1 二 入门实例... 1 SpringBoot入门 (二) 属性文件读取... 16 一 自定义属 ...

  3. SpringBoot入门示例

    SpringBoot入门Demo SpringBoot可以说是Spring的简化版.配置简单.使用方便.主要有以下几种特点: 创建独立的Spring应用程序 嵌入的Tomcat,无需部署WAR文件 简 ...

  4. Spring全家桶系列–[SpringBoot入门到跑路]

    //本文作者:cuifuan Spring全家桶————[SpringBoot入门到跑路] 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻,这也是为什么 ...

  5. springboot入门之一:环境搭建(续)

    在上篇博客中从springboot的入门到运行一个springboot项目进行了简单讲述,详情请查看“springboot入门之一”.下面继续对springboot做讲述. 开发springboot测 ...

  6. 【Java】SpringBoot入门学习及基本使用

    SpringBoot入门及基本使用 SpringBoot的介绍我就不多说了,核心的就是"约定大于配置",接下来直接上干货吧! 本文的实例: github-LPCloud,欢迎sta ...

  7. SpringBoot入门(三)——入口类解析

    本文来自网易云社区 上一篇介绍了起步依赖,这篇我们先来看下SpringBoot项目是如何启动的. 入口类 再次观察工程的Maven配置文件,可以看到工程的默认打包方式是jar格式的. <pack ...

  8. SpringBoot入门(五)——自定义配置

    本文来自网易云社区 大部分比萨店也提供某种形式的自动配置.你可以点荤比萨.素比萨.香辣意大利比萨,或者是自动配置比萨中的极品--至尊比萨.在下单时,你并没有指定具体的辅料,你所点的比萨种类决定了所用的 ...

  9. SpringBoot入门(四)——自动配置

    本文来自网易云社区 SpringBoot之所以能够快速构建项目,得益于它的2个新特性,一个是起步依赖前面已经介绍过,另外一个则是自动配置.起步依赖用于降低项目依赖的复杂度,自动配置负责减少人工配置的工 ...

  10. SpringBoot入门(二)——起步依赖

    本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...

随机推荐

  1. 解决select2 在modal中搜索框无效的问题

    $.fn.modal.Constructor.prototype.enforceFocus = function() {};

  2. 第十课html5 新增标签及属性 html5学习5

    一.常用新增标签 1.header:定义页面的页眉头部 2.nav:定义导航栏 3.footer:定义页面底部,页脚 4.article:定义文章 5.section:定义区域 6.aside:定义侧 ...

  3. <3>Centos系统完整安装python流程

    一.环境 系统:Centos7 Python:3.6.5  自带pip.setuptools 二.命令 介绍:因为yum是依赖于python2,所以千万别删除自带的python2,下面的方法就是py2 ...

  4. 从PM到非洲酋长,得人心者得天下

    说正事之前,先唠10块钱儿的…… 偶然看到房一波的故事,这个PM了不得了! 房兄是山东电建三公司,派驻到尼日利亚建设燃机电站的PM.本来在非洲,这种“万丈高楼平地起”的项目是很好干的,可是房兄却遭遇了 ...

  5. Java文件上传之SpringMVC实例

    一.配置文件 web.xml <?xml version="1.0" encoding="UTF-8"?><web-app version=& ...

  6. 快速排序实现及其pivot的选取

    coursera上斯坦福的算法专项在讲到快速排序时,称其为最优雅的算法之一.快速排序确实是一种比较有效的排序算法,很多类库中也都采用了这种排序算法,其最坏时间复杂度为$O(n^2)$,平均时间复杂度为 ...

  7. 使用Server Trigger保护重要的数据库对象

    一 .Server Trigger的简单介绍 在SQL Server数据库中,Server Trigger 是一种特殊类型的存储过程,它可以对特定表.视图或存储中的必然事件自动响应,不由用户调用.创建 ...

  8. “尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。”

    远程连接服务器的数据库调试WCF程序时,可以正常访问数据库,但将程序发布成站点部署在数据库所在的服务器之后,一直报错,通过try/catch捕获得到以下报错信息: System.Exception: ...

  9. 自己实现一个nullptr

    一 具体实现 代码(c++) const class nullptr_t { public: template<class T> inline operator T*() const { ...

  10. jquery字符串操作

    目的:把自己常用到的jquery操作字符串总结一下 w3cSchool关于js字符串的整理:有需要的时候可以查 http://www.w3school.com.cn/js/jsref_obj_stri ...