IT/Spring(10)
-
[Spring | 스프링] 강한 결합 vs. 느슨한 결합
강한 결합 클래스와 객체가 서로 의존적이라 객체가 변경될 시 클래스가 전체적으로 수정되어야 할 위험이 있음. 느슨한 결합 클래스의 자료구조, 메서드를 추상화 할 수 있는 인터페이스 클래스를 사용해 의존성을 최소화
2021.01.22 -
[Spring | 스프링] <form 태그> - 속성
action form data를 서버로 보낼 때, 해당 데이터가 도착할 URL을 명시. enctype application/x-www-form-urlencoded : 기본값 / 모든 문자들이 서버로 보내기 전에 encoding 됨. multipart/form-data : 모든 문자를 인코딩하지 않음 / 주로 파일 전송에 사용. text/plain : 공백 문자는 '+'로 변환하지만 나머지는 인코딩하지 않음.
2021.01.12 -
[Spring | 스프링] 리다이렉트 방식(Redirect) vs. 포워드 방식(Forward)
JSP 환경에서 현재 작업중인 페이지에서 다른 페이지로 이동하는 페이지 전환 기능 Redirect URL을 redirect 된 주소로 바꾸고 그 주소로 이동 request, response 객체가 새로 생성됨 Forward 이동한 URL로 요청정보(request)를 그대로 전달 두 페이지가 request, response 객체를 공유 웹 브라우저에는 최초의 URL만 표시됨
2021.01.07 -
[Spring | 스프링] DAO & DTO
DAO(Data Access Object) DB의 데이터에 접근하는 객체 Service와 DB를 연결 DTO(Data Transfer Object) 계층간 데이터 교환을 위한 객체 로직없이 속성과 속성에 대한 getter / setter 메서드만을 가짐.
2021.01.05 -
[Spring | 스프링] GET 방식 vs POST 방식
웹서비스에서 클라이언트가 서버에 요청하는 과정에서 HTTP 패킷을 전송한다. GET방식과 POST방식 둘 다 서버에 요청을 하는 매서드지만 패킷에 데이터를 담는 방식에 차이가 있다. GET 방식 데이터를 URL 뒤에 붙여 보낸다. ? 뒤에 데이터를 표현하며 key-value 쌍을 &로 구분하여 표현한다. 데이터가 URL 뒤에 붙어 보내지기 때문에 해당 데이터는 HTTP 패킷의 헤더에 들어가고 바디에는 특별히 저장되지 않는다. POST 방식 데이터를 HTTP 패킷의 바디에 담아 보낸다.
2021.01.05 -
[Spring | 스프링] 어노테이션
@Configuration Java Configuration을 이용하는 경우 XML 대신 설정 파일을 직접 작성할 필요가 있는데 이를 이용해 해당 클래스의 인스턴스를 이용해서 설정 파일을 대신함. 해당 클래스가 1개 이상의 Bean을 생성함을 명시 @Data Lombok의 setter를 생성하는 기능과 생성자, toString() 등을 자동으로 생성하도록 명시 @Component vs @Bean 스프링에게 해당 클래스가 스프링에서 관리해야 하는 대상임을 표시 개발자가 직접 작성한 클래스를 Bean으로 등록 @Component vs @Bean @Component 어노테이션과 유사하지만 @Component와 달리 외부 라이브러리 등을 Bean으로 등록하기 위해 사용 @Autowired 자신이 특정한 객체에 ..
2021.01.05 -
[Spring | 스프링] MVC 패턴
MVC 패턴 : 디자인 패턴 중 하나로 Model / View / Controller 디자인 패턴 : 개발 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 규약을 통해 쉽게 쓸 수 있는 형태로 만든 것. Model - 어플리케이션의 정보 / 데이터(DB) + Manipulate º 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 함. º 뷰나 컨트롤러에 대해 어떤 정보도 알지 말아야 함. → 뷰나 컨트롤러를 직접 조정 가능한 내부 참조 속성 값을 가지면 안됨. º 변경 발생 시, 변경 통지에 대한 처리 구현. Controller - 이벤트 처리 º 모델이나 뷰에 대해 알고 있어야 함. º 모델이나 뷰의 변경을 모니터링 해야함. View - 사용자 인..
2021.01.03 -
[Spring | 스프링] REST 방식
REST 방식 : 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다. 컨트롤러의 반환값이 jsp가 아닌 JSON, XML 같은 데이터 REST 구성 자원(Resource) : URI 행위(Verb) : HTTP Method 표현(Representations) URI를 통해 자원을 표시하고, HTTP Method를 이용하여 해당 자원의 해위를 규정하여 그 결과를 받는 것
2020.12.29 -
[Spring | 스프링] Maven
Maven (빌드도구) 프로젝트 라이프사이클 관리 pom.xml에 정의해 필요한 라이브러리를 자동으로 설치 Lifecycle - 미리 정해진 빌드 순서 Clean lifecycle : 빌드 시 생성되었던 파일들 삭제 Default lifecycle - Complie : 소스코드를 컴파일 - Test : 유닛 테스트 수행 - Package : 컴파일된 소스코드와 리소스들을 배포를 위한 패키지로 만듦 - Install : 패키지를 로컬 저장소에 설치 - Deploy : 패키지를 원격 저장소에 릴리즈 Site lifecycle : 프로젝트 문서와 사이트 작성/생성 Lifecycle 각각의 단계를 Phase라 함. 의존 관계가 있어 이전 단계가 성공해야 실행 가능. Goal : 최소한의 실행 단위 각각의 Pha..
2020.12.29 -
[Spring | 스프링] Framework & Library
Framework - 뼈대, 기반구조 제어의 역전(Inversion of Control | IoC) : 모든 제어의 권한을 자기 자신이 아닌 다른 대상에게 위임 프레임워크의 메소드가 사용자의 코드를 호출 Library 라이브러리를 가져다 사용하고 호출하는 측에 전적으로 주도성이 있음 클라이언트 코드가 라이브러리의 메소드를 호출해 사용 참고: webclub.tistory.com/458
2020.12.29