乐趣区

关于java:动力节点王妈妈Springboot教程笔记二Spring-boot快速入门

第二章 Spring boot 疾速入门

官网下载地址

能源节点 springboot 材料

视频观看地址

https://www.bilibili.com/vide…

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

应用 spring boot 提供的初始化器。向导的形式,实现 spring boot 我的项目的创立:使用方便。

1.1 创立我的项目步骤

step 1: 新建我的项目

step 4:最初创立我的项目,设置我的项目的目录地位

step 5:Spring Boot 我的项目目录构造

1.2 起步依赖

2、第二种形式,应用 springboot 提供的初始化器,应用的国内的地址

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

创立我的项目的步骤同上

3、第三种形式 应用 maven 向导创立我的项目

创立一个一般 maven 我的项目

批改我的项目的目录

增加 Spring Boot 依赖

创立启动类:退出 @SpringBootApplication 注解

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 属性文件配置形式

启动利用,在浏览器拜访 http://localhost:9092/boot/

4.2 .yml 文件

项目名称:005-springboot-yml,在之前我的项目根底之上

yml 是一种 yaml 格局的配置文件,次要采纳肯定的空格、换行等格局排版进行配置。yaml 是一种直观的可能被计算机辨认的的数据序列化格局,容易被人类浏览,yaml 类 似于 xml,然而语法比 xml 简洁很多,值与后面的冒号配置项必须要有一个空格,yml 缀也能够应用 yaml 后缀

留神:当两种格局配置文件同时存在,在 SpringBoot2.4 开始,应用的是 yml 配置文件.

批改配置名称都为 application。

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

举荐应用 yml 格局配置文件

4.3 多环境配置

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

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

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

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

application.properties

application-dev.properties

application-product.properties

application-test.properties

4.4 Spring Boot 自定义配置

SpringBoot 的外围配置文件中,除了应用内置的配置项之外,咱们还能够在自定义配 置,而后采纳如下注解去读取配置的属性值

4.4.1 @Value 注解

@Value(“${key}”),key 来自 application.properties (yml)

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

school.website。在 IDEA 中能够看到这两个属性不能被 SpringBoot 辨认,背景是桔色的

读取配置文件数据

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

启动利用 Application , 拜访浏览器

4.4.2 @ConfigurationProperties

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

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

案例演示

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

创立 SchoolController

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

4.4.3 正告解决

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

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

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

4.4.4 中文乱码

如果在 SpringBoot 外围配置文件中有中文信息,会呈现乱码:

◼ 个别在配置文件中,不倡议呈现中文(正文除外)

◼ 如果有,能够先转化为 ASCII 码

4.4.5 提醒

大家如果是从其它中央拷贝的配置文件,肯定要将外面的空格删洁净

5. Spring Boot 中应用 JSP

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

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>

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

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

集成结束之后,剩下的步骤和咱们应用 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" ;
 
 
 
}
 
}

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

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

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

5.7 从新运行 Application,通过浏览器拜访测试

6.Spring Boot 中应用 ApplicationContext

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

创立 Spring Boot 我的项目:010-springboot-container

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

抉择依赖:

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

创立启动类,main 办法中获取容器对象

7.CommandLineRunner 接口

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

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

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

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

创立 Spring Boot 我的项目,不必选依赖,或者批改 010-springboot-container

创立 SomeService 接口和实现类,定义 sayHello() 办法

实现 CommandLineRunner 接口

运行主类,查看输入后果

退出移动版