Move articles from spring-core-6 module to other spring-boot modules (#13722)

* Move articles from spring-core-6 module to other spring-boot modules

* JAVA-19559 Move articles from spring-core-6 module to other spring-boot-3 modules

* JAVA-19559 Minor spacing change

* JAVA-19559 Revert  Minor spacing change
This commit is contained in:
anuragkumawat
2023-03-30 21:53:07 +05:30
committed by GitHub
parent cbb69570dc
commit 76c20e61e5
18 changed files with 143 additions and 446 deletions

View File

@@ -0,0 +1,20 @@
package com.baeldung.envvariables;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "baeldung")
public class BaeldungProperties {
private String presentation;
public String getPresentation() {
return presentation;
}
public void setPresentation(String presentation) {
this.presentation = presentation;
}
}

View File

@@ -0,0 +1,60 @@
package com.baeldung.envvariables;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Value("${environment.name}")
private String environmentName;
@Value("${java.home.and.environment}")
private String javaHomeAndEnvironmentName;
@Value("${thispropertydoesnotexist}")
private String nonExistentProperty;
@Value("${baeldung.presentation}")
private String baeldungPresentation;
@Autowired
private Environment environment;
@Autowired
private BaeldungProperties baeldungProperties;
@GetMapping("/environment_name")
String getEnvironmentName_FromEnvironmentVariables() {
return environmentName;
}
@GetMapping("/java_home_and_environment")
String getJavaHomeAndEnvironmentName_FromEnvironmentVariables() {
return javaHomeAndEnvironmentName;
}
@GetMapping("non_existent_property")
String getNonexistentProperty_FromEnvironmentVariables() {
return nonExistentProperty;
}
@GetMapping("baeldung_presentation_from_value")
String getBaeldungPresentation_FromValue() {
return baeldungPresentation;
}
@GetMapping("baeldung_presentation_from_environment")
String getBaeldungPresentation_FromEnvironment() {
return environment.getProperty("baeldung.presentation");
}
@GetMapping("baeldung_configuration_properties")
String getBaeldungPresentation_FromConfigurationProperties() {
return baeldungProperties.getPresentation();
}
}

View File

@@ -26,4 +26,9 @@ spring.config.activate.on-profile=multidocument-prod
spring.datasource.password=password
spring.datasource.url=jdbc:h2:prod
spring.datasource.username=prodUser
bael.property=prodValue
bael.property=prodValue
#---
environment.name=${OS}
java.home.and.environment=${JAVA_HOME}+${OS}
not.existing.system.property=${thispropertydoesnotexist}
baeldung.presentation=${HELLO_BAELDUNG}. Java is installed in the folder: ${JAVA_HOME}

View File

@@ -0,0 +1,36 @@
package com.baeldung.envvariables;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
@SpringBootTest(classes = MyController.class)
@AutoConfigureMockMvc
public class MyControllerIntegrationTest {
@Autowired
private MockMvc mockMvc;
/** NB : these tests are commented out because they are environment dependent
* If you want to run one of them on your machine, follow the instruction above it
*
* expects the value of your system environment property 'OS' (it is already defined at least in Windows_NT)
@Test void givenExistingSystemProperty_whenInjected_thenHasSystemPropertyValue() throws Exception {
mockMvc.perform(get("/environment_name"))
.andExpect(content().string(equalTo("Windows_NT")));
}
* expects the value of the JAVA_HOME environment variable (you need to define it if you haven't yet), with a + and the 'OS' environment property in the end
@Test void givenCombinationOfSystemPropertyAndEnvironmentVariable_whenInjected_thenHasExpectedValue() throws Exception {
mockMvc.perform(get("/java_home_and_environment"))
.andExpect(content().string(equalTo("C:\\Program Files\\Java\\jdk-11.0.14+Windows_NT")));
}
* expects the content to be ${thispropertydoesnotexist} ; if you have defined an environment property called thispropertydoesnotexist, it would fail
@Test void givenNonExistentProperty_whenInjected_thenKeepsTheStringValue() throws Exception {
mockMvc.perform(get("/non_existent_property"))
.andExpect(content().string(equalTo("${thispropertydoesnotexist}")));
}
*/
}