3. spring initializr을 이용한 project만들기(demo)

3. spring initializr을 이용한 project만들기(demo)

이전에는 sts tool에서 springboot 세팅을 했었다. spring boot의 장점 중 하나는 tool에 상관없이 spring initializr 홈페이지에서도 환경설정이 가능하다는 것이다.

환경설정을 완료했으면 generate를 통해 zip파일로 다운을 받는다. 압축해제를 한 폴더를 import를 하여 sts에서 사용할 수 있게 한다. sts에서 요류가 생길 시에 유용하게 사용이 가능하다.

HelloController 클래스 생성

@RestController public class HelloController { @GetMapping("/") public String hello() { return "hello. Spring"; } }

controller Annotation을 사용 후 getMapping을 통해 '/'로 들어오는 것을 처리할 수 있도록한다.

VO클래스 만들기

vo를 만들기 위해서는 lombok을 사용해야하는데 방법은 2가지가 있다

- pom.xml에서 addstarters를 통해 lombok추가(충돌이 날 가능성이 많음)

- 라이브러리에서 가져와 복사 후 붙이기

UserVO 클래스 생성

@Data @AllArgsConstructor @NoArgsConstructor public class UserVO { private String userid; private String name; private String gender; private String city; }

Demoapplication.java 수정

@SpringBootApplication @ComponentScan(basePackages = {"com.example"}) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

@SpringBootApplication이 있음에도 @componentScan을 사용하는 이유는 @SpringBootApplication안에 있는 componentscan은 main method가 있는 클래스만 스캔을 하기 때문에 @ComponentScan을 사용하지 않으면 다른 class에 있는 controller를 읽어올 수 없다.

UserController 클래스 생성

@RestController public class UserController { @GetMapping("/getUser") public UserVO getUser() { UserVO user = new UserVO(); user.setUserid("jimin"); user.setName("한지민"); user.setGender("여"); user.setCity("서울"); return user; } }

UserVO가 리턴타입이기때문에 return 될 때에는 jason으로 포팅된다. 따라서 받는 쪽이 jquery로 받고 ajex로 받아온 데이터들을 테이블로 받을 수 있다.

from http://wonho.tistory.com/10 by ccl(A) rewrite - 2021-11-24 01:01:03