[스프링] 스프링과 React를 사용한 실시간 데이터 처리

이번 포스팅에서는 스프링 프레임워크와 React를 사용하여 실시간으로 데이터를 처리하는 방법에 대해 살펴볼 것입니다.

스프링 프레임워크를 사용한 백엔드 구현

우선, 스프링을 사용하여 백엔드를 구현해야 합니다. Spring Boot를 사용하여 간단하게 백엔드 서버를 설정할 수 있습니다.

@RestController
public class DataController {

    @GetMapping("/data")
    public String getData() {
        // 데이터 처리 로직
        return "realtime data";
    }
}

위 코드는 간단한 스프링 컨트롤러 예제입니다. /data 엔드포인트로 GET 요청이 들어오면 실시간 데이터 처리를 위한 응답을 반환합니다.

React를 사용한 프론트엔드 구현

이제 React를 사용하여 프론트엔드를 구현할 차례입니다. WebSocket을 통해 실시간으로 데이터를 받아올 수 있습니다.

import React, { useState, useEffect } from 'react';

function RealtimeData() {
    const [data, setData] = useState("");

    useEffect(() => {
        const ws = new WebSocket('ws://localhost:8080/data');
        ws.onmessage = (event) => {
            setData(event.data);
        };
    }, []);

    return (
        <div>
            <h1>Realtime Data: {data}</h1>
        </div>
    );
}

React 컴포넌트에서 WebSocket을 생성하고, 데이터가 도착할 때마다 화면을 업데이트합니다.

스프링과 React의 연동

마지막으로, 스프링과 React를 연동하여 실시간으로 데이터를 주고받을 수 있도록 설정해야 합니다.

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(new DataWebSocketHandler(), "/data").setAllowedOrigins("*");
    }
}

위 코드는 WebSocketConfig 클래스를 통해 스프링 애플리케이션에 WebSocket을 설정합니다.

이제 스프링과 React가 실시간 데이터를 주고받을 수 있는 환경이 마련되었습니다.

결론

이를 통해 스프링과 React를 사용하여 실시간 데이터 처리를 구현할 수 있습니다. 백엔드에서는 스프링을 사용하여 데이터를 처리하고, 프론트엔드에서는 React를 사용하여 실시간으로 데이터를 표시할 수 있습니다.

참고 자료

  1. Spring Boot
  2. React
  3. WebSocket API
  4. Spring WebSocket