이제부터 슬슬 스프링을 배우기 위한 단계로 진입한다.
이때까지 간간히 유데미에서 스프링 강의를 보았지만 그 당시에는 이해가 하나도 안됐었는데 ,
확실히 여기서 자바코드로 MVC패턴에 대해서 이해를 하고 나니 확실히 조금씩 이해가 가기 시작한다.
FRAMEWORK란
작업에 필요한 여러가지 것들을 따로 직접 구할 필요없이 FRAME내에서 가져와서 쓸수있도록 제공하는 틀
FRAMEWORK / LIBRARY / API 차이
- 능동/수동 UTILITY POSITION 개발자POSITION
FRAMEWORK | 능동 | 제작을 의뢰 | 조건 제공 |
LIBRARY | 수동 | 직접 도구를 사용하서 제작 | 직접 사용 |
API | 능동 | 프로그램간(or 시스템-프로그램 간) 연결 | 통신 |
API는 크게 두 가지 방식으로 나뉩니다:
- REST API: HTTP 프로토콜을 사용하며, 대부분의 웹 서비스가 이 방식을 따릅니다.
- SOAP API: XML 형식으로 통신하며, 더 정형화된 프로토콜을 사용합니다.
배포작업이란 ? 어플리케이션을 외부에서 이용하도록 온라인화시키는것
사전에 빌드라는 작업을함.
이 빌드라는걸 해서 모든 파일들을 하나의 단일파일로 만들어서 온라인에서 사용할 수 있게 함
STS 란 ?
이클립스 IDE 이긴 한데 스프링 전용으로 나온 이클립스라고 생각하면 된다.
STS 설정
- 스프링 STS 설정 워크스페이스 인코딩 무조건 지정해야함
- files 설정도 인코딩 설정 UTF-8
- 여기서도 tomcat 서버 생성
- project legacy 파일 생성 → configure 설정에서 default 빼고 remove
- STS3 은 직접 파일을 설치해줘야함. 그래서 MVC 프로젝트를 생성하려면 context.html 인가 이거를
- C:\워크스페이스\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core 안에 넣어줘야함.(구글링 참고) context.html 파일을 다운받아서 넣어줘야함 !
- 그러고 C:\워크스페이스\.metadata\.sts\content 경로 안에 org.springframework.templates.mvc-3.2.2폴더안에 파일을 넣어줘야 프로젝트를 생성할 수 있음 (이 폴더도 다운받아야 한다 !)
- https://programmerdaddy.tistory.com/m/409 참고
target 폴더 안 pom.xml 설정 이것저것 의존성 추가 해주는중..
각 xml 파일의 역할
- Servlet-context.xml
- spring mvc 의 웹 관련 설정을 담당하는 파일.
- 주로 컨트롤러 , 뷰와 같은 웹 계층에서 사용되는 Bean설정
- FrontController 역할을 하는 DispatcherServlet 설정 파일
- root-context.xml
- 애플리케이션의 전역 Bean 설정 파일.
- 애플리케이션의 비즈니스 로직과 관련된 service , repository 계층 Bean 을 정의함.
- DB 연결 , 트랜젝션 관리 , 서비스 Bean 등의 전역 Bean 설정을 포함함.
- 모든 서블릿과 컨트롤러가 공유할 수 있는 전역 애플리케이션 설정을 정의함
- 위치 : WEB-INF 디렉토리에 위치. web.xml 에서 ContextLoaderListener 를 통해 로드됨
- 간단히 Bean 정의하는곳임
- 애플리케이션의 전역 Bean 설정 파일.
- web.xml
- Web.xml 에서는 크게 DispatcherServlet, ContextLoaderListener, Filter 설정을 한다.
- 클라이언트의 요청을 처리하는 DispatcherServlet.
- 웹 어플리케이션 컨텍스트 단위의 설정을 로드하는 ContextLoaderListener,
- 이건 꼭 거쳤으면 좋겠다 하는 파일. Filter
- pom.xml
- pom : project object model 의 약어.
- 프로젝트의 설정 , 종속성 , 빌드 및 배포 구성을 정의하는데 사용하는 파일이다.
- 의존성을 이 파일에서 관리한다 (예 : jdbc , emmet , hikari 등등)
- 주요 태그 :
- /*: 하위 경로의 모든 요청을 처리.
- /: 기본 루트 컨텍스트의 거의 모든 요청을 처리하지만, 정적 파일은 기본적으로 제외.
POSTMAN
API 호출 및 테스트 하는 대표적인 도구
각 어노테이션 정리
- @Bean : 스프링 컨테이너에서 관리하는 자바 객체.
- new 키워드 대신 사용한다고 생각하면 됨
- 이 어노테이션은 반환하는 객체를 Bean으로 만들어주는것이다.
- 스코프는 기본적으로 싱글톤 타입
- @Component : 클래스를 bean으로 등록하는 것
- @Autowired : 필요한 의존 객체의 타입에 해당하는 빈을 찾아 주입한다.
- 기본값이 true라서 주입을 할 대상을 찾지 못한다면 application 구동에 실패한다.
로그 레벨
TRACE > DEBUG > INFO > WARN > ERROR > FATAL
- 로그 레벨은 중요도에 따라 등급을 가진다.
- 가령, DEBUG는 개발 시 디버그 용도로 사용하는 레벨이고, ERROR는 에러 발생시를 뜻하는 레벨이다.
- 로그 레벨 설정 시, INFO로 설정한다면, 해당 레벨과 상위 레벨인 INFO, WARN, ERROR, FATAL로그만 표시된다.
파라미터 받기
@Data //게터세터 자동으로 합쳐서 만듬 @Builder //객체생성 디자인패턴
public void p01(@RequestParam(value="name",required=true) String name) { //true 하면 파라미터 들어와야 반응, flase 면
@RequestMapping(value = "/t1",method=RequestMethod.GET) //t1이라는 이름의 매핑 이름
PersonComponent personComponent; //이름을 지정하지 않으면 앞글자를 소문자로 한다.
assertNotNull(dto); //null 이 아닌지 판단
postman을 활용하자 .!
프로그램 내에서 url 파라미터를 한글로 받으면 인코딩 설정을 아직 해놓지 않아서 파라미터를 제대로 받지 못함.
postman 에서 파라미터를 입력해주면 한글로 뜬다.
'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글
24년 11월 12일 (0) | 2024.11.22 |
---|---|
24년 11월 11일 (1) | 2024.11.21 |
24년 11월 06일 (0) | 2024.11.20 |
24년 11월 7일 (0) | 2024.11.19 |
24년 11월 5일 (0) | 2024.11.11 |