on
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