網站首頁 編程語言 正文
springboot的主要特性
- Springboot starter 將常用的依賴分組進行了整合,合并到一個依賴,一次性添加到項目的maven中構建
- 自動裝配:SpringBoot的自動配置特性利用了Spring對條件化配置的支持,合理推測應用所需的bean并自動化配置他們
案例需求
- 構建springboot項目,請求Controller中的方法,返回值響應到頁面
- 使用屬性注入的常用注解,將自定義配置類注入項目的spring容器中
實現步驟:
-
使用spring Initializr構建 springboot項目
-
創建Controller
@RestController public class DemoController { @RequestMapping("/demo") public String test(){ return "hello~"; } }
-
由于項目只掃描主程序啟動類SpringbootDemoApplication當前所在的包及其子包,所以將啟動類移動到所需掃描的路徑下
-
啟動項目,測試
-
注入自定義配置類:
-
添加依賴的jar包,在application.yml寫類信息時會有提示
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
-
添加自定義類,使用@Configuration注解,各個屬性添加@Value(“${XXX.xxxx}”)注入信息
@Configuration public class Fruit { @Value("${fruit.type}") private String type; @Value("${fruit.color}") private String color; @Override public String toString() { return "Fruit{" + "type='" + type + '\'' + ", color='" + color + '\'' + '}'; } }
-
在application.yml中加上注入bean的信息
fruit: type: apple color: red
-
測試
-
-
@ConfigurationProperties進行屬性注入
-
配置類對應的成員變量需要添加set方法,在配置類上添加@ConfigurationProperties注解
-
添加@EnableConfigurationProperties使配置類生效、@Configuration成為配置類 / 或者使用@Component注解代替這兩個注解
@Configuration @EnableConfigurationProperties({JdbcConfiguration.class})//使@ConfigurationProperties注解生效 @ConfigurationProperties(prefix = "jdbc") public class JdbcConfiguration { private String driverClassName; private String url; private String username; private String password; public String getDriverClassName() { return driverClassName; } public void setDriverClassName(String driverClassName) { this.driverClassName = driverClassName; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "JdbcConfiguration{" + "driverClassName='" + driverClassName + '\'' + ", url='" + url + '\'' + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
-
在yml文件添加配置信息
jdbc: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/bank username: root password: root
-
測試
-
-
第三方jar的bean注入
-
導入數據庫的jar包
<dependency> <groupId>com.github.drtrang</groupId> <artifactId>druid-spring-boot2-starter</artifactId> <version>1.1.10</version> </dependency>
-
在yml文件中添加bean的屬性
jdbc: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/bank username: root password: root
-
創建一個配置類,使用@Bean注解將返回的第三方jar包下的bean注入IOC容器,使用@ConfigurationProperties注解使配置信息生效
@Bean public DataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; }
-
測試
-
總結
- 使用spring Initializr就可以創建springboot工程
- 自定義配置類需要使用的注解有:@Configuration、@ConfigurationProperties、@EnableCOnfigurationProperties 三個注解,可以在.yml或者.properties文件中添加注入bean的屬性
- 第三方jar包下的bean注入使用@bean注解,在方法上添加@ConfigurationProperties注解可以給返回的bean添加屬性
原文鏈接:https://blog.csdn.net/CAUC_lin/article/details/126336567
相關推薦
- 2022-09-15 SQL?bool盲注和時間盲注詳解_MsSql
- 2022-03-26 R語言基于Keras的MLP神經網絡及環境搭建_R語言
- 2023-01-05 Kotlin?掛起函數CPS轉換原理解析_Android
- 2022-09-27 Python?Matplotlib繪制扇形圖標簽重疊問題解決過程_python
- 2022-04-14 python實現購物車小程序_python
- 2022-09-21 Mac安裝軟件時提示已損壞的完美解決方法_相關技巧
- 2022-02-26 Uncaught RangeError: Maximum call stack size excee
- 2023-09-17 el-table嵌入輸入框下拉框按鈕等等
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支