티스토리 뷰
xml을 사용하지않는 값의 전송방식 2번째입니다.
MainClass부터 보도록 할게요.
package com.java.te;
import java.util.Scanner;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MainClass {
public static void main(String[] args) {
String config = null;
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
if(str.equals("dev")) {
config = "dev";
}else if(str.equals("run")) {
config = "run";
}
AnnotationConfigApplicationContext ctx= new
AnnotationConfigApplicationContext(); // 클래스 등록 ApplicationConfig 안의 내용을 읽기 위해
ctx.getEnvironment().setActiveProfiles(config);
ctx.register(run.class, dev.class);
ctx.refresh();
ServerInfo connection
= ctx.getBean("serverInfo", ServerInfo.class);
System.out.println("ip : " + connection.getIpNum());
System.out.println("port : "+ connection.getPortNum());
ctx.close();
}
}
Profile을 이용해서 원하는 값만 출력하도록 메인을 문을 작성했습니다.
Profile을 활용하는 방법은 아래서 설명하도록 하렉요
Scanner를 통해서 config값을 설정해줍니다 config는 따로 기능이 있는 것이 아닌 String문을 담는 그릇입니다.
package com.java.te;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@Configuration
@Profile("dev")
public class dev {
// @Value("${ipNum}")// 프로퍼티에만 사용
// private String ipNum;
// @Value("${portNum}")
// private String portNum;
@Bean
public ServerInfo serverInfo() {
ServerInfo serverInfo = new ServerInfo();
serverInfo.setIpNum("localhost2");
serverInfo.setPortNum("81");
return serverInfo;
}
}
package com.java.te;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@Configuration
@Profile("run")
public class run {
// @Value("${ipNum}")//프로퍼티에만 사용
// private String ipNum;
// @Value("${portNum}")
// private String portNum;
@Bean
public ServerInfo serverInfo() {
ServerInfo serverInfo = new ServerInfo();
serverInfo.setIpNum("localhost");
serverInfo.setPortNum("8181");
return serverInfo;
}
}
package com.java.te;
public class ServerInfo {
private String ipNum;
private String portNum;
public String getIpNum() {
return ipNum;
}
public void setIpNum(String ipNum) {
this.ipNum = ipNum;
}
public String getPortNum() {
return portNum;
}
public void setPortNum(String portNum) {
this.portNum = portNum;
}
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- springcloud
- Gateway
- consumer
- UserService
- github
- prometheus
- zipkin
- 오늘저녁 삼겹살
- kafka
- MSA
- Logstash 활용
- MariaDB
- 운동
- 운동일기
- JWT
- docker
- producer
- 루틴기록
- rabbitmq
- config
- 미래의나에게동기부여
- elasticSearch
- 빅-오
- git
- Logstash to ElasticSearch
- ACTUATOR
- Kafka Connect
- Feign
- Spring + ELK
- LoadBalancer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함