본문 바로가기

TIL/Spring

(5)
[Spring] Handler Method Parameter GET 방식의 /first/regist 요청이 들어오면 /first/regist 뷰로 위임한다. views의 하위 경로를 요청 경로와 동일하게 해주어야 한다. 핸들러 메소드에 파라미터로 특정 몇가지 타입을 선언하게 되면 핸들러 메소드 호출 시 인자로 값을 전달해준다. 1. HttpServletRequest를 매개변수로 선언하여 파라미터로 전달 받은 값 꺼내기 핸들러 메소드 매개변수로 HttpServletResponse도 사용 가능하다. 상위 타입인 ServletRequest, ServletResponse도 사용 가능하며 WebRequest도 사용 가능하다. messagePrinter.jsp 인코딩 설정이 안 되어 있어서 글씨가 깨져서 나온다 같은 폴더에 EncodingFilter 생성 후 모든 파일들에 ..
[Spring] 개념정리-2 Spring DI Annotation Bean 등록 Annotation @Component 객체(컴포넌트)를 나타내는 일반적인 타입으로 태그와 동일한 역할 @Repository 퍼시스턴스 레이어, 영속성을 가지는 속성(파일, 데이터베이스)을 가진 클래스 ex) Data Access Object Class @Service 서비스 레이어, 비즈니스 로직을 가진 클래스 ex) Service Class @Controller 프레젠테이션 레이어, 웹 어플리케이션에서 View에서 전달된 웹 요청과 응답을 처리하는 클래스 ex) Controller Class Bean 의존관계 주입 Annotation @Autowired @Resource - @Component로 의존관계를 설정한 객체로부터 의존 관계를 자동으로 주입..
[Spring] 개념 정리-1 인프런 강의를 들어도 너무 빠른 속도와 개념이 확실하게 잡히지 않아서 따라가지 못하는 것 같다. 다시 초심으로 돌아가서 개념 정리 부터 제대로..!! Spring Framework 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. Spring의 특징 1. DI (Dependency Injection / 의존성 주입) 설정 파일이나 어노테이션을 통해 객체간 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없다. 2. Spring AOP (관점 지향 프로그래밍) Database의 트랜잭션 처리나 로깅처리와 같이 여러 모듈에서 공통으로 필요로 하는 기능의 경우 해당 기능을 분..
[Spring] SpringIoC - Component Scan (excludeFilters, includeFilters) ComponentScan 기능을 이용한 bean 등록 설정 MemberDAO인터페이스 생성 MemberDAOImpl 클래스 생성 인터페이스로 메소드를 강제화한 후 구현하여 사용하면 강제성이 부여 된다 또한 결합 관계를 느슨하게 만들 수 있다. 스프링 컨테이너가 스캐닝 기능을 이용하여 해당 클래스를 bean으로 등록할 수 있는 어노테이션을 설정한다. - value 속성을 이용하면 bean의 id를 설정할 수 있으며, value는 생략 가능하다. - 이름(id)를 설정하지 않으면 Class의 앞 글자를 소문자로 하여 bean을 생성한다. - @Controller, @Service, @Repository와 동일한 기능을 가지지만 각 계층을 표현하는 어노테이션은 - 특정 용도에 맞는 부가적인 혜택이 있으니 계층..
[Spring] Spring IoC(제어의 역행)-bean factory IoC(Inversion of Control)란? 프로그램을 구동하는데 필요한 객체에 대한 생성, 변경 등의 관리를 프로그램을 개발하는 사람이 아닌 프로그램을 구동하는 컨테이너에서 직접 관리하는 것을 말한다. 스프링은 IoC 구조를 통해 구동 시 필요한 객체의 생성부터 생명 주기까지 해당 객체에 대한 관리를 직접 수행한다. IoC 컨테이너 스프링에서는 관리하는 객체를 'Bean(빈)'이라고 하고, 해당 빈들을 관리한다는 의미로 컨테이너를 'Bean Factory'라고 한다. IoC 컨테이너의 역할 1. 객체의 생명주기와 의존성을 관리한다. 2. VO(DTO/POJO) 객체의 생성, 초기화, 소멸 등의 처리를 담당한다. 3. 개발자가 직접 객체를 생성할 수 있지만 해당 권한을 컨테이너에 맡김으로써 소스 코..