본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


반응형

SPRING FRAMEWORK

(5)
Spring core 스터디 4 - 어노테이션을 활용한 DI (@Autowired) 어노테이션은 코드의 메타데이터를 설정해주는 자바의 기능이다 xml을 사용하는 방식에서 더 쉽게 DI를 적용하기 위해 어노테이션을 활용하여 DI를 구현하게 되었고 @Autowired를 사용한다. @Autowired Xml 파일로 DI 를 지시할 떄 사용했던 를 대신한다. 의존객체의 setter 메서드에 명시해놓으면 에 적어놓지 않아도 스프링이 알아서 의존객체를 찾아 주입해준다. xml namespace에 context를 체크하고 아래의 코드를 추가 해줘야 한다. Autowired를 사용한 DI public class GridExamConsole implements ExamConsole { private Exam exam; public GridExamConsole(Exam exam) { this.exam =..
Spring core 스터디 3 - IoC 컨테이너 와 Application context dependency들을 부품이라고 한다면 xml 혹은 annotation은 그 부품에 대한 주문서 , IoC 컨테이너는 그 부품들이 조립되는 컨테이너라고 할 수 있다 . 스프링은 xml/annotation에 입력되 있는 내용대로 객체를 생성하고 그 객체들을 담아 관리하는 것이 IoC 컨테이너의 역할이다 그렇다면 IoC란 무슨 뜻일까 . 이전의 DI에서 설명했던 일체형과 조립형을 다시보자 A->B->C->D A,B,C,D는 생성될 때 순서대로 다음 객체를 dependency로 갖게 된다고 가정하면 B를 부품으로 갖는 A를 만들면 B -> C-> D -> 순으로 객체가 생성된다. 일체형 프로그램의 구조이다 D->C->B->A 반면에 외부에서 의존객체를 주입하는 조립형 프로그램은 위와 같이 반대로 생성된다. ..
Spring core 스터디 1 - spring framework이란? spring framework의 장점 1.스프링을 사용하면 java 엔터프라이즈 애플리케이션을 쉽게 만들 수 있다 . JVM에서 대체 언어로 Groovy 및 Kotlin을 지원하여 엔터프라이즈 환경에서 Java 언어를 수용하는데 필요한 모든것을 제공하며 , 애플리케이션의 필요에 따라 다양한 종류의 아키텍처를 생성할 수 있다 . 스프링 5.1 버전부터 JDK 8이상 버전이 필요하며 JDK 11LTS 에 대한 기본 지원을 제공한다 . JavaSE 8 update 60 은 최소 패치 릴리즈로 java8을 제안하지만, 일반적으로 최신 패치 릴리즈의 사용을 추천한다 . 2.스프링은 광범위한 애플리케이션 적용 시나리오를 지원한다 . 큰 규모의 기업에서 , 애플리케이션은 오랫동안 존재하며 업그레이드 주기가 개발자가 ..
Spring Annotation @RequestBody @ResponseBody @RequestBody -바디에 정보가 담겨오는 post 방식 요청에서 파라미터를 읽어들일 때 사용하는 어노테이션 @ResponseBody -메서드에서 적용되면 해당 메서드의 리턴 값을 HTTP 응답 데이터로 사용한다 RestfulAPI에서 JSON,XML,플레인텍스트 등 .. 데이터를 응답할때 사용할 수 있다. @RequestBody @ResponseBody예제코드 input form 인풋화면 컨트롤러 post 방식 요청 인풋 폼에 입력되어 전송된 데이터가 경로를 타고 컨트롤러로 들어와 @RequestBody가 선언된 name변수에 담겼다 콘솔창에는 입력한 문자가 찍힌다 응답은 @ResponseBody로 지정되 있기 때문에 컨트롤러에 리턴값이 바로 응답되었다
Spring Annotation @PathVariable @PathVariable -컨트롤러에서 RequestMapping 경로에 파라미터로 지정한 것을 컨트롤러에서 받아낸다. 예제코드 @GetMapping 경로를 /test/{numbs}로 지정하고 @PathVariable 로 데이터타입과 파라미터 변수를 선언했다. 브라우저에서 /test/3으로 요청하였고 3이 응답 되었다. 만약 pathvariable를 받을 파라미터명이 , 다른 파라미터와 겹칠 경우 @pathVariable의 name 속성으로 pathVariable을 직접 지정할 수 있다. @GetMapping("/path-variable/{name}") public String pathVariable(@PathVariable("name") String pathName, String name){ Syste..

반응형