Spring Boot这两年的发展迅速,很多公司都在用,社区也越来越活越。本人也是基于此框架开发了几个项目,特和各位广大同行分享一下自己的心得体会。

Spring Boot基于约束大于配置,开箱即用,不用很多的xml配置,可以快速启动开发一个项目。在以往基于Spring开发的项目中,会用到很多繁琐的XML配置,做配置都要花很久时间,耗费很多精力。

Spring Boot应用程序与其Spring生态系统(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。它提供嵌入式HTTP服务器,如Tomcat,Jetty等,以开发和测试Web应用程序非常容易。

它提供CLI(命令行界面)工具从命令提示符,非常容易和快速地开发和测试Spring Boot(Java或Groovy)应用程序。它提供了许多插件,以便与嵌入式和内存数据库工作非常容易。

它提供了许多插件来开发和测试Spring启动应用程序非常容易使用构建工具,如Maven和Gradle。

当然了把以前的项目Spring项目转换成Spring boot项目几乎是不可能的,个人建议仅适合新项目的开发。

那我们首先了解一下Spring Boot启动过程。

首先创建一个Maven项目,pom.xml文件加上

在包含启动public static void main( String[] args )文件加上@SpringBootApplication 然后再main函数里加上SpringApplication.run(App.class, args);

启动 有时候会出现端口被占用,这时候在src/main.resources文件下创建resource.yml或者resource.properties文件,个人觉得resource.yml比较好用,今后的项目我就用resource.yml,设置端口号9000,如下

写个请求,类似于如下,切记App.class所在的包,一定是在其他包的主目录

启动后,如下图,就表示启动成功

在浏览器输入http://localhost:9000/hello?name=jim 返回json字符串,证明请求成功。

打开主入口的注解@SpringBootApplication,你会发现发现有三个注解:

@EnableAutoConfiguration:SpringBoot根据应用所声明的依赖来对Spring框架进行自动配置;

@SpringBootConfiguration(内部为@Configuration):被标注的类等于在spring的XML配置文件中(applicationContext.xml),装配所有bean事务,提供了一个spring的上下文环境;

@ComponentScan:组件扫描,可自动发现和装配Bean,默认扫描SpringApplication的run方法里的App.class所在的包路径下文件,所以将该启动类放到根包路径下;

用main方法里的runSpringApplication.run() 启动程序,你会发现没有一个xml配置,就可以启动一个java程序。

每次编译的时候都要启动程序,是非常麻烦的,辛亏spring-boot做了一个包,spring-devtool,加上去,重新启动,每次修改代码,就不需要反复启动了。

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

SpringBoot1-创建SpringBoot项目的更多相关文章

  1. SpringBoot-(1)-IDEA创建SpringBoot项目并运行访问接口

    一,安装IDEA mac安装IDEA IDEA配置Tomcat 二,创建SpringBoot项目 1,打开IDEA,点击Create New Project 2,选择自己所安装的JDK.如果没有配置J ...

  2. SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、属性配置、多环境配置

    1 InteliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到官 ...

  3. eclipse 创建springboot项目

    eclipse创建springboot项目的三种方法: 引自:https://blog.csdn.net/mousede/article/details/81285693

  4. 使用spring initialization创建SpringBoot项目

    https://blog.csdn.net/liutong123987/article/details/79385513 有很多方法可以快速创建Springboot项目,可以通过idea的spring ...

  5. 使用idea创建springboot项目并打成war包发布到weblogic上

    部署tomcat也是类似的,但是需要注意项目配置的路径,或者直接将项目放到webapp的ROOT目录下. 使用工具:intelliJ IDEA2016.3, jdk1.8 ,weblogic12 一 ...

  6. SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、yml属性配置、多环境配置、自定义properties配置

    1 IntelliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到 ...

  7. 2springboot:快速创建springboot项目

    使用IDEA快速创建springboot项目流程: 创建新的项目选择 项目的命名以及包名 需要什么包就导入什么包 进行测试的单元 <dependency> <groupId>o ...

  8. 怎么创建SpringBoot项目

    上述中讲到了怎么创建SpringBoot项目,那么现在就来介绍下SpringBoot配置文件的两种格式yml和properties 首先呢发上一份application.properties 在放上一 ...

  9. Spring-boot(一)通过向导快速创建Spring-boot项目

    通过向导快速创建Spring-boot项目 创建步骤: 选择Spring Initializr 填写组织和模块名 选择对应的模块 注:这里左侧的模块比较多,玩家可以根据自己的实际需要自由选择,此处暂时 ...

  10. eclipse下载SpringBoot插件及创建SpringBoot项目

    一.eclipse在线下载SpringBoot插件 1.help->eclipse marketplace->popular-选择spring tool suite(STS)进行下载 ​ ...

随机推荐

  1. GET 和 POST 请求的优缺点和误区

    Get和Post在面试中一般都会问到,一般的区别:(1)post更安全(不会作为url的一部分,不会被缓存.保存在服务器日志.以及浏览器浏览记录中)(2)post发送的数据更大(get有url长度限制 ...

  2. csv文件读写处理

    csv文件读写处理   1.读取 第一种:   import csv with open("route.csv","r") as f: #reader是一个迭代 ...

  3. JAVA如何request没有参数的post提交

    过去做网页的时候 post过来的值都是带参的 我就request.getParameter("")来获取 现在过来的不带参 就一串字符串 我应该怎么获取? //用获取数据流的方式, ...

  4. CSS3-3

    关于背景 一. 渐变&径向渐变(background-image: -webkit-linear-gradient() && background-image: -webkit ...

  5. [CodeChef-CAPTCITI]Snakes capturing the Mongoose Cities

    Problem 每个点都可以选择降落士兵,然后当一个点的子节点被攻占的数量超过读入中的限制后,这个城市也被占领. 每个点降落士兵都有一定的代价,问把这一个图全部攻占的最小代价. Solution 这显 ...

  6. 面向对象DAO模式

    DAO模式编写数据访问层代码步骤? 1.  接口 增.删.改.查的方法 方法的返回类型为泛型集合 Int rows=select语句的条数 If(rows>0) 方法的返回类型为泛型集合 If( ...

  7. java第二次笔记

  8. [Oracle][DATAGUARD]关于REDO_TRANSPORT_USER参数

    大家可能已经知道,在Oracle的DATAGUARD(这里指的是PHYSICAL STANDBY)环境中,Primary端会把生成的REDO传到Standby端,然后由Standby端的MRP进程应用 ...

  9. python-原始字符串,长字符串

    一  长字符串 在python中要表示跨行多行的字符串,可以使用较为简单粗暴的表达-----三引号.例如: str = ”’那时我们有梦, 关于文学, 关于爱情, 关于穿越世界的旅行. 如今我们深夜饮 ...

  10. apex透视自瞄无后子弹追踪飞天加速辅助

    apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助 ...