4. 读取自定义配置
自定义配置,可以是定义在主配置文件中的自定义属性,也可以是自定义配置文件中的属性。
4.1 读取主配置文件中的属性
(1) 定义工程
复制Spring Boot 快速入门中的工程,并重命名为 04-readConfig。
(2) 修改 SomeController 类
读取监听的端口号。在@Value 注解中通过${ }符号可以读取指定的属性值
。
4.2 读取主配置文件中的自定义配置
(1) 修改主配置文件
在配置文件中添加如下自定义配置。
(2) 修改 SomeController 类
在处理器类中添加如下内容。
4.3 读取自定义配置文件中的属性
(1) 自定义配置文件
该配置文件为 properties 文件,文件名随意,存放在 src/main/resources 目录中。
(2) 定义配置属性类
注意:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法
(3) 修改 SomeController 类
在处理器类中添加如下内容。
4.4 读取 List<String>属性
(1) 修改自定义配置文件
在配置文件中添加如下配置。
(2) 定义配置属性类
(3) 修改 SomeController 类
在处理器类中添加如下内容。
4.5 读取 List<Object>属性
(1) 修改自定义配置文件
(2) 定义配置属性类
(3) 修改 SomeController 类
在处理器类中添加如下内容。
5. Spring Boot 下使用 JSP 页面
在 Spring Boot 内置tomcat启动,直接使用 JSP 文件,其是无法解析的,需要做专门的配置。
5.1 直接添加 JSP 文件
(1) 定义工程
复制Spring Boot 快速入门的工程,并重命名为 06-jsp。
(2) 创建 webapp 目录
在 src/main 下创建 webapp 目录,用于存放 jsp 文件。
(3) 创建 index.jsp
-
A、指定 web 资源目录
在 spring boot 工程中若要创建 jsp 文件,一般是需要在 src/main 下创建 webapp 目录,然后在该目录下创建 jsp 文件。但通过 Alt + Insert 发现没有创建 jsp 文件的选项。此时,需要打开 Project Structrue 窗口,将 webapp 目录指定为 web 资源目录,然后才可以创建 jsp文件。
指定后便可看到下面的窗口情况。
此时,便可在 webapp 中找到 jsp 的创建选项了。
-
B、 创建 index 页面
在 src/main/webapp 下创建一个 html 文件,并命名为 index.html,创建完毕后再将其重命名为 index.jsp。因为 Idea 中是没有 JSP 页面模板的,不能直接创建 JSP 文件。
(4) 启动后运行
此时启动工程后在浏览器直接访问,发现其并没有显示 index 页面。因为当前工程不能识别 jsp 文件。
5.2 配置JSP环境
(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 目录注册为资源目录。(注册以后编译、打包的时候会把目录中的文件带上)
<build>
<resources>
<!--注册 webapp 目录为资源目录-->
<resource>
<directory>src/main/webapp</directory><!-- 当前项目路径 -->
<targetPath>META-INF/resources</targetPath><!-- 编译打包后存放的路径 -->
<includes>
<include>**/*.*</include><!-- 打包哪些文件 -->
</includes>
</resource>
</resources>
</build>
(3) 创建 welcome.jsp
在 webapp 目录下再创建一个子目录 jsp,在其中创建 welcome.jsp 文件。
(4) 修改 SomeHandler 类
5.3 使用逻辑视图
(1) 修改主配置文件
(2) 修改处理器