2016-11-02 4 views
1

속성 미리보기.Application.properties에서 값을 검색하는 방법은 무엇입니까?

# Email (MailProperties) 
spring.mail.default-encoding=UTF-8 # Default MimeMessage encoding. 
spring.mail.host= # SMTP server host. For instance `smtp.example.com` 
spring.mail.jndi-name= # Session JNDI name. When set, takes precedence to others mail settings. 
spring.mail.password= # Login password of the SMTP server. 
spring.mail.port= # SMTP server port. 
spring.mail.properties.*= # Additional JavaMail session properties. 
spring.mail.protocol=smtp # Protocol used by the SMTP server. 
spring.mail.test-connection=false # Test that the mail server is available on startup. 
spring.mail.username= # Login user of the SMTP server. 
some.prop = testingTesting 

내 Java 클래스에서 springmail.protocol 또는 여러 속성을 검색하려면 어떻게해야합니까?

나는 현재 내 app.properties 파일에서 내 특성을 인쇄하려면이 방법을 사용하고

@Component 
public class MyBean { 

    private final String prop; 

    @Autowired 
    public MyBean(@Value("${some.prop}") String prop) { 
     this.prop = prop; 
     System.out.println("================== " + prop + "================== "); 
    } 
} 

시도합니다. 나는 단지 하나의 가치 이상을 주석하고 싶다.

@value "{some.prop, second.prop, 3rd.prop}") String prop, propOne, Prop2 

여러 값을 호출 할 수 있습니까? 또한이 클래스의 속성을 인스턴스화 한 후에 다른 클래스에서이 속성을 어떻게 사용할 수 있습니까?

+0

"이 클래스의 속성을 인스턴스화 한 후에도이 속성을 다른 클래스에서 어떻게 사용할 수 있습니까?" - 매개 변수로 전달하여 정상적인 방법으로 클래스간에 데이터를 전달합니다. – eis

+0

'MailProperties'를 주입하려 했습니까? –

+0

@eis 일반/간단한 예를 보여줄 수 있습니까? myBean mb = new myBean (some.prop, second.prop); mb.getsome.prop? – Jesse

답변

2

당신은 쉽게 하나 개 이상의 인수

@Autowired 
public MyBean(
    @Value("${some.prop}") String prop, 
    @Value("${some.prop2}") String prop2) {   
} 

주석을 달 수님께 @Autowire 예를 org.springframework.core.env.Environment의와 속성의 값을 얻을 getProperty 메소드를 호출 (메소드의 인수 또는 인스턴스 필드 등).

@Value로 단일 속성을 주입하는 것이 일반적으로 비즈니스 로직을 Spring API에 연결하지 않기 때문에 더 좋습니다.

스프링 부트에서는 클래스에 @ConfigurationProperties (prefix = "connection") 주석을 사용하여 여러 속성을 주입 할 수도 있습니다. 자세한 내용은 http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-typesafe-configuration-properties을 참조하십시오.

관련 문제