动力节点王鹤|Spring Boot框架学习笔记(二)Spring boot快速入门案例

简介: 第二章 Spring boot快速入门 • 官方下载地址动力节点springboot资料 • 视频观看地址https://www.bilibili.com/video/BV1XQ4y1m7ex1. 第一种方式: https://start.spring.io使用 spring boot提供的初始化器。 向导的方式,完成 spring boot 项目的创建: 使用方便。

 第二章 Spring boot快速入门

    • 官方下载地址


    动力节点springboot资料

      • 视频观看地址


      https://www.bilibili.com/video/BV1XQ4y1m7ex


      1. 第一种方式: https://start.spring.io

      使用 spring boot提供的初始化器。  向导的方式,完成 spring boot 项目的创建:  使用

      方便。

      1.1 创建项目步骤

      step 1: 新建项目

      image.gif

      image.gif

      image.gif

      step4最后创建项目,设置项目的目录位置

      step5:  SpringBoot项目目录结构

      image.gif

      1.2 起步依赖

      image.gif

      2. 第二种方式, 使用 springboot 提供的初始化器,  使用的国内的地址

      国内地址:  https://start.springboot.io

      创建项目的步骤同上

      image.gif

      3. 第三种方式 使用maven 向导创建项目

      创建一个普通 maven 项目

      image.gif

      image.gif

      修改项目的目录

      image.gif

      添加 Spring Boot 依赖

      image.gif

      image.gif

      创建启动类:加入@SpringBootApplication 注解

      image.gif

      3.1 入门案例

      3.2 入门案例分析

      3.3 重要注解

      @SpringBootApplication :@SpringBootApplication

      @SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan联合在一起组成的。

      @SpringBootConfiguration  @Configuration这个使

      @SpringBootConfiguration这个注解的类就是配置文件的作用。

      @EnableAutoConfiguration:开启自动配置,  把一些对象加入到spring容器中。

      @ComponentScan: 组件扫描器,扫描注解,根据注解的功能,创建 java bean,给属性赋值等等。组件扫描器默认扫描的是 @ComponentScan 注解所在的类,  类所在的包和子包。

      4. Spring Boot 核心配置文件

      Spring Boot 的核心配置文件用于配置 Spring Boot 程序,名字必须以 application 开始

      4.1 .properties 文件(默认采用该文件)

      在 002-springboot-springmvc 项目基础上,进行修改

      项目名称: 003-springboot-port-context-path

      通过修改 application.properties 配置文件, 在修改默认 tomcat 端口号及项目上下文件根 键值对的 properties 属性文件配置方式

      image.gif

      image.gif

      启动应用,  在浏览器访问 http://localhost:9092/boot/

      4.2 .yml 文件

      项目名称: 005-springboot-yml,在之前项目基础之上

      yml 是一种 yaml 格式的配置文件,主要采用一定的空格、换行等格式排版进行配置。  yaml 是一种直观的能够被计算机识别的的数据序列化格式,容易被人类阅读, yaml 类  似于 xml,但是语法比 xml 简洁很多,值与前面的冒号配置项必须要有一个空格,  yml 缀也可以使用 yaml 后缀

      image.gif

      注意 : 当两种格式配置文件同时存在 ,在 SpringBoot2.4 开始,  使用的是yml 配置文件.

      修改配置名称都为 application。

      重新运行 Application ,查看启动的端口及上下文根

      推荐使用yml格式配置文件

      4.3 多环境配置

      在实际开发的过程中,我们的项目会经历很多的阶段(开发->测试->上线),每个阶段

      的配置也会不同,例如:端口、上下文根、数据库等,那么这个时候为了方便在不同的环境 之间切换, SpringBoot 提供了多环境配置,具体步骤如下

      项目名称: 006-springboot-multi-environment

      为每个环境创建一个配置文件,命名必须以 application-环境标识.properties|yml

      image.gif

      application.properties

      image.gif

      application-dev.properties

      image.gif

      application-product.properties

      image.gif

      application-test.properties

      image.gif

      4.4 Spring Boot 自定义配置

      SpringBoot 的核心配置文件中,除了使用内置的配置项之外,我们还可以在自定义配 置,然后采用如下注解去读取配置的属性值

      4.4.1 @Value 注解

      @Value("${key}")key来自application.properties(yml)

      application.properties:添加两个自定义配置项school.name

      school.website。在IDEA中可以看到这两个属性不能被SpringBoot识别,背景是桔色的

      image.gif

      读取配置文件数据

      image.gif

      @RequestMapping("/hello")
      @ResponseBody
      public String doHello(){
      return "hello, port:" + port + "学校: "+name+",网站: "+site ;
      }
      }

      image.gif

      启动应用 Application , 访问浏览器

      4.4.2 @ConfigurationProperties

      项目名称: 008-springboot-custom-configuration

      将整个文件映射成一个对象,用于自定义配置项比较多的情况

      案例演示

      在 com.bjpowernode.springboot.config 包下创建 SchoolInfo 类,并为该 类加上  Component 和 ConfigurationProperties 注解, prefix 可以不指定,如果不指定,那么 会去配置文件中寻找与该类的属性名一致的配置, prefix 的作用可以区分同名配置

      image.gif

      image.gif

      创建 SchoolController

      image.gif

      执行 Application , 访问浏览器查看数据

      4.4.3 警告解决

      ➢ 在 SchoolInfo 类中使用了 ConfigurationProperties 注解,IDEA 会出现一个警告,不影响程序的执行

      image.gif

      ➢ 点击 open documentnation 跳转到网页, 在网页中提示需要加一个依赖,我们将这个依赖拷贝,粘贴到pom.xml文件中

      image.gif

      <!--解决使用@ConfigurationProperties 注解出现警告问题-->
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
      </dependency>

      image.gif

      4.4.4 中文乱码

      如果在 SpringBoot 核心配置文件中有中文信息,会出现乱码:

      ◼ 一般在配置文件中, 不建议出现中文(注释除外)

      ◼ 如果有,可以先转化为 ASCII 码

      image.gif

      4.4.5 提示

      大家如果是从其它地方拷贝的配置文件, 一定要将里面的空格删干净

      5. Spring Boot 中使用 JSP

      5.1 在pom.xml 文件中配置以下依赖项

      image.gif

      image.gif

      5.2 在 pom.xml 的 build 标签中要配置以下信息

      SpringBoot 要求 jsp 文件必须编译到指定的 META-INF/resources 目录下才能访问,否则

      访问不到。其实官方已经更建议使用模板技术(后面会讲模板技术)

      <!—
      SpringBoot 要求 jsp 文件必须编译到指定的      META-INF/resources 目录下才能访问, 否则访问不到。
      其它官方已经建议使用模版技术(后面会课程会单独讲解模版技
      术)
      -->
      <resources>
      <resource>
      <!--源文件位置-->
      <directory>src/main/webapp</directory>
      <!--指定编译到META-INF/resource,该目录不能随便写--> <targetPath>META-INF/resources</targetPath>
      <!--指定要把哪些文件编译进去, **表示webapp 目录及子
      目录, *.*表示所有文件-->
      <includes>
      <include>**/*.*</include>
      </includes>
      </resource>
      </resources>

      image.gif

      5.3 在 application.properties 文件配置 Spring MVC 的视图展示为jsp, 这里相当于 Spring MVC 的配置

      #配置 SpringMVC 的视图解析器
      #其中: /相当于 src/main/webapp 目录
      spring.mvc.view.prefix=/
      spring.mvc.view.suffix=.jsp

      image.gif

      集成完毕之后,剩下的步骤和我们使用 Spring MVC 一样

      5.4 在  com.bjpowernode.springboot.controller 包下创建JspController 类, 并编写代码

      @Controller
      public class SpringBootController {
      @RequestMapping(value = "/springBoot/jsp")
      public String jsp(Model model) {
      model.addAttribute("data","SpringBoot 前端使用 JSP
      页面! ");
      return "index" ;
      }
      }

      image.gif

      5.5 在 src/main 下创建一个 webapp 目录, 然后在该目录下新建index.jsp 页面

      如果在webapp 目录下右键,没有创建 jsp 的选项,可以在Project Structure 中指定webapp 为 Web Resource Directory

      image.gif

      5.6 在 jsp 中获取 Controller 传递过来的数据

      image.gif

      5.7 重新运行 Application, 通过浏览器访问测试

      image.gif

      6. Spring Boot 中使用 ApplicationContext

      在 main 方法中 SpringApplication.run()方法获取返回的 Spring 容器对象, 再获取业务 bean 进行调用.

      创建 Spring Boot 项目: 010-springboot-container

      指定项目的 gav 和版本等信息

      image.gif

      选择依赖:

      image.gif

      创建一个接口 UserService 和他的实现类

      创建启动类,   main 方法中获取容器对象

      7. CommandLineRunner 接口

      开发中可能会有这样的情景。需要在容器启动后执行一些内容。比如读取配置文件,数   据库连接之类的。 SpringBoot 给我们提供了两个接口来帮助我们实现这种需求。这两个接口  分别为 CommandLineRunner 和 ApplicationRunner。他们的执行时机为容器启动完成的时候。

      这两个接口中有一个 run 方法,我们只需要实现这个方法即可。这两个接口的不同之处

      在 于 : ApplicationRunner  中  run 方 法 的 参 数 为  ApplicationArguments , 而 CommandLineRunner

      接口中 run 方法的参数为 String 数组

      创建 Spring Boot 项目,不用选依赖,或者修改 010-springboot-container

      image.gif

      创建 SomeService 接口和实现类,定义 sayHello()方法

      image.gif

      image.gif

      image.gif

      实现 CommandLineRunner 接口

      image.gif

      image.gif

      运行主类,查看输出结果


      相关文章
      |
      14天前
      |
      搜索推荐 JavaScript Java
      基于springboot的儿童家长教育能力提升学习系统
      本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
      |
      7月前
      |
      监控 Java 应用服务中间件
      微服务——SpringBoot使用归纳——为什么学习Spring Boot
      本文主要探讨为什么学习Spring Boot。从Spring官方定位来看,Spring Boot旨在快速启动和运行项目,简化配置与编码。其优点包括:1) 良好的基因,继承了Spring框架的优点;2) 简化编码,通过starter依赖减少手动配置;3) 简化配置,采用Java Config方式替代繁琐的XML配置;4) 简化部署,内嵌Tomcat支持一键式启动;5) 简化监控,提供运行期性能参数获取功能。此外,从未来发展趋势看,微服务架构逐渐成为主流,而Spring Boot作为官方推荐技术,与Spring Cloud配合使用,将成为未来发展的重要方向。
      228 0
      微服务——SpringBoot使用归纳——为什么学习Spring Boot
      |
      4月前
      |
      安全 Java 数据库
      Spring Boot 框架深入学习示例教程详解
      本教程深入讲解Spring Boot框架,先介绍其基础概念与优势,如自动配置、独立运行等。通过搭建项目、配置数据库等步骤展示技术方案,并结合RESTful API开发实例帮助学习。内容涵盖环境搭建、核心组件应用(Spring MVC、Spring Data JPA、Spring Security)及示例项目——在线书店系统,助你掌握Spring Boot开发全流程。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
      551 2
      |
      6月前
      |
      Java Spring
      Spring框架的学习与应用
      总的来说,Spring框架是Java开发中的一把强大的工具。通过理解其核心概念,通过实践来学习和掌握,你可以充分利用Spring框架的强大功能,提高你的开发效率和代码质量。
      159 20
      |
      9月前
      |
      XML Java 应用服务中间件
      Spring Boot 两种部署到服务器的方式
      本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
      2273 17
      Spring Boot 两种部署到服务器的方式
      |
      7月前
      |
      Java 数据库 微服务
      微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
      在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
      289 0
      |
      11月前
      |
      前端开发 Java 开发者
      Spring生态学习路径与源码深度探讨
      【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
      240 9
      |
      11月前
      |
      存储 运维 安全
      Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
      通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
      609 2
      |
      前端开发 Java 数据库
      SpringBoot学习
      【10月更文挑战第7天】Spring学习
      149 9
      |
      XML Java 数据格式
      Spring学习
      【10月更文挑战第6天】Spring学习
      102 1