SpringBoot入門二(java程式碼方式配置)
阿新 • • 發佈:2020-10-14
java程式碼方式配置(讀取配置檔案中的變數)
一 . 先了解幾個相關注解
java配置主要靠java類和一些註解,比較常用的註解有:
@Configuration:宣告一個類作為配置類,代替xml檔案
@Bean:宣告在方法上,將方法的返回值加入Bean容器,代替<bean>標籤
@Value:屬性注入
@PropertySource:指定外部屬性檔案
二. 實戰~
目的:比如可以把xml裡面的資料庫配置資訊,用java程式碼方式配置
實現步驟:
1.新增依賴(新增Alibaba的druid資料庫連線)
2.建立資料庫
3.建立資料庫連線引數的配置檔案jdbc.properties
4.建立編寫配置類
5.控制器 注入資料來源並使用
=================
1.新增依賴pom.xml(新增Alibaba的druid資料庫連線)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--SpringBoot父工程--> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.3.4.RELEASE</version> </parent> <groupId>org.cc8w</groupId> <artifactId>javaboot_test</artifactId> <version>1.0-SNAPSHOT</version> <!--java編譯版本,父工程已經指定了這樣的變數--> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--SpringBoot Web啟動器(不用寫版本跟隨父版本)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.20</version> </dependency> </dependencies> </project>
2.建立資料庫(略)
3.建立資料庫連線引數的配置檔案jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mini_card jdbc.username=root jdbc.password=89757
4.建立編寫配置類
package com.cc8w.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import javax.sql.DataSource; @Configuration @PropertySource("classpath:jdbc.properties") public class JdbcConfig { @Value("${jdbc.driverClassName}") private String driverClassName; @Value("${jdbc.url}") private String url; @Value("${jdbc.username}") private String username; @Value("${jdbc.password}") private String password; @Bean public DataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } }
5.控制器 注入資料來源並使用
package com.cc8w.home.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.sql.DataSource; @RestController @RequestMapping("home/test") public class JdbcTest { @Autowired private DataSource dataSource; @RequestMapping("jtest") public String jTest(){ System.out.println(dataSource); System.out.println("jTest22"); return "null"; } }
6.專案介面
資料庫連線結果也被列印到控制檯了.