網(wǎng)站首頁 編程語言 正文
springboot的主要特性
- Springboot starter 將常用的依賴分組進(jìn)行了整合,合并到一個(gè)依賴,一次性添加到項(xiàng)目的maven中構(gòu)建
- 自動(dòng)裝配:SpringBoot的自動(dòng)配置特性利用了Spring對(duì)條件化配置的支持,合理推測應(yīng)用所需的bean并自動(dòng)化配置他們
案例需求
- 構(gòu)建springboot項(xiàng)目,請求Controller中的方法,返回值響應(yīng)到頁面
- 使用屬性注入的常用注解,將自定義配置類注入項(xiàng)目的spring容器中
實(shí)現(xiàn)步驟:
-
使用spring Initializr構(gòu)建 springboot項(xiàng)目
-
創(chuàng)建Controller
@RestController public class DemoController { @RequestMapping("/demo") public String test(){ return "hello~"; } }
-
由于項(xiàng)目只掃描主程序啟動(dòng)類SpringbootDemoApplication當(dāng)前所在的包及其子包,所以將啟動(dòng)類移動(dòng)到所需掃描的路徑下
-
啟動(dòng)項(xiàng)目,測試
-
注入自定義配置類:
-
添加依賴的jar包,在application.yml寫類信息時(shí)會(huì)有提示
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
-
添加自定義類,使用@Configuration注解,各個(gè)屬性添加@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進(jìn)行屬性注入
-
配置類對(duì)應(yīng)的成員變量需要添加set方法,在配置類上添加@ConfigurationProperties注解
-
添加@EnableConfigurationProperties使配置類生效、@Configuration成為配置類 / 或者使用@Component注解代替這兩個(gè)注解
@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
-
測試
-
-
第三方j(luò)ar的bean注入
-
導(dǎo)入數(shù)據(jù)庫的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
-
創(chuàng)建一個(gè)配置類,使用@Bean注解將返回的第三方j(luò)ar包下的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; }
-
測試
-
總結(jié)
- 使用spring Initializr就可以創(chuàng)建springboot工程
- 自定義配置類需要使用的注解有:@Configuration、@ConfigurationProperties、@EnableCOnfigurationProperties 三個(gè)注解,可以在.yml或者.properties文件中添加注入bean的屬性
- 第三方j(luò)ar包下的bean注入使用@bean注解,在方法上添加@ConfigurationProperties注解可以給返回的bean添加屬性
原文鏈接:https://blog.csdn.net/CAUC_lin/article/details/126336567
相關(guān)推薦
- 2022-12-03 Flutter狀態(tài)管理Bloc使用示例詳解_Android
- 2022-06-01 AndriodStudio利用ListView和數(shù)據(jù)庫實(shí)現(xiàn)簡單學(xué)生管理_Android
- 2022-08-20 在?pytorch?中實(shí)現(xiàn)計(jì)算圖和自動(dòng)求導(dǎo)_python
- 2023-03-16 Redis設(shè)置key的過期時(shí)間_Redis
- 2024-01-08 Spring AOP 切面@Around注解的具體使用
- 2022-11-05 nginx修改默認(rèn)端口方法圖文詳解_nginx
- 2023-03-11 CefSharp過濾圖片RequestHandler問題_C#教程
- 2022-11-01 JetPack?Compose底部導(dǎo)航欄的實(shí)現(xiàn)方法詳解_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支