springboot入門級筆記
springboot亮點:不用配置tomcat
springboot不支持jsp
準備:配置jdk 配置maven
訪問https://start.spring.io/ 並生成自己的springboot zip
用eclipse file--import--maven--exist。。將生成的zip的解壓縮文件加入到eclipse中開發使用
@configuration
加了此註解的類,使類成為配置類,且將類加入spring容器(在spring中用@conmponent)
配置全局設置三種方式(系統默認):
application.properties k=v;支持jsr303數據校驗,支持復雜類型
application.yml k: v
可以配置自定義對象的值,需要在自定義類加入註解@ConfigurationProperties(prefix="xxxstuxx")和
@Component註解;集合數組用[]可以省,map,對象類型的屬性用{}不可以省;可以將類中的駝峰寫法轉為xx-xx形式
@Value(“xxx值”):給類的屬性加入註解
支持EL表達式寫法:@Value(“{student.id}”);不支持復雜類型
private int id;
配置全局設置一種方式(自定義文件):
@PropertySource(value={"classpath:conf.properties"})配置文件後綴只能是.properties
springboot不需要配置spring的配置文件,如果要用自己寫的spring配置文件方法
在springboot的主配置類加上@ImportResource(location={"springxxx.xml"})(不推薦)
創建一個配置類(代替配置文件),給其加入@configuration;給類中的方法加入@Bean(推薦)
隨機字符串在application.yml中的使用
隨機字符串${random.value} ${random.int(10)} ${random.int[12,23]}${random.uuid}
引用 ${stu.name:zs} name有值就顯示,若無值就用zs默認值
多個環境切換:
在application.properties指定spring.profiles.active=xxx 自己寫的環境文件名字取名application- xxx.properties
在yml中的方式:server:
port: 8888
spring:
profiles:
active:dev1(選擇dev1環境,用的時候把application/-xx.properties幹掉,因
為.properties優先級高)
server:
port: 8881
spring:
profiles: dev1
server:
port: 8882
spring:
profiles: dev2
動態多個環境切換:
方式1、eclipse中;run-run configuration--Argument輸入:--spring.profiles.active=xxx
方式2、cmd命令行:java -jar xx.jar(web項目打成jar包) --spring.profiles.active=xxx
方式1、eclipse中;run-run configuration--Argument-vm輸入:-Dspring.profiles.active=xxx
application.properties、application.ym可以存放的位置:
1、默認位置在構建路徑中,項目根目錄
2、項目根目錄/config/application.properties,優先級大於1;
server.servlet.context-path=/xxx 可以配置項目名
3.文件位置放在項目外部時:eclipse中;run-run configuration--Argument輸入:
--spring.cofig.location=配置文件路徑 優先級大於內部配置文件
cmd執行方式:java -jar --spring.cofig.location=配置文件路徑(項目已打包,改配置環境的方式)
4.改少量配置:run-run configuration--Argument輸入:--server.port=9000空格另一個
cmd執行方式:java -jar --server.port=9000
配置優先級:
cmd命令(外部文件)》運行參數(eclipse、cmd)》內部文件(properties》yml)
日誌:
springboot默認的是info,打印info和之後的等級日誌信息
自定義日誌級別:logging.level.主配置類所在的包=debug、xxx
logging.file=文件名或自定義路徑
logging.path=文件夾路徑 logging.path=D:/LOG_test/存放到文件夾
自定義日誌顯示
logging.pattern.console=%d{yyyy-MM-dd} [%thread]%-5level %loggger{50} -%msg%n
logging.pattern.file=%d{yyyy-MM-dd}** [%thread]**%-5level** %loggger{50} ** %msg%n
靜態資源訪問:
比如jquery:webjars訪問--選擇maven依賴copy入pom文件中訪問路徑比如:
http://localhost:8080/webjars/jquery/3.3.1-1/jquery.js
自定義靜態資源存放位置:
classpath:/META-INF/resources classpath:/resources/
classpath:/static/ classpath:/public/
訪問時不用加前綴
上述任何一個目錄中的index.html就是歡迎頁直接訪問域名即可出現
將favicon.ico放入上述任何一個路徑即可,就能呈現自定義網頁logo
自定義靜態資源目錄方法
在配置文件中加入spring.resources.static-lacations=classpath:/xxx/ (默認的會失效)
thymeleaf的使用:
需要添加依賴:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在templates的目錄中新建html文件,用th:text="${xxx}"轉義渲染
th:utext="${xxx}"不轉義渲染 其他符號查看第四章
springboot整合jsp
、創建項目方式需要用war包
、建立基本web項目目錄webapp/WEB-INF
、創建tomcat部署
springboot入門級筆記