@Slf4j
@SpringBootApplication
public class MainController {
public static void main(String[] args) {
Test test = new Test(); // 아래 선언한 Test라는 클래스를 가져와 쓸 수 있는 인스턴스 생성
log.info(test.hello); // TaeHoon
}
}
class Test {
String name = "kim";
public void hello() {
log.info("TaeHoon");
}
}
클래스는 서로 관련이 있는 필드나 메소드를 담고 있는 통이다.
클래스는 오브젝트 타입이기 때문에 데이터 타입이 될 수 있다.
클래스를 생성해 사용하면 원본 클래스 내부의 필드와 메소드는 원본을 유지할 수 있다.
서버
서버란 요청이 들어오면 그 요청에 대한 응답을 요청자에게 전달하는 프로그램을 말한다.
@Controller // 서버의 역할을 해주는 어노테이션 (요청과 응답의 통로로 이용된다.)
public class BasicController {
@GetMapping("/") // "" 안의 url 주소로 GET 요청을 보내는 어노테이션
@ResponseBody // return 타입이 String일 때, return 값을 데이터가 아닌 문자열로 전달한다.
public String hello() {
return "안녕하세요";
}
}
위의 코드를 실행한 후, 본인 포트로 접속하면 return 값이 나오는 것을 볼 수 있다.
@Controller
서버 기능을 만들어 주는 어노테이션
요청과 응답의 통로
(API의 생성을 하게 해주는 어노테이션)
@ResponseBody
해당 어노테이션 사용 시, 데이터가 아닌 문자열로 전송
@Controller가 붙은 클래스 내부의 코드 덩어리들은 하나하나가 서버의 기능을 의미하며 곧 API라고 말할 수 있다.
라이브러리 관리 (gradle 기준)
build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}
dependencies 안에 원하는 라이브러리를 추가하고
Load Gradle Change 실행하면 다운로드 받을 수 있다.
백단에서의 추가 및 수정 삭제는 항상 작업이 끝난 후, 서버를 리로드 해야 적용된다.
HTML 폴더
spring boot 기준, resources 폴더 안에는static, templates 폴더가 존재한다.
static 폴더는 정적인 htmltemplates 폴더는 동적이며 바인딩이 가능한 html
Model
@Controller
public class ItemController {
@GetMapping("/list")
public String list(Model model) {
model.addAttribute("response", "자켓");
return "list.html";
}
}
model.addAttribute("dataName", "value");
전달하고자 하는 데이터를 모델에 데이터네임으로 담아 뷰단으로 전달할 수 있다.
'spring boot' 카테고리의 다른 글
JPA / spring boot (JPA , ORM, Hibernate) (0) | 2024.08.19 |
---|---|
JPA / spring boot (JPA , ORM, Hibernate) (0) | 2024.08.11 |
JPA / spring boot 게시글 수정 (0) | 2024.08.08 |
JPA / spring boot 기초 (0) | 2024.08.07 |
JPA / spring boot 기초 (JPA / ORM, 접근 제어자, lombok, Repository, @Entity) (0) | 2024.08.06 |