首页 > 其他分享 >springboot1

springboot1

时间:2022-08-29 19:12:01浏览次数:46  
标签:定义 配置文件 路径 相对路径 斜杠 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 服务 器的根。  以上规则对于一次跳转是没有问题的,若跳转次数超过一次,则有可能会存在问题。                                                                

标签:定义,配置文件,路径,相对路径,斜杠,springboot1,资源
From: https://www.cnblogs.com/zhouyideboke/p/16637033.html

相关文章