목록웹 프로그래밍/Spring (21)
코딩하는 문과생

[AOP: Aspect Oriented Programming] : 관심사의 분리(기능의 분리) - 핵심적인 기능에서 부가적인 기능(Aspect)을 분리 핵심기능(Core Concerns): 업무 로직 부가기능(Cross-cutting Concerns): 로깅, 보안 1. 런타임시 핵심기능과 부가기능이 결합되어 작동 2. Advice(부가기능 "자체") + PointCut(어디에 적용할 지에 대한 "문법") = Aspect = Advisor(Spring AOP) 3. Target = Core Concerns 4. JoinPoint: 어디에 "위치"해야할 지 5. 위빙(Weaving): 포인트컷에 의해서 결정된 타깃의 JoinPoint에 부가기능이 삽입되는 과정 - Spring AOP Spring은 프록시 ..

강의는 2016년에 제작되었다. 따라서 MySQL과 Spring연동시 고려해야할 사항이 있다. 가령 pom.xml에 추가되는 mysql의존성이던지 db.url에 "serverTimezone=UTC"을 추가해야하는 등 고려사항이 존재한다. [MyBatis] 자바 오브젝트와 SQL문 사이의 자동 맵핑 기능을 지원하는 Object Mapper(ORM x)이다. SQL을 별도의 파일로 분리시켜준다. 개발자가 익숙한 SQL을 그대로 이용할 수 있다. 쉬운 접근성과 코드의 간결함: XML형태로 서술된 JDBC 코드다. 개발자는 Application과 mapping File만 작성하면 된다. Database의 Connection = MyBatis의 SqlSession ex. MyBatis 설정 - pom.xml 의존..

[Context분리와 전략] 지금까지 하나의 Context를 사용했었다. 그러나 일반적으로 두가지로 나눠서 사용한다. Servlet Context: DispatcherServlet(웹의 요청을 최초로 접수, 설정파일을 이용해서 ServletContext 즉, 스프링 컨테이너 로딩), Spring-MVC와 관련 있는 빈(Controllers, ViewResolver, HandlerMapping 등)을 설정 Root Context: Spring-MVC와 분리되어 빈을 관리하고 싶을때(Services빈이나 Repositories빈 등), 오픈API를 서비스하고 싶은 경우 - web.xml에서 설정이 필요 리스너(listener) 생성(스프링 컨테이너를 별도로 띄우는 역할) [Root Application Co..

[Spring-Data Access] - DAO 디자인 패턴 -데이터 액세스 기술 JDBC: 자바에서의 관계형 데이터 베이스 접속 기술 Spring JDBC: 스프링 자체적으로 지원하는 JDBC Wrapper, 커넥션 풀 제공, Result Mapper추상화 사용 MyBatis: Third-party 자바 - 관계형 DB 매핑 라이브러리, 자바 객체와 SQL문을 자동으로 매핑(SQL Mapper), XML로 SQL를 별도로 분리, 내부적으로 Spring JDBC를 사용, mybatis-spring 라이브러리 필요 JPA: Java ORM 표준 인터페이스 Hibernate: 자바 ORM 구현체 [DataSource] Connection 확보(DB연결), Connection을 가져오기 위한 기술 DataSo..