세팅된 환경이 잘 켜지는지 확인해봅시다.
디렉토리는 밑줄 친 demo까지 이동해야 합니다.
터미널에 아래 명령어를 입력합니다.
./mvnw spring-boot:run
짜잔 에러가 나네요.
포트가 없어서 그러니 포트 설정을 해줍니다.
application.properties 파일로 이동합니다. 다른 언어에서 .env파일과 같은 역할입니다.
자신의 디비 정보를 입력해주세요.
그래도 에러가 날거에요 pom.xml에 mysql을 추가해줘야하기 때문입니다.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
이 부분을 추가해줄게요.
다시 서버를 실행해보면
제대로 실행되는 것을 확인할 수 있네요.
이제 crud를 작성하기 위한 디렉토리 세팅을 하겠습니다.
demo>src>main>java|daily|coding 안에 아래와 같은 controller,mapper,models,service디렉토리를 생성해주세요.
컨트롤러에 ExController.java 파일을 생성하여 crud를 작성하기 위해 아래와 같이 내용을 작성합니다.
package daily.coding.controller; // 자기 위치를 명시
// 프레임워크에 탑재된 기능 가져오기
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@RestController // restApi를 작성할 수 있는 컨트롤러
@RequestMapping("/api") // url을 api로 지정
@CrossOrigin(origins="*", allowedHeaders="*") // cors허용
public class ExController {
}
우선 get으로 원하는 내용을 띄워보겠습니다.
package daily.coding.controller; // 자기 위치를 명시
// 프레임워크에 탑재된 기능 가져오기
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@RestController // restApi를 작성할 수 있는 컨트롤러
@RequestMapping("/api") // url을 api로 지정
@CrossOrigin(origins="*", allowedHeaders="*") // cors허용
public class ExController {
@GetMapping("/hello")
public ResponseEntity<Map<String,String>> Hello() {
Map<String,String> map = new HashMap<>();
map.put("result", "hello world");
return new ResponseEntity<>(map, HttpStatus.OK);
}
}
실행시켜보면 에러가 날거에요.
내장 모듈을 사용하여 작성했지만 내장 모듈을 import 시키지 않았기 때문이에요.
나중에 사용할 친구들도 미리 import시켜서 작성하면
package daily.coding.controller; // 자기 위치를 명시
// 프레임워크에 탑재된 기능 가져오기
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
// 자바 가지고 있는 내장 모듈
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.List;
import java.util.Iterator;
@RestController // restApi를 작성할 수 있는 컨트롤러
@RequestMapping("/api") // url을 api로 지정
@CrossOrigin(origins="*", allowedHeaders="*") // cors허용
public class ExController {
@GetMapping("/hello")
public ResponseEntity<Map<String,String>> Hello() {
Map<String,String> map = new HashMap<>();
map.put("result", "hello world");
return new ResponseEntity<>(map, HttpStatus.OK);
}
}
이렇게 작성해주면 됩니다.
실행해보면 제대로 실행되는 모습을 볼 수 있을 거에요.
이제 포스트맨으로 작성한 내용을 한번 확인해볼게요.
에러가 나네요.
DemoApplication.java에서 추가해줘야 할 내용이 있어요.
package daily.coding.demo;
import daily.coding.controller.ExController; // 컨트롤러 불러오기
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan; //컴포넌트 스캔을 위한 모듈
@SpringBootApplication
@ComponentScan(basePackageClasses={ExController.class}) //컨트롤러 스캔
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
이렇게 작성해준 후, 다시 포스트맨을 돌려보면
성공적으로 "hello world"가 뜨는 것을 확인할 수 있어요.
'Java' 카테고리의 다른 글
[Java] 3. JWT와 bcrypt 적용하기 (0) | 2021.08.22 |
---|---|
[Java] 01. 시작하기(Spring Boot With VSCode) (0) | 2021.08.18 |