spring import注解,spring boot @value_spring+vue全棧開發實戰-第二章Spring Boot 基礎配置-筆記0302-2

 2023-10-15 阅读 28 评论 0

摘要:Spring Boot 基礎配置1. Web 容器配置2.Properties 配置3.類型安全配置屬性1. Web 容器配置a.常規配置在 Spring Boot 項 目 中,可以內置 Tomcat、 Jetty、 Undertow、 Netty 等容器。當開發者添加了 spring-boot-starter-web 依賴之后, 默認會使用 Tomcat 作為

v2-24073a120f6b277d6457f143b138ad13_1440w.jpg?source=172ae18b
Spring Boot 基礎配置
1. Web 容器配置
2.Properties 配置
3.類型安全配置屬性
  • 1. Web 容器配置

a.常規配置

在 Spring Boot 項 目 中,可以內置 Tomcat、 Jetty、 Undertow、 Netty 等容器。當開發者添加了 spring-boot-starter-web 依賴之后, 默認會使用 Tomcat 作為 Web 容器。 如果需要對 Tomcat 做進一 步的配置,可以在 application.properties 中進行配置,代碼如下:

server.port=8081    //配置 Web 容器的端口號
server.error.path=/error   //配直了當項目出錯時跳轉去的頁面
server.servlet.session.timeout=1   //配直了 session 失效時間 , 30m 表示 30 分鐘
server.servlet.context-path=/spring-vue   //表示項目名稱, 不配直時,默認為/
server.tomcat.uri-encoding=utf-8   //表示配直 Tomcat 請求編碼。 
server.tomcat.max-threads=500    //表示 Tomcat 最大線程數。 
server.tomcat.basedir=/home/sang/tmp   //是一個存放 Tomcat 運行日志和臨時文件的目錄,若不配直,則默認使用系統的臨時 目錄。server.ssl.key-store=sang.p12
server.ssl.key-alias=tomcathttps
server.ssl.key-store-password=123456
#server.ssl.key-store-type=PKCS12

a.HTTPS配置

spring import注解、在 jdk 中提供了 一個 Java 數字證書管理工具 keytool, 在$JAVA_HOMEbin 目錄下,通過這個工具可以自己生成一個數字證書, 生成命令如下:

 keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore sang.p12 -validity 365

命令解釋:

-genkey 表示要創建一個新的密鑰
-alias 表示 keystore 的別名
-keyalg 表示使用的加密算法是 RSA, 一種非對稱加密算法
-keysize 表示密鑰的長度
-keystore 表示生成的密鑰存放位置
-validity 表示密鑰的有效時間,單位為天

在 cmd 窗口中直接執行如上命令,在執行的過程中需要輸入密鑰口令等信息,根據提示輸入 即可

v2-deea5128dae0401677577419869fb22f_b.jpg

命令執行完成后,會在當前用戶目錄下生成一個名為 sang.p12 的文件,將這個文件復制到項目的根目錄下

vue java。

v2-ceccc6d6fa30203b40308ceb5afec688_b.jpg

然后在 application.properties 中做如下配置:

server.ssl.key-store=sang.p12
server.ssl.key-alias=tomcathttps
server.ssl.key-store-password=123456

配置成功后,啟動項目,在瀏覽器中輸入“https://localhost:8081/spring-vue/hello” 來查看結果

v2-3fabb82e69b48190feafa2e749ef2618_b.jpg

v2-d0e8bd7cbf035b811f7305ef864130b0_b.png
  • 2.Properties 配置

spring全局變量。Spring Boot 中采用了大量的 自動化配置,但是對開發者而言, 在實際項目中不可避免會有一 些需要自己手動配置,承載這些自定義配置的文件就是 resources 目錄下的 application.properties 文件(也可以使用 YAML 配置來替代application.properties)

Spring Boot 項 目中的 application.properties 配置文件一共可以出現在如下 4 個位置:

v2-2edba52431fa61f1d39e54ba97fdff43_b.jpg

如果這 4 個位置中都有 application.properties 文件,那么加載的優先級從 1 到 4 依次降低

  • 3.類型安全配置屬性

Spring 提供了@Value 注解以及 EnvironmentAware 接口來將 Spring Environment 中的數據注入到屬性上, Spring Boot 對此進一步提出了類型安全配置屬性 (Type-safe Configuration Properties ) ,這樣即使在數據量非常龐大的情況下,也可以更加方便地將配置文件中的數據注入 Bean 中。考慮在 application.properties 中添加如下一段配置:

book.name=三國演義
book.author=羅貫中
book.price=100

react vue、將這一段配置數據注入如下 Bean 中:

package com.zrq.Bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;@Component
//@PropertySource(value = "classpath:books.properties")
@ConfigurationProperties(prefix = "book")
//@ConfigurationProperties 中的 prefix 屬性描述了要加載的配置文件的前綴。 
public class Book {private String name;private String author;private Float price;//省略getter/setter@Overridepublic String toString() {return "Book{" +"name='" + name + ''' +", author='" + author + ''' +", price=" + price +'}';}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public Float getPrice() {return price;}public void setPrice(Float price) {this.price = price;}
}

最后創建 BookController 進行簡單測試:

package com.zrq;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Component;import javax.swing.*;@EnableAutoConfiguration
@ComponentScan
public class App {public static void main(String[] args) {SpringApplication.run(App.class,args);}
}

v2-b735e1810cc43963fb4950253ace0ec9_b.jpg

v2-4d3eb6e00145a082cbf558b7829a8e06_b.png

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/138268.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息