2022년 스파르타코딩

Spring 개발일지 EP.1

KIMYOUNGIN 2022. 7. 7. 23:17
반응형

가이드에 따라서 스프링 설치 

우선 스프링을 설치했다고해서 뭐 바뀌는게 아니라 java로 구성된 환경에서 개발 잘 하라고 만든 프레임 워크이다.

파고들면 어려워서 일단 여기서 일보후퇴.

* 목표 *

- 클래스(Class), 메소드(Method), 멤버(Member) 정리 

- 스프링 작동법

-Contoller

-Gradle

 


클래스(Class)는 정보를 묶는 것으로

현실과 비슷한 개념(객체)을 나타내기 위한 자바의 도구를 클래스라고 부른다.

메소드(Method)는 함수라고 생각해도 될거같은데...

멤버(Member)는 클래스 내 정보를 멤버 변수 라고 한다.

 

이어서 연습을 통해서 흐름을 알아보기로 해보자.


프로젝트를 생성한다. 

group (com.sparta) (도메인 거꾸로 적는게 국룰임),

artifact (week01_hwk)를 본인 취향대로 적어주고

type는 gradle 

version은 8 설정하고 NEXT 한 후 

스프링 웹, JPA, H2디비, MySQL, LOMBOK을 5개 설정하고 프로젝트 시작~


그 다음 person 클래스를 만들고 3개 멤버변수 만들어보자

클래스는 src/main/java/com.sparta.week01_hwk에서 models랑 controller패키지를 만들자(이 디렉토리 구조가 국룰)

models 패키지에 Person 클래스 생성~

package com.sparta.week01_hwk.models;

public class Person {
    private String name;
    private String address;
    private int age;
    private String job;

    //getter : 따로 받을껀 없고 리턴해주는게 중요하다.
    //public으로 누구나 쓸수있게 허용, 
    //get변수명() 형태로 적고 
    //반환형태 get 변수명() 의형태로 적어준다. 그럼 아래코드~
    //this는 나 자신-> 여기있는 네임 쓸꺼다~
    
    public String getName() {
        return this.name;
    }
    public String getAddress() {
        return this.address;
    }
    public int getAge() {
        return this.age;
    }
    public String getJob() {
        return this.job;
    }


    //setter 돌려주는 값은 없음(void) 입력값은 있어야함 - 괄호안에 들어올 애들
    // 뭔가 값이 들어오면 해당 값이 name, address, age, job이다~ 라고 설정하는거임 
    
    public void setName(String name){
        this.name=name;
    }
    public void setAddress(String address){
        this.address=address;
    }
    public void setAge(int age){
        this.age = age;
    }
    public void setJob(String job){
        this.job = job;
    }

}

자 이제 컨트롤러 만들어보자. 컨트롤러 패키지아래 PersonController.java 만들어 보자

package com.sparta.week01_hwk.controller;

import com.sparta.week01_hwk.models.Person;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class PersonController {

    @GetMapping("/myinfo") //브라우저에서 요청할때 GET방식임. /myinfo 요청오면 아래 메소드실행해라
    public Person getPersonInfo(){ //리턴타입은 Person , 메소드 이름은 취향껏(getPersonInfo)
        Person person = new Person(); 
        person.setName("손흥민");
        person.setAddress("한국");
        person.setAge(124);
        person.setJob("토트넘 공격수");

        return person;

    }
}

이렇게 다 코드를 짰다면

실행 해보자

 

그럼 localhost:8080/myinfo로 접속하면 뜸.

가끔 포트 경로 겹치는 경우가 있는데

저기 들어가서 server.port = 너가 원하는 포트 4자리 

접속하면 된다. 아니면 컴터 재실행 해라.

어때요 참 쉽죠?

 

- Gradle : 얘는 빌드 도와주는 애인데

파이썬에서 pip install requests들어본적있나? 라이브러리 다운받아오는거.

파이썬은 pip 자바는 maven  json?뭐시기 있는데 우리는 자바 메이븐 사이트 들어가서 쓸만한거 코드 복붙해오면 된다.

반응형