• springboot1


    1.5.5 常用的监控终端
    在百度搜索“springboot actuator”即可找到如下表格。
    第2章 Spring Boot 重要用法
    2.1自定义异常页面
    对于 404、405、500 等异常状态,服务器会给出默认的异常页面,而这些异常页面一般
    都是英文的,且非常不友好。我们可以通过简单的方式使用自定义异常页面,并将默认状态
    码页面进行替换。
    直接在前面程序上修改即可,无需创建新的工程。
    2.1.1 定义目录
    在 src/main/resources 目录下再定义新的目录 public/error,必须是这个目录名称。

    2.1.2 定义异常页面
    在 error 目录中定义异常页面。这些异常页面的名称必须为相应的状态码,扩展名为 html。

    2.2单元测试
    2.2.1 定义工程
    直接在前面工程中修改即可。

    2.2.3 定义 Service 两个实现类
    注意,实现类上要添加@Service 注解,以交给 Spring 容器来管理。

    2.2.4 修改测试类
    打开 src/test/java 中的测试类,在其中直接添加测试方法即可。

    2.3多环境选择
    2.3.1 什么是多环境选择
    以下两种场景下需要进行“多环境选择”。
    (1) 相同代码运行在不同环境
    在开发应用时,通常同一套程序会被运行在多个不同的环境,例如,开发、测试、生产
    环境等。每个环境的数据库地址、服务器端口号等配置都会不同。若在不同环境下运行时将
    配置文件修改为不同内容,那么,这种做法不仅非常繁琐,而且很容易发生错误。
    此时就需要定义出不同的配置信息,在不同的环境中选择不同的配置。
    (2) 不同环境执行不同实现类
    在开发应用时,有时不同的环境,需要运行的接口的实现类也是不同的。例如,若要开
    发一个具有短信发送功能的应用,开发环境中要执行的 send()方法仅需调用短信模拟器即可,
    而生产环境中要执行的 send()则需要调用短信运营商所提供的短信发送接口。
    此时就需要开发两个相关接口的实现类去实现 send()方法,然后在不同的环境中自动选
    择不同的实现类去执行
    2.3.2 需求
    下面将实现如下功能:存在开发与生产两种环境,不同环境使用不同配置文件,不同环
    境调用不同接口实现类。使用不同端口号对不同的配置文件加以区分。
    2.3.3 多配置文件实现方式
    (1) 定义工程
    复制前面打为 Jar 包的工程,并重命名为 03-multiEnv。
    (2) 定义配置文件
    A、定义多个配置文件
    在 src/main/resources 中再定义两个配置文件,分别对应开发环境与生产环境。
     
    B、 说明
    在 Spring Boot 中多环境配置文件名需要满足 application-{profile}.properties 的格式,其
    中{profile}为对应的环境标识,例如,
     application-dev.properties:开发环境
     application-test.properties:测试环境
     application-prod.properties:生产环境
    至于哪个配置文件会被加载,则需要在 application.properties 文件中通过
    spring.profiles.active 属性来设置,其值对应{profile}值。例如,spring.profiles.active=test 就会
    加载 application-test.properties 配置文件内容。
    在生产环境下,application.properties 中一般配置通用内容,并设置 spring.profiles.active
    属性的值为 dev,即,直接指定要使用的配置文件为开发时的配置文件,而对于其它环境的
    选择,一般是通过命令行方式去激活。配置文件 application-{profile}.properties 中则配置各个
    环境的不同内容。
     
    (6) 在命令行下选择环境
    将工程打为 Jar 包后,在命令行运行。若要想切换运行环境,必须要修改主配置文件吗?
    答案是否定的。只需添加一个命令参数即可动态指定。
     
    B、 说明
    在命令行中添加的参数可以是写在配置文件中的任意属性。其原理是命令行设置的属性
    值的优选级高于配置文件的。
    2.3.4 单配置文件实现方式
    这种实现方式只能使用 application.yml 文件,使用 application.properties 文件好像文件
    本身就会出错。
    (1) 定义工程
    复制前面的 3-multiEnv 工程,并重命名为 03-multiEnv2。
    (2) 修改配置文件
    将原有的配置文件全部删除,然后定义 application.yml 文件。需要注意的是,这三部分
    之间是由三个减号(
    -)分隔的,必须是三个。而这三部分充当着之前的三个配置文件。
     
    (3) 运行与访问
    运行与访问方式与前面的多配置文件的完全相同。
    2.4读取自定义配置
    自定义配置,可以是定义在主配置文件 application.properties 中的自定义属性,也可以
    是自定义配置文件中的属性。
    2.4.1 读取主配置文件中的属性
    (1) 定义工程
    复制前面打为 Jar 包的工程,并重命名为 04-customConfig。
     
    2.4.2 读取指定配置文件中的属性
    一般情况下,主配置文件中存放系统中定义好的属性设置,而自定义属性一般会写入自
    定义的配置文件中。也就是说,Java 代码除了可以读取主配置文件中的属性外,还可以读取
    指定配置文件中的属性,可以通过@PropertySource 注解加载指定的配置文件。
    2.4.3 读取对象属性
    (1) 定义工程
    复制 04-customConfig2 工程,并重命名为 04-customConfig3。
    (2) 修改自定义配置文件
     
    2.4.4 读取 List<String>属性
    (1) 定义工程
    复制 04-customConfig3 工程,并重命名为 04-customConfig4。
    (2) 导入依赖
    注解@ConfigurationProperties 注解需要以下依赖。
     
    (3) 创建 index.jsp
    A、指定 web 资源目录
    在 spring boot 工程中若要创建 jsp 文件,一般是需要在 src/main 下创建 webapp 目录,
    然后在该目录下创建 jsp 文件。但通过 Alt + Insert 发现没有创建 jsp 文件的选项。此时,需
    要打开 Project Structrue 窗口,将 webapp 目录指定为 web 资源目录,然后才可以创建 jsp
    文件。
     
    2.5.2 使用物理视图
    (1) 添加 jasper 依赖
    在 pom 中添加一个 Tomcat 内嵌的 jsp 引擎 jasper 依赖。jsp 引擎是用于解析 jsp 文件的,
    即将 jsp 文件解析为 Servlet 是由 jsp 引擎完成的。embed,嵌入。
    <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    (2) 注册资源目录
    在 pom 文件中将 webapp 目录注册为资源目录。
     
    2.6Spring Boot 中使用 MyBatis
    2.6.1 总步骤
     导入依赖:MySQL 驱动、Druid 依赖、MyBatis 与 Spring Boot 整合依赖、Lombok 依赖
     在 Service 接口实现类上添加@Service 注解
     在 Dao 接口上添加@Mapper 注解
     在 pom 中将 dao 目录注册为资源目录
     在配置文件中注册映射文件、实体类别名,及数据源
    2.6.2 需求
    完成一个简单的注册功能。
    2.6.3 定义工程
    复制 06-jsp 工程,并重命名为 07-mybatis。
    3.7路径问题基础理论
    3.7.1 路径的构成
    路径由两部分构成:资源路径与资源名称。即
    路径 = 资源路径 + 资源名称
    资源路径与资源名称的分水岭为:路径中的最后一个斜杠。斜杠的前面部分称为资源路
    径,后面部分称为资源名称。
    例如:
     请求路径:http://localhost:8080/xxx/test/index
     资源路径:http://localhost:8080/xxx/test
     资源名称:index
    3.7.2 路径的分类
    根据是否可以唯一的定位一个资源,可以将路径划分为两类:绝对路径与相对路径。
     绝对路径:可以唯一的定位一个资源的路径。在 Web 应用中,一般使用 URL 形式表示。
     相对路径:仅依赖此路径无法唯一定位资源,但若为其指定一个参数路径,则可以将其
    转换为一个绝对路径,这样的路径称为相对路径。在 Web 应用中,一般使用 URI 形式
    表示。
     转换关系: 绝对路径 = 参照路径 + 相对路径
    3.7.3 绝对路径分类
    根据路径作用的不同,可以将绝对路径分为:资源定义路径,与资源请求路径。
     资源定义路径:用于表示资源位置的路径。
     资源请求路径:客户端所发出的对指定资源的请求路径。 快速开发框架 Spring Boot
    主讲:Reythor 雷
    125
    3.7.4 相对路径分类
    根据相对路径是否以斜杠开头,可以划分为两类:斜杠路径,与非杠路径。
     斜杠路径:以斜杠开头的相对路径。
     非杠路径:不以斜杠开头的相对路径。
    3.7.5 斜杠路径分类
    对于斜杠路径,根据其出现的位置的不同,可以划分为:前台路径与后台路径。
     前台路径:出现在 HTML、JS、CSS,及 JSP 文件的静态部分的斜杠路径。例如,<img src=””/>
    <a href=””/> backgroud:img(“”) window.location.href=””。
     后台路径:出现在 Java 代码、JSP 文件的动态部分(Java 代码块、JSP 动作等)、XML、
    properties 等配置文件中的斜杠路径。
    3.7.6 路径解析器
    相对路径,最终都会经过路径解析器,将其转换为绝对路径,以定义或定位一个资源。
    不同的相对路径,其路径解析器也是不同的。
     前台路径:路径解析器为浏览器。
     后台路径:路径解析器为服务器。
     非杠路径:若非杠路径出现在前台路径位置,其路径解析器为浏览器;若非杠路径出现
    在后台路径位置,其路径解析器为服务器。
    3.7.7 解析规则
    不同的路径解析器,对同一个相对路径的解析结果是不同的。所谓解析结果,指的是将
    相对路径所转换为的绝对路径。由于 绝对路径 = 参照路径 + 相对路径 ,所以,不同的
    解析器,会为相对路径匹配不同的参照路径。换句话说就是,我们学习的重点是,浏览器、
    服务器对于不同的相对路径所匹配的参照路径到底是谁。
    (1) 一般规则
     前台路径:其参照路径为当前 web 服务器的根。
     后台路径:其参照路径为当前 web 应用的根。
     非杠路径:其参照路径为当前请求路径的资源路径。
    例如,
     请求路径: http://localhost:8080/xxx/test/index
     当前 web 服务器的根: http://localhost:8080
     当前 web 应用的根: http://localhost:8080/xxx
     资源路径: http://localhost:8080/xxx/test 快速开发框架 Spring Boot
    (2) 规则特例
     在代码中使用 HttpServletResponse 的 sendRedirect()方法使用斜杠路径进行重定向时,
    其参照路径按照之前规则,应该是当前 web 应用的根,但实际情况是,当前 web 服务
    器的根。
     以上规则对于一次跳转是没有问题的,若跳转次数超过一次,则有可能会存在问题。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    第一周作业
    第一次作业
    第八周作业
    第七周作业
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    第一周作业2
  • 原文地址:https://www.cnblogs.com/zhouyideboke/p/16637033.html
Copyright © 2020-2023  润新知