MS Lesson5: Spring Configuration
1. @Value
server.port=9595
amazon.url="https://amazon.com/transfer"
package com.amazon.demoapp.config;
import com.amazon.demoapp.controller.Student;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanConfiguration {
@Value("${amazon.url}")
private String url;
@Bean
public Student getStudent() {
System.out.println("Azericard url is: " + url);
return new Student();
}
}
2. @ConfigurationProperties
package com.amazon.demoapp.config;
import com.amazon.demoapp.controller.Student;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(prefix = "amazon")
public class BeanConfiguration {
private String url;
private Integer timeout;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Integer getTimeout() {
return timeout;
}
public void setTimeout(Integer timeout) {
this.timeout = timeout;
}
@Bean
public Student getStudent() {
System.out.println("Azericard url is: " + url);
System.out.println("Azericard timeout is: " + timeout);
return new Student();
}
}
ve ya
package com.amazon.demoapp.config;
import com.amazon.demoapp.controller.Student;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "amazon")
public class BeanConfiguration {
private String url;
private Integer timeout;
@Bean
public Student getStudent() {
System.out.println("Azericard url is: " + url);
System.out.println("Azericard timeout is: " + timeout);
return new Student();
}
}
ve ya
server.port=9595
amazon.url=${AMAZON_URL:https://amazon.com/transfer}
amazon.connection.timeout=${AMAZON_TIMEOUT:10}
package com.amazon.demoapp.config;
import com.amazon.demoapp.controller.Student;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties(prefix = "amazon")
public class BeanConfiguration {
private String url;
private Connection connection;
@Bean
public Student getStudent() {
System.out.println("Azericard url is: " + url);
System.out.println("Azericard timeout is: " + connection.getTimeout());
return new Student();
}
@Data
public static class Connection {
private Integer timeout;
}
}
ve ya
package com.amazon.demoapp.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "amazon")
public class AmazonProperties {
private String url;
private Connection connection;
@Data
public static class Connection {
private Integer timeout;
}
}
ve ya
server:
port: 9595
amazon:
url: ${AMAZON_URL:https://amazon.com/transfer}
connection-timeout: ${AMAZON_TIMEOUT:10}
package com.amazon.demoapp.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "amazon")
public class AmazonProperties {
private String url;
private Integer connectionTimeout;
}
3. Multiple profiles
spring:
profiles:
include:
- common
- amazon
amazon:
url: ${AMAZON_URL:https://amazon.com/transfer}
connection-timeout: ${AMAZON_TIMEOUT:10}
server:
port: 9595
Комментарии
Отправить комментарий