IntelliJ IDEA tasting, String(demo)

Jan 24, 2024
IntelliJ IDEA tasting, String(demo)
※IDEA 는 유료버전입니다. 맛보기 순대.
새 프로젝트를 만들어 줍니다. Java, Gradle - Groovy, 21, Jar check! → [ Next ]
New Project 옵션이 많이 늘었어요.
New Project 옵션이 많이 늘었어요.
저희는 3.2.2 버전을 사용합니다. 사진보고 전부 체크해주세요!
notion image
notion image
 
최종으로 이렇게 7개 체크!하고 [Create]하세요!
최종으로 이렇게 7개 체크!하고 [Create]하세요!
 
처음으로 사용해 볼 메서드 입니다.
package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { public HelloController(){ System.out.println("HelloController 컴포넌트 스캔됨"); } @GetMapping("/hello") public void home(){ System.out.println("home 호출됨"); } }
💡
IOC (Inversion of Control = 제어의 역전) 오늘 꼭! 알아가셔야 합니다.
객체를 생성하려면 @RestController 어노테이션을 사용하셔야 합니다. IOC가 자신의 영역(static)에 자료형을 담습니다. 원래 개발자가 객체를 생성하지만 spring이 하는 겁니ㅏㄷ.
메인 클래스 입니다.
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
실행!
신기방기 😮 *Tomcat도 보이네요
신기방기 😮 *Tomcat도 보이네요
웹브라우저에서 http://localhost:8080/hello 로 접근할 수 있습니다.
notion image
notion image
이번엔 두 엔드포인트가 같게 해봅니다.
@GetMapping("/hello") // hello public void home(){ System.out.println("home 호출됨"); } @GetMapping("/hello") // 동일하죠 public String hello(){ String name = "홍길동"; return "<h1>hello"+name+"</h>"; }
❗❗실행중인 메인 클래스를 다시 실행해주세요❗❗
 
이미 사용중인 엔드포인트라 터졌습니다! 똑똑하네요 🧐 바꿔주세요.
이미 사용중인 엔드포인트라 터졌습니다! 똑똑하네요 🧐 바꿔주세요.
————홍길동 실행중————
notion image
이거 완전 html 아님
이거 완전 html 아님
 
랜덤한 수를 포함한 문자열을 반환하는 메소드를 추가해봐요~
@GetMapping("/random") public String hello(){ Random r = new Random(); int num = r.nextInt(5)+1; return "<h1>Random"+num+"</h>"; }
 
🎲
/hello 처럼 동일한 대답이 온다면 정적 데이터로 캐싱해서 쓰는게 조흣ㅂ니ㅏ.
/random은 동적 데이터니까 캐싱할 필요가 없죠
 
∴캐시하지 않음 (아직 어디쓰는 지 모르겠어요 추후에 사용하겠습니다~)
Cache-Control: no-store
HTTP 헤더 중 하나로, 브라우저나 다른 캐시 저장소에 응답의 복사본을 저장하지 말아야 함을 나타냅니다.
Share article

MiracleCoding