一、SpringBoot 入门简介

整体讲解内容概况:

1.1 简介

简化Spring应用开发的一个框架;

整个Spring技术栈的一个大整合;

J2EE开发的一站式解决方案。

Spring Boot通过整合Spring整个技术栈,来简化企业级应用的开发。

Spring Boot自动配置。

优点:

1.2 微服务

微服务:架构风格

一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;

单体应用:ALL IN ONE

微服务:每一个功能元素最终都是一个可独立替换、可独立升级的微化单元。

详细参照微服务文档https://blog.csdn.net/jason_wang1989/article/details/88321698

1.3 Spring Boot HelloWorld

一个功能:

浏览器发送hello请求,服务器接受请求并处理,响应HelloWorld字符串。

1、 创建一个Maven工程:

选择Maven工程,选择jdk1.8,创建后点击右下角的Enable Import Changes。

2、 导入Spring Boot相关依赖

3、编写一个主程序:启动Spring Boot 应用

 package com.ckh;
 ​
 /*
 * @SpringBootApplication来标注这是一个主程序类,说明这是一个SpringBoot应用
 * */
 @SpringBootApplication
 public class SpringBootApplication {
     public static void main(String[] args) {
         //spring 应用启动起来
         SpringApplication.run(SpringBootApplication,args);
    }
 }
 ​

4、编写相关的Controller、Service

 package com.ckh.controller;
 ​
 @Controller
 public class HelloController {
     
     @ResponseBody
     @RequestMapping("/hello")
     public String hello(){
         return "Hello World!";
    }
 }
 ​

5、运行主程序测试

6、简化部署

     <!--这个插件可以将应用打包成一个可执行的jar包-->
     <build>
         <plugins>
             <plugin>
                 <groupId>org.spring.framework.boot</groupId>
                 <artifactId>spring-boot-maven-project</artifactId>
             </plugin>
         </plugins>
     </build>

点package即可打包成jar包,保存到target中。

进入jar包目录,执行java -jar命令。

1.4 Hello World探究

1、POM文件

1、父项目

     <parent>
         <groupId>org.spring.framework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>1.5.9 RELEASE</version>
     </parent>

Spring Boot 的版本仲裁中心;

以后我们导入依赖,默认是不需要写版本的;(没有在dependencies中管理的依赖自然要写上相应的版本)

2、启动器

         <dependency>
             <groupId>org.spring.framework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>

spring-boot-starter-web:

spring-boot-starter: spring-boot场景启动器;帮我们导入了web模块正常运行所需要的组件;

Spring Boot 将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入相关的依赖,要用什么功能就只需要导入相应的启动器依赖。

2、主程序类、主入口类

 package com.ckh;
 ​
 /*
 * @SpringBootApplication来标注这是一个主程序类,说明这是一个SpringBoot应用
 * */
 @SpringBootApplication
 public class SpringBootApplication {
     public static void main(String[] args) {
         //spring 应用启动起来
         SpringApplication.run(SpringBootApplication.class,args);
    }
 }
 ​

@SpringBootApplication注解:表明该类为主程序类,是整个应用的入口类,运行其中的main方法,将应用启动起来。

点开,发现这是一个组合注解:

@SpringBootConfiguration: Spring boot 的配置类;

标注在某个类上,表示这是一个Spring boot的配置类;

@Configuration:配置类上来标注这个注解;

配置类---配置文件;配置类也是容器中的组件

@EnableAutoConfiguration:开启自动配置功能;

点开如下:

@AutoConfigurationPackage:自动配置包

@Import(AutoConfigurationPackage.Registrar.class);

Spring 的底层注解@import,给容器中导入一个组件;导入的组件由

AutoConfigurationPackage.Registrar.class决定。

将主配置类(@SpringBootApplication标注的类)所在包下面的所有子包里面的所有子类扫描到Spring容器中。

@Import(EnableAutoConfigurationImportSelector.class)

给容器导入组件:

EnableAutoConfigurationImportSelector.class:自动配置导入包的选择器

将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中。

会给容器中导入非常多的自动配置类:就是给容器中导入这个场景需要的所有组件,并配置好这些组件。

1.5 使用Spring Initializer快速地创建SpringBoot项目

1、初始项目的步骤

IDEA都支持使用Spring创建向导快速地创建一个springboot项目。

注意!!使用向导创建一定要连上网!!

1、New Project,点击Spring Initializer,选择jdk的版本。

2、填写包名、和项目名。

注意我这里包名里的“helloWorld”写错了,不能有大写字母!!

3、这里都默认就好,点击Finish即可。

4、创建完成后,右下角会弹出一个小框,点击Enable Auto-Import,以后pom.xml文件修改时就会自动地导入依赖。

如果没有出现这个小框框,那么右键点击pom.xml文件-->Maven-->Reimport.

至此,一个初始版本地SpringBoot项目创建好了。

5、点击主程序,启动运行:

6、打开控制台窗口,若出现这两行表示运行成功:

2、编写Controller层

