diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 8fec1f5d2..55621f8b0 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,8 +4,11 @@
-
-
+
+
+
+
+
@@ -204,7 +207,7 @@
-
+
@@ -318,7 +321,15 @@
1736363613801
-
+
+
+ 1736364004544
+
+
+
+ 1736364004544
+
+
@@ -342,7 +353,8 @@
-
+
+
diff --git a/src/main/java/guru/springframework/sfgdi/SfgDiApplication.java b/src/main/java/guru/springframework/sfgdi/SfgDiApplication.java
index 155f997be..e8283c574 100644
--- a/src/main/java/guru/springframework/sfgdi/SfgDiApplication.java
+++ b/src/main/java/guru/springframework/sfgdi/SfgDiApplication.java
@@ -1,5 +1,6 @@
package guru.springframework.sfgdi;
+import guru.springframework.sfgdi.config.SfgConfiguration;
import guru.springframework.sfgdi.controllers.*;
import guru.springframework.sfgdi.datasource.FakeDataSource;
import guru.springframework.sfgdi.services.PrototypeBean;
@@ -50,12 +51,28 @@ public static void main(String[] args) {
PrototypeBean prototypeBean2 = ctx.getBean(PrototypeBean.class);
System.out.println(prototypeBean2.getMyScope());
+ System.out.println("--------- Fake Data Source");
FakeDataSource fakeDataSource = ctx.getBean(FakeDataSource.class);
System.out.println(fakeDataSource.getUsername());
System.out.println(fakeDataSource.getPassword());
System.out.println(fakeDataSource.getJdbcurl());
-
-
+ System.out.println("--------- Config Props Bean");
+ SfgConfiguration sfgConfiguration = ctx.getBean(SfgConfiguration.class);
+ System.out.println(sfgConfiguration.getUsername());
+ System.out.println(sfgConfiguration.getPassword());
+ System.out.println(sfgConfiguration.getJdbcurl());
}
+
}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/guru/springframework/sfgdi/config/GreetingServiceConfig.java b/src/main/java/guru/springframework/sfgdi/config/GreetingServiceConfig.java
index 7edcbc643..cca51f8a9 100644
--- a/src/main/java/guru/springframework/sfgdi/config/GreetingServiceConfig.java
+++ b/src/main/java/guru/springframework/sfgdi/config/GreetingServiceConfig.java
@@ -6,7 +6,6 @@
import guru.springframework.sfgdi.repositories.EnglishGreetingRepository;
import guru.springframework.sfgdi.repositories.EnglishGreetingRepositoryImpl;
import guru.springframework.sfgdi.services.*;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.*;
@ImportResource("classpath:sfgdi-config.xml")
@@ -14,13 +13,11 @@
public class GreetingServiceConfig {
@Bean
- FakeDataSource fakeDataSource(@Value("${guru.username}") String username,
- @Value("${guru.password}") String password,
- @Value("${guru.jdbcurl}") String jdbcurl) {
+ FakeDataSource fakeDataSource(SfgConfiguration sfgConfiguration) {
FakeDataSource fakeDataSource = new FakeDataSource();
- fakeDataSource.setUsername(username);
- fakeDataSource.setPassword(password);
- fakeDataSource.setJdbcurl(jdbcurl);
+ fakeDataSource.setUsername(sfgConfiguration.getUsername());
+ fakeDataSource.setPassword(sfgConfiguration.getPassword());
+ fakeDataSource.setJdbcurl(sfgConfiguration.getJdbcurl());
return fakeDataSource;
}
diff --git a/src/main/java/guru/springframework/sfgdi/config/SfgConfiguration.java b/src/main/java/guru/springframework/sfgdi/config/SfgConfiguration.java
new file mode 100644
index 000000000..a49841d59
--- /dev/null
+++ b/src/main/java/guru/springframework/sfgdi/config/SfgConfiguration.java
@@ -0,0 +1,36 @@
+package guru.springframework.sfgdi.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@ConfigurationProperties("guru")
+@Configuration
+public class SfgConfiguration {
+ private String username;
+ private String password;
+ private String jdbcurl;
+
+ 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;
+ }
+
+ public String getJdbcurl() {
+ return jdbcurl;
+ }
+
+ public void setJdbcurl(String jdbcurl) {
+ this.jdbcurl = jdbcurl;
+ }
+}