주니어 기초 코딩공부/Spring 기초

[스프링부트] @value 어노테이션 오류 application-local.properties

jju_developer 2024. 1. 15. 15:01
728x90

안녕하세요 오늘은 스프링 부트 에서 발생한 오류 내용을 기록하고자 합니다.

 

기존 코딩을 하다가  application.properties에 

# Mqtt
#mqtt.mqttBrokerUrl=tcp://ip주소 : 포트
mqtt.mqttBrokerUrl=tcp://ip주소:포트
mqtt.mqttBrokerId=admin
mqtt.mqttBrokerPw=비번
mqtt.mqttServerId=wbms

이런식으로 정의를 해놓고 나서

 

java 클래스에서 @value로 값을 가져올라고 했는데

자꾸 에러가 났었습니다.

 

이에 따른 해결 방법을 기록하려고 합니다.

 

 

처음에는 @Value 어노테이션을 객체로 생성을 한다고 바로 @value로 해서 받아서 쓸라고 하니까

 

계속 뭐 스프링 빈에 등록이 안됬다 하면서 오류가 났었던 것 입니다.

 

public class Test{

    @Value("${user.name}")
    private String username;
}

 

이렇게 바로 사용을 하려고 하면 오류가 나고,

 

@Component
public class MqttConn implements MqttCallback{
    private static final Logger logger = LoggerFactory.getLogger(MqttConn.class);
    static MqttConnectOptions connOpt;
    static MqttClient client;

    @Value("${mqtt.mqttBrokerUrl}")
    private String mqttBrokerUrl;

 

이렇게 Bean 으로 설정한 객체를 등록하고 사용하면

바로 application 프로퍼티에 등록한 url이나 변수이름이나, 네임이나 다 

java 파일에 끌어다 쓸 수 있습니다.

 

근데 이걸 계속 등록도 안하고 계속 주입해서 쓰려고 하니 오류가 났던것이지요...

 

하나하나 코딩하면서 차근차근 배우며 오류난 것들을 수정하며 기록하겠습니다.

 

그럼 이만... 총총총

728x90