How to get the property value in spring boot?
up vote
-1
down vote
favorite
I have property file in resource directory and able to access by using annotation like below
@Value("${key}")
provide that class use above annotation must use stereotype annotations like @component in class level for example like below
@Component
public class Test{
@Value("${key}")
private String key;
}
Question here is how to access the value for key from property file in Test class without using any stereotype annotations. Spring boot environment
spring spring-boot spring-security spring-boot-admin
|
show 2 more comments
up vote
-1
down vote
favorite
I have property file in resource directory and able to access by using annotation like below
@Value("${key}")
provide that class use above annotation must use stereotype annotations like @component in class level for example like below
@Component
public class Test{
@Value("${key}")
private String key;
}
Question here is how to access the value for key from property file in Test class without using any stereotype annotations. Spring boot environment
spring spring-boot spring-security spring-boot-admin
Why do you need that? Either it's an integration test annotated with@RunWith(SpringRunner.class)or@SpringBootTest, in which case you can use the@Valueannotation in the test class too, or it's a unit-test, and in that case you should emulate the value manually anyway.
– Selindek
Nov 15 at 15:48
no its not unit test. i have shared sample code above..at one scenario i need to have that property in class where i have not used sterotype annotation
– basky
Nov 15 at 15:54
Sorry, I misunderstood the question. But if you don't use stereotype annotations then it means that you create that bean/object manually somewhere. So you can inject the value into the creator bean with@Valueand when you create a Test object in this bean you can set the value via a setter (or constructor)
– Selindek
Nov 15 at 15:58
1
static is evil :)
– Selindek
Nov 15 at 16:12
1
Create a MyProperties class instead annotated with@ConfigurationPropertiesand inject this property-bean into your service classes. And then you can access the individual properties via getters.
– Selindek
Nov 15 at 16:14
|
show 2 more comments
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
I have property file in resource directory and able to access by using annotation like below
@Value("${key}")
provide that class use above annotation must use stereotype annotations like @component in class level for example like below
@Component
public class Test{
@Value("${key}")
private String key;
}
Question here is how to access the value for key from property file in Test class without using any stereotype annotations. Spring boot environment
spring spring-boot spring-security spring-boot-admin
I have property file in resource directory and able to access by using annotation like below
@Value("${key}")
provide that class use above annotation must use stereotype annotations like @component in class level for example like below
@Component
public class Test{
@Value("${key}")
private String key;
}
Question here is how to access the value for key from property file in Test class without using any stereotype annotations. Spring boot environment
spring spring-boot spring-security spring-boot-admin
spring spring-boot spring-security spring-boot-admin
asked Nov 15 at 15:27
basky
406
406
Why do you need that? Either it's an integration test annotated with@RunWith(SpringRunner.class)or@SpringBootTest, in which case you can use the@Valueannotation in the test class too, or it's a unit-test, and in that case you should emulate the value manually anyway.
– Selindek
Nov 15 at 15:48
no its not unit test. i have shared sample code above..at one scenario i need to have that property in class where i have not used sterotype annotation
– basky
Nov 15 at 15:54
Sorry, I misunderstood the question. But if you don't use stereotype annotations then it means that you create that bean/object manually somewhere. So you can inject the value into the creator bean with@Valueand when you create a Test object in this bean you can set the value via a setter (or constructor)
– Selindek
Nov 15 at 15:58
1
static is evil :)
– Selindek
Nov 15 at 16:12
1
Create a MyProperties class instead annotated with@ConfigurationPropertiesand inject this property-bean into your service classes. And then you can access the individual properties via getters.
– Selindek
Nov 15 at 16:14
|
show 2 more comments
Why do you need that? Either it's an integration test annotated with@RunWith(SpringRunner.class)or@SpringBootTest, in which case you can use the@Valueannotation in the test class too, or it's a unit-test, and in that case you should emulate the value manually anyway.
– Selindek
Nov 15 at 15:48
no its not unit test. i have shared sample code above..at one scenario i need to have that property in class where i have not used sterotype annotation
– basky
Nov 15 at 15:54
Sorry, I misunderstood the question. But if you don't use stereotype annotations then it means that you create that bean/object manually somewhere. So you can inject the value into the creator bean with@Valueand when you create a Test object in this bean you can set the value via a setter (or constructor)
– Selindek
Nov 15 at 15:58
1
static is evil :)
– Selindek
Nov 15 at 16:12
1
Create a MyProperties class instead annotated with@ConfigurationPropertiesand inject this property-bean into your service classes. And then you can access the individual properties via getters.
– Selindek
Nov 15 at 16:14
Why do you need that? Either it's an integration test annotated with
@RunWith(SpringRunner.class) or @SpringBootTest, in which case you can use the @Value annotation in the test class too, or it's a unit-test, and in that case you should emulate the value manually anyway.– Selindek
Nov 15 at 15:48
Why do you need that? Either it's an integration test annotated with
@RunWith(SpringRunner.class) or @SpringBootTest, in which case you can use the @Value annotation in the test class too, or it's a unit-test, and in that case you should emulate the value manually anyway.– Selindek
Nov 15 at 15:48
no its not unit test. i have shared sample code above..at one scenario i need to have that property in class where i have not used sterotype annotation
– basky
Nov 15 at 15:54
no its not unit test. i have shared sample code above..at one scenario i need to have that property in class where i have not used sterotype annotation
– basky
Nov 15 at 15:54
Sorry, I misunderstood the question. But if you don't use stereotype annotations then it means that you create that bean/object manually somewhere. So you can inject the value into the creator bean with
@Value and when you create a Test object in this bean you can set the value via a setter (or constructor)– Selindek
Nov 15 at 15:58
Sorry, I misunderstood the question. But if you don't use stereotype annotations then it means that you create that bean/object manually somewhere. So you can inject the value into the creator bean with
@Value and when you create a Test object in this bean you can set the value via a setter (or constructor)– Selindek
Nov 15 at 15:58
1
1
static is evil :)
– Selindek
Nov 15 at 16:12
static is evil :)
– Selindek
Nov 15 at 16:12
1
1
Create a MyProperties class instead annotated with
@ConfigurationProperties and inject this property-bean into your service classes. And then you can access the individual properties via getters.– Selindek
Nov 15 at 16:14
Create a MyProperties class instead annotated with
@ConfigurationProperties and inject this property-bean into your service classes. And then you can access the individual properties via getters.– Selindek
Nov 15 at 16:14
|
show 2 more comments
1 Answer
1
active
oldest
votes
up vote
0
down vote
Suppose you want to read these values which is present in application.properties file
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=root
Then you can use Environment variable to read it these property values as
class Test {
@Autowired
Environment env;
public void readProperty(){
String driverClassName=env.getProperty("db.driverClassName");
String url=env.getProperty("db.url");
String username=env.getProperty("db.username");
String password=env.getProperty("db.password");
}
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53322698%2fhow-to-get-the-property-value-in-spring-boot%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Suppose you want to read these values which is present in application.properties file
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=root
Then you can use Environment variable to read it these property values as
class Test {
@Autowired
Environment env;
public void readProperty(){
String driverClassName=env.getProperty("db.driverClassName");
String url=env.getProperty("db.url");
String username=env.getProperty("db.username");
String password=env.getProperty("db.password");
}
}
add a comment |
up vote
0
down vote
Suppose you want to read these values which is present in application.properties file
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=root
Then you can use Environment variable to read it these property values as
class Test {
@Autowired
Environment env;
public void readProperty(){
String driverClassName=env.getProperty("db.driverClassName");
String url=env.getProperty("db.url");
String username=env.getProperty("db.username");
String password=env.getProperty("db.password");
}
}
add a comment |
up vote
0
down vote
up vote
0
down vote
Suppose you want to read these values which is present in application.properties file
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=root
Then you can use Environment variable to read it these property values as
class Test {
@Autowired
Environment env;
public void readProperty(){
String driverClassName=env.getProperty("db.driverClassName");
String url=env.getProperty("db.url");
String username=env.getProperty("db.username");
String password=env.getProperty("db.password");
}
}
Suppose you want to read these values which is present in application.properties file
db.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/test
db.username=root
db.password=root
Then you can use Environment variable to read it these property values as
class Test {
@Autowired
Environment env;
public void readProperty(){
String driverClassName=env.getProperty("db.driverClassName");
String url=env.getProperty("db.url");
String username=env.getProperty("db.username");
String password=env.getProperty("db.password");
}
}
answered Nov 15 at 18:20
Altaf
3110
3110
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53322698%2fhow-to-get-the-property-value-in-spring-boot%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why do you need that? Either it's an integration test annotated with
@RunWith(SpringRunner.class)or@SpringBootTest, in which case you can use the@Valueannotation in the test class too, or it's a unit-test, and in that case you should emulate the value manually anyway.– Selindek
Nov 15 at 15:48
no its not unit test. i have shared sample code above..at one scenario i need to have that property in class where i have not used sterotype annotation
– basky
Nov 15 at 15:54
Sorry, I misunderstood the question. But if you don't use stereotype annotations then it means that you create that bean/object manually somewhere. So you can inject the value into the creator bean with
@Valueand when you create a Test object in this bean you can set the value via a setter (or constructor)– Selindek
Nov 15 at 15:58
1
static is evil :)
– Selindek
Nov 15 at 16:12
1
Create a MyProperties class instead annotated with
@ConfigurationPropertiesand inject this property-bean into your service classes. And then you can access the individual properties via getters.– Selindek
Nov 15 at 16:14