본문 바로가기

spring5

스프링 빈(Spring Bean)이란? 1. 스프링 빈(Spring Bean) Spring IOC 컨테이너가 관리하는 자바 객체를 빈이라고 부른다. 예전의 자바 프로그래밍에서는 Class를 생성하고 new 키워드를 이용하여 객체를 생성한 후 사용했습니다. 하지만 Spring에서는 직접 new 키워드를 이용하여 객체를 생성하는게 아닌 Spring에 의하여 관리당하는 자바 객체를 사용한다. 이렇게 Spring에 의해 생성되고 관리되는 자바 객체를 Bean이라고 한다. 우리는 IOC 패턴을 쉽게 사용하기 위해서 스프링 프레임워크의 IOC 컨테이너를 제공받아서 사용한다. 그러면 그때 IOC컨테이너에 등록되는 자바객체를 스프링 빈 이라고 부르는 것. 즉, 어플리케이션의 객체들이 설정정보와 함께 컨테이너에 등록되면 그것이 스프링 빈이라고 한다. * 제어..
JPA(Java Persistence API) 1. JPA 자바 진영에서 ORM(Object - Relational Mapping) 기술 표준으로 사용되는 인터페이스 모음 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크(실제적으로 구현 X) JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다. # ORM(Object - Relational Mapping) 객체와 관계형 데이터베이스의 데이터를 자동으로 Mapping 시켜주는 것을 의미 한다. 객체지향프로그래밍(클래스 사용) / 관계형데이트베이스(테이블 사용) 객체 모델과 관계형 모델간의 존재하는 불일치를 ORM을 통해 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. 2. 동작 과정 애플리케이션과 JDBC 사이에서 동작한다. JPA 내부에서 JDBC API를 사..
검색기능 contaning 사용시.. 주의 사항! 난 아직 구글링이 많이 부족하다..!! 프로젝트에서 게시물의 작성자or제목or내용에 포함된 단어 검색기능을 맡아서 열심히!! 만들어 보았다! 몇줄 안되지만 난 아직 코린이.. 이것도 또한 힘들었다. @RestController @RequiredArgsConstructor public class BoardController { private final BoardRepository boardRepository; //등록 @PostMapping("/api/board") public Board createBoard(@RequestBody BoardDto requestDto) { Board board = new Board(requestDto); return boardRepository.save(board); } ..
Spring - Filter, Interceptor, AOP 개념 차이 공통적인 프로세스에 대한 처리 자바 웹 개발을 하다보면, 공통적인 처리를해야 할 업무들이 많다. 예를들어 로그인 관련(세션체크)처리, 권한체크, XSS(Cross site script)방어, pc와 모바일웹의 분기처리, 로그, 페이지 인코딩 변환 등이 있다. 공통업무에 관련된 코드를 모든 페이지 마다 작성 해야한다면 중복된 코드가 많아지게 되고 프로젝트 단위가 커질수록 서버에 부하를 줄 수도있으며, 소스 관리도 되지 않는다. Spring은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있다. 위와 같은 공통처리를 위해 활용할 수 있는 것이 3가지가 있다. 1. Filter 2. Interceptor 3. AOP 스프링에서 사용되는 Filter, Intercep..
Spring Security 란? 1. Spring Security Spring Security는 Spring 기반의 Application의 보안(인증과 권한,인가 등)을 담당하는 Spring 하위 Framewrork이다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받는다 * Interceptor는 Dispatcher와 Contoller사이에 위치한다는 점에서 적용 시기의 차이가 있다. 주로 서블릿 필터와 이들로 구성된 필터체인으로의 위임모델을 사용한다. 그리고 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다. 1) 기본용어 접근 주체(Principal) : 보호된 리소스에 접근하는 대상 인증(Authentica..