首先,在主程序类的包下,新建一个package--controller,再创建一个类---HelloController。

 package com.ckh.springboot01helloworldquick.controller;
 ​
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 ​
 @Controller
 public class HelloController {
 ​
     /*
     * @ResponseBody注解:表示该方法return的内容直接返回给浏览器
     * @RequestMapping("/hello")注解:表示该方法接收浏览器“/hello”的请求
     * */
     @ResponseBody
     @RequestMapping("/hello")
     public String hello(){
         return "Hello,World!";
    }
     //RESTAPI的方式
 }
 ​

还可以有另一种写法:

 package com.ckh.springboot01helloworldquick.controller;
 ​
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 ​
 /*
  * 在类上面加@ResponseBody注解,表示整个类中方法的返回值都写回浏览器中。
  * @RestController = @ResponseBody + @Controller
  **/
 ​
 //@ResponseBody
 //@Controller
 @RestController
 public class HelloController {
 ​
     /*
     * @RequestMapping("/hello")注解:表示该方法接收浏览器“/hello”的请求
     * */
     
     @RequestMapping("/hello")
     public String hello(){
         return "Hello,World!";
    }
     //RESTAPI的方式
 }
 ​

3、运行,浏览器中输入http://localhost:8080/hello即可访问。

3、总结

默认生成的Spring Boot项目:

  • 主程序已经生成好了,我们只需要编写自己的逻辑;

  • resources文件夹中目录结构:

    • static:保存所有静态资源:js css images ;

    • templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymleaf);

    • application.properties:Spring Boot 应用的配置文件,可以更改默认配置。

SpringBoot学习笔记(一)入门简介的更多相关文章

  1. SpringBoot学习笔记<一>入门与基本配置

    毕业实习项目技术学习笔记 参考文献 学习视频 2小时学会Spring Boot:https://www.imooc.com/learn/767 学习资料 SpringBoot入门:https://bl ...

  2. SpringBoot学习笔记(8):事物处理

    SpringBoot学习笔记(8):事物处理 快速入门 在传统的JDBC事务代码开发过程中,业务代码只有一部分,大部分都是与JDBC有关的功能代码,比如数据库的获取与关闭以及事务的提交与回滚.大量的t ...

  3. SpringBoot学习笔记:Swagger实现文档管理

    SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...

  4. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  5. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  6. C#.NET学习笔记1---C#.NET简介

    C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...

  7. WebSocket学习笔记——无痛入门

    WebSocket学习笔记——无痛入门 标签: websocket 2014-04-09 22:05 4987人阅读 评论(1) 收藏 举报  分类: 物联网学习笔记(37)  版权声明:本文为博主原 ...

  8. SpringBoot学习笔记

    SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...

  9. Springboot学习笔记(六)-配置化注入

    前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...

随机推荐

  1. 网站爬取-案例四:知乎抓取(COOKIE登录抓取个人中心)(第二卷)

    接着上卷来分析,作为开发人员我们都知道,登录是一个想指定URL发送POST请求的过程,所以我们需要找到请求的URL,以及字段,先用一个错误账号和密码做一下尝试,如果是正确的话会直接跳转到别的页面,这样 ...

  2. 吴裕雄--天生自然python学习笔记:python文档操作自动生成菜单 Word 文件

    许多学校营养午餐的菜单是由教师来轮流制作 ,这是一个 比较烦锁的工作,如 果能自动用教师最熟悉的 Word 文件来生成一个菜单文件,使教师对生成的菜单稍作 修改即可使用,那将是一个不错的主意. 案例要 ...

  3. Python连接SQLServer2000或连接mysql代码示例

    1.Python连接SQLServer2000 # 获取连接 import pymssql db = pymssql.connect('127.0.0.1', 'sa', 'ddh123', &quo ...

  4. javaweb_forQuery

    http://how2j.cn/k/tmall_ssm/tmall_ssm-1516/1516.html 总体思路 使用springMVC+spring+mybatis的方式打通表现层/业务层/持久层 ...

  5. python练习题——猜数字游戏

    增加了按照对半找数的方法来计算最短几次就可以猜到随机数,决定到游戏结束共猜数的次数: from random import * import numpy as np from numpy import ...

  6. hosts原理及作用

    https://blog.csdn.net/qq_41356488/article/details/82190372 手机也可以修改hosts,但是需要root权限,百度

  7. Java子类和父类的初始化执行顺序

    要明白子类和父类的初始化执行顺序,只需要知晓以下三点,就不会再弄错了. 1.创建子类对象时,子类和父类的静态块和构造方法的执行顺序为:父类静态块->子类静态块->父类构造器->子类构 ...

  8. 精心收集的Hadoop学习资料

    1.<Hadoop技术内幕:深入解析Hadoop Common和HDFS>下载地址:http://download.csdn.net/detail/w397090770/6643259. ...

  9. 对Design model的理解与Java design model的归纳

    设计模式的起源是面向对象程序设计思想,是面向对象设计的精髓--抽象.面向对象通过类和对象来实现抽象,实现时产生了面向对象的三个重要机制:封装.继承.多态.正是这三个机制衍生出了各种各样的设计模式.在面 ...

  10. Docker学习笔记_08使用Rancher pipeline搭建基于容器的CICD

    CICD概述 CI-持续集成(Continuous Integration):频繁地将代码集成到主干的一种开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错 ...