학습 기록/스프링 부트3 백엔드 개발자 되기[자바편] (35) 썸네일형 리스트형 [02장.4] 2. 테스트 컨트롤러 살펴보기 @TestController public class TestController{ @GetMapping("/test") public String test(){ return "Hello, world!"; } } @TestController : 라우터 역할을 하는 애너테이션 : 클라이언트 요청에 맞는 메서드를 실행 : @Component 애너테이션처럼 취급됨 * 라우터 : HTTP 요청과 메서드를 연결하는 장치 // RestController.java 파일 @Target(ElmentType.Type) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponeseBody public @interface RestController{ @AliasFor.. [02장. 4] 1. @SpringBootApplication 이해하기 [1단계] SpringBootApplication.java 파일 // 스프링 부트 실행 파일 @SpringBootApplication public class SpringBootApplication{ public static void main(String[] args){ SpringApplication.run(SpringBootAplication.class, args); } } : @SpringBootApplication - 스프링 부트 사용 시 필요한 기본 설정 : SpringBootApplication.run() 메서드 - 애플리케이션 실행 [2단계] SpringBootApplication 애너테이션 구성 @Target(ElementType.TYPE) @Retention(RetentionPolicy.R.. [02장.3] 4. 스프링 부터 3와 자바 버전 스프링 부트3 이전과 이후 사용 가능한 자바 버전의 범위가 다름 스프링 부트 2는 자바 8 버전 이상을 사용했지만, 스프링 부트 3은 자바 17버전 이상을 사용해야 함 [자바 17 버전 주요 변화] 1) 텍스트 블록 : 여러 줄의 텍스트를 작성하려면 \n을 사용했지만 """로 감싼 텍스트를 사용해 여러 줄의 택스트를 표현 가능 String query11 = "SELECT * FROM \"items\"\n"+ "WHERE \"status\"=\"ON_SALE\"\n" + "ORDER BY \"price\";\n"; String qeury17 = """ SELECT * FROM "items" WHERE "status" = "ON_SALE" ORDER BY "price"; """; 2) formatted() .. [02장. 3] 3. 자동구성 자동구성이란? : 애플리케이션이 최소한의 설정만으로도 시행되도록 여러 부분을 자동으로 구성 - 자신이 구성하지 않은 부분을 스프링에서 자동으로 어떻게 구성했는지 확인해야 하는 상황이 왔을 경우 알아야 함 [1단계] : 왼쪽 위 돋보기를 누른 후 File 선택 : sping-boot-autoconfigure/spring.factories 입력 후 첫번째 파일 클릭 [2단계] : 왼쪽 프로젝트 구성에서 External Libraries를 펼쳐 sping-boot-autoconfigure:x.x.x 파일 확인 : 파일 내에는 자동 설정 파일 확인이 가능 [02장.3] 2. 스프링 부트 스타터 살펴보기 스프링 부트 스타터란? : 의존성이 모여있는 그룹 : 필요한 기능을 간편하게 설정 가능 : spring-boot-starter-[작업유형] 명명규칙 존재 스타터 1) spring-boot-starter-web : Spring MVC를 사용해서 RESTful 웹 서비스를 개발할 때 필요한 의존성 모음 2) spring-boot-starter-test : 스프링 애플리케이션을 테스트하기 위해 필요한 의존성 모음 3) spring-boot-starter-validation : 유형성 검사를 위해 필요한 의존성 모음 4) spring-boot-starter-actuator : 모니터링을 위해 애플리케이션에서 제공하는 다양한 정보를 제공하기 쉽게 하는 의존성 모음 5) spring-boot-starter-data.. [02장.3] 1. 스프링 부트3 둘러보기 예제 [1단계] 코드를 작성 @RestController public class TestController{ @GetMapping("/test") public String test(){ return "Hello, world; } } 1) 컨트롤러로 만들기 위해 @RestController 사용 2) GetMapping을 이용하며, 주소를 /test 로 지정 3) "Hello, world"를 리턴하여 해당 문자를 출력하도록 지정 [2단계] 코드가 작성하는지 확인 1) 실행 버튼을 통해 애플리케이션 실행 (코드 변경사항이 있을 경우 재시작이 필요) 2) "http://localhost:8080/test" 주소로 접속 >> Hello, world가 출력 *http://localhost(1):8080(2)/test(.. [02장.2] 4. 이식 가능한 서비스 추상화(PSA) 이식 가능한 서비스 추상화(PSA; Portable Service Abstraction)이란? : 스프링에서 제공하는 다양한 기술들을 추상화해 개발자가 쉽게 사용하는 인터페이스 예시) - 클라이언트의 매핑과 클래스, 메서드의 매핑을 위핸 애너테이션 - 스프링에서 데이터베이스에 접근하기 위한 기술로 JPA, MyBatis, JDBC와 가은 것들이 존재하는데, 어떤 기술을 사용하던 일관된 방식으로 데이터베이스에 접근하도록 인터페이스를 지원 - WAS를 톰캣이 아닌 언더토우, 네티 같은 곳에서 실행해도 기존 코드를 그대로 사용할 수 있음 더 자세한 사항은 아래 링크 참고 https://kcode-recording.tistory.com/44 [Spring Core] PSA (Portable Service Abs.. [02장.2] 3. 관점 지향 프로그래밍(AOP) 관점 지향 프로그래밍(AOP; Aspect Oriented Programming)이란? : 프로그래밍에 대한 관심을 핵심 과점, 부가 관점(공통 기능)으로 나누어 관심 기준으로 모듈화 하는 것 핵심 관심 사항(Core concern) : 비즈니스 로직(애플리케이션의 주목적)을 달성하기 위한 핵심 로직에 대한 관심사 부가 관심 사항(Cross-cutting concern) : 애플리케이션 전반에 걸쳐 공통적으로 사용되는 관심사 예시) 계좌 이체 프로그램 - (핵심 관점) 계좌 이체, (부가 관점) 로깅, 데이터베이스 연결 고객 관리 프로그램 - (핵심 관점) 고객 관리, (부가 관점) 로깅, 데이터베이스 연결 이에 AOP 관점을 적용하여 부가 관점 로직을 모듈화 할 경우, 부가 관점 코드를 핵심 코드에서 .. 이전 1 2 3 4 5 다음