기본 용어
Spring
자바 기반 웹 애플리케이션 개발을 위한 오픈소스 프레임워크
설정이 복잡함
Spring Boot
Spring 프레임워크를 쉽게 사용할 수 있게 해주는 도구 (일종의 템플릿)
REST API (REpresentational State Transfer API)
REST: 웹에서 데이터를 주고받기 위한 표준 아키텍쳐 스타일, HTTP 프로토콜 기반
API(Application Programming Interface): 프로그램과 프로그램을 연결하는 일종의 프로토콜
REST API: REST 원칙을 따라 설계된 웹 기반 API
빌드 도구
빌드: 다운로드, 컴파일, 링크, 패키징 등 어플리케이션 제작에 필요한 전반적인 과정
빌드 도구: 빌드 과정에서 필요한 외부 라이브러리를 알아서 관리해줌
eg)
Gradle: 빌드 속도가 Maven에 비해 10~100배 가량 빠름, 멀티 프로젝트 빌드 지원 (주입 방식)
Maven: 정해진 Lifecycle에 의하여 작업을 수행, 전반적인 프로젝트 관리 기능을 포함 (상속 방식)
Spring Boot 프로젝트 생성하기
잘 해야한다! 5번 다시 생성했다....
- Group Id는 도메인을 거꾸로 적음 (이게 패키지구조가 됨)
- Type: Gradle - Groovy
- Pakaging: Jar
- Java Version: 21
- 의존성: Spring Web 선택

웹 주소: http://127.0.0.1:8080/
index.html에 들어간 내용이 기본 웹페이지(뒤에 아무것도 안 붙은 거)가 됨
@RestController
public class HelloController {
//주소 맨 뒤에 web이 들어가면 이게 출력
@RequestMapping("/web")
public String hello() {
return "Hello Spring!!";
}
//주소 맨 뒤에 java가 들어가면 이게 출력
@RequestMapping("/java")
public String hi() {
return "안녕 스프링";
}
public static void main(String[] args) {
System.out.println("안녕 스프링!!");
}
}
기본 어노테이션
| @SpringBootApplication | 일종의 main, 애플리케이션의 시작점, 보통 뭐시기Application 클래스 앞에 붙어있음 |
| @RestController | REST 응답을 반환하는 컨트롤러, 보통 뭐시기 Controller 클래스 앞에 붙어있음 |
| @Service | 비즈니스 로직, 보통 뭐시기 Service 클래스 앞에 붙어있음 |
| @RequestMapping | GET/POST 등 HTTP 요청을 매핑 |
| @GetMapping | GET 요청을 처리하는 메서드 앞에 붙여서 매핑 |
| @PostMapping | POST 요청을 처리하는 메서드(컨트롤러에 있음) 앞에 붙여서 매핑 |
| @RequestParam | 파라미터 받아올 때, 파라미터 앞에 붙임 |
| @PathVariable | url 경로 일부를 변수로 받아옴 |
| @Autowired | 생성자, Setter 없어도 자동으로 의존성을 주입해줌, 주입할 객체 선언 앞에 붙임 |
@SpringBootApplication
public class HelloMassageApplication {
private final GreetingController greetingController = new GreetingController();
public static void main(String[] args) {
SpringApplication.run(HelloMassageApplication.class, args);
}
}
HelloMessageApplication
@RestController
public class GreetingController {
@Autowired
private GreetingService greetingService;
@PostMapping("/hello")
public String sayHello(@RequestParam(name ="name") String name) {
System.out.println(name);
return greetingService.getGreeting(name);
}
}
GreetingController
@Service
public class GreetingService {
public String getGreeting(@RequestParam("name") String name) {
return "안녕하세요! "+ name +"님, 오늘도 좋은 하루 보내세요^^";
}
}
GreetingService
<html>
<body>
<meta charset="UTF-8">
<form method="post" action="http://localhost:8080/hello", accept-charset="UTF-8">
<input type="text" name="name" value="이름을 입력하세요"/>
<button type="submit">보내기</button>
</html>
user.html
웹 주소: http://127.0.0.1:8080/user.html

실행결과


소감
코드를 많이 치지 않았는데 뚝딱 입출력이 가능해서 신기했다!
html은 따로 공부해야하는 것 같다. JavaScript? CSS?도?
혼자 웹페이지 만들어보려고 찾아봤을 떄 REST API? 그게 뭔데ㅜㅜ 하고 그만뒀었는데 이제 뭔지 안다. 단어 하나 알았는데 똑똑해진 기분이다. 프로젝트 구조 저 밑에 있는 파일들이 뭔지 다 알게 되는 그날까지....화이팅!!!!
'JAVA' 카테고리의 다른 글
| [마피아] Start Sequence (0) | 2025.11.21 |
|---|---|
| [마피아] Join Sequence (0) | 2025.11.21 |
| [JAVA] DB (0) | 2025.11.16 |
| [JAVA] Network & Socket (0) | 2025.11.04 |
| [JAVA] GUI & Thread - 알낳기 (0) | 2025.10.31 |