Spring
-
AOP 정의Spring-diary/AOP 2020. 3. 4. 22:42
정의 AOP란 OOP를 OOP답게 프로그래밍 하기 위한 프로그래밍 기법이다. 관점에 따라 프로그래밍을 한다고 해서 관점 지향 프로그래밍이라고 한다. AOP의 가장 기초가 되는 개념은 핵심적인 부분만 집중할 수 있도록 필수적인 요소이지만 중복해서 작성해야 하는 핵심 이외의 코드들은 외부로 빼놓는 것이다. 횡단 관심을 제거하여 핵심관심(비즈니스 로직)만 집중할 수 있도록 하는 프로그래밍 기법이 AOP이다. *위빙(Weaving) 핵심 관심 모듈의 중간 중간 필요한 횡단 관심 모듈을 직접 호출하지 않고 위빙이라 불리는 작업을 통해 횡단 관심 코드가 삽입 되도록 한다. 핵심 관심 모듈 범위에서는 횡단 관심 모듈에 대해 인식할 필요가 전혀 없다. *3가지 Weaving 방식 컴파일시 Weaving 클래스 로딩 시..
-
Spring rootContext와 ServletContextSpring-diary/WEB 2020. 3. 1. 13:24
Spring은 계층구조를 가지는 Multi Context 환경을 구성할 수 있도록 해준다. Context에 대한 설정은 크게 Root Context와 Servlet Context로 나뉜다. ServletContext web application의 client 요청을 받기 위한 entry point로써 서블릿의 context 설정이다. context 설정에는 요청에 대한 처리를 해줄 controller의 매핑설정과 요청 처리후 view 처리에 대한 view resolver 설정등이 존재하게 된다. rootContext web application의 실제 비즈니스 혹은 service layer와 DB에 연결되는 repository layer을 구성하는 bean들에 대한 설정을 하게 된다. rootContex..
-
[Spring Security][DB][암호화] 비밀번호 암호화하기Spring-diary/WEB 2020. 2. 25. 10:52
PasswordEncoder password를 암호화하기 위한 interface이다. 날 것 그대로 사용하지 않고 보통 BCryptPasswordEncoder를 사용한다. 절차 PasswordEncoder interface를 구현할 클래스를 만든다. Password를 encoding하는 method와 encoding된 Password와 입려한 Password가 일치하는지 확인하는 Method를 Override해준다. security xml파일에서 bean을 만들어준다. 비밀번호 검증 방식으로 방금 등록한 passwordEncoder를 설정한다. BCryptPasswordEncoder 비밀번호를 DB에 들어가는 데이터 조차 암호화하기 위해 BCryptPasswordEncoder 를 사용한다. Passwor..
-
JDBC TemplateSpring-diary/WEB 2020. 2. 20. 21:26
JDBC의 모든 기능을 최대한 활용할 수 있는 유연성을 제공하는 클래스로 3가지 기능을 수행 -실행 -조회 -배치 사용방법 Dao에서 JdbcTemplate 멤버필드 생성 후 setter로 초기화 해준다. Query문을 작성해 변수로 선언하고 jdbctemplate의 method를 이용해 데이터를 가지고 오거나 수정한다. *rowmapper Template 객체의 query메소드를 통해 결과값을 가져올 때 sql문에 따라 추출된 결과를 리턴받을 객체의 멤버변수에 적절하게 할당하기 위한 매핑수단이다. PreparedStatementSetter를 통해 SQL문의 조건식을 만족시킬 수도 있다.
-
Spring에서 MyBatis 사용하기Spring-diary/WEB 2020. 2. 18. 17:58
스프링에서 MyBatis를 사용하기 위해선 여러가지 복잡한 설정들이 새로운 프로젝트가 시작 될 때마다 한번씩 필요하다. Web.xml Web.xml에서 springDispatcherServlet 설정과 한글처리를 해준다. Pom.xml pom.xml에서 기본적인 라이브러리를 받아온다. -MyBatis를 사용하니 MyBatis를 사용하기 위한 라이브러리 표시만 했다.- Spring Bean Configuration File Spring Bean Configuration File에서 MyBatis의 Session 사용을 Spring에서 관리할 수 있도록 설정한다. PropertyPlaceholderConfigurer,BasicDataSource,SqlSessionFactoryBean,SqlSessionTem..
-
[STS] Spring Legacy Project로 환경설정환경설정 2020. 2. 17. 18:04
Spring Legacy Project를 해주면 Project 생성시 필요한 pom.xml web.xml등의 기본설정을 기본적으로 해준다 . MVC Project를 선택한다. package 명을 설정한다. pom.xml에서 mvnrepository를 참고해 최신 버전으로 바꿔준다. 프로젝트 우클릭 -> Properties->web Project Settings에서 Context root를 프로젝트 이름으로 바꿔준다. *실행시 Tomcat 주소 오류가 나는 경우 DocumentBase의 주소가 바뀌지 않아서 설정 오류가 나는 것일 수도 있기 때문에 Server쪽에 server.xml의 Context Path가 바뀌었는지 확인해 본다. Context Path란 WAS에서 웹 어플리케이션을 구부하기 위한 pa..