본문 바로가기
728x90
반응형

전체 글212

[Spring] 스프링 AOP 개념 이해와 적용 방법 (+Proxy 프록시) [ AOP 란? ] " AOP란 OOP를 더 OOP 답게!" : Aspect Oriented Programming = 관점 지향 프로그래밍 > AOP 적용 전 > AOP 적용 후 *위빙 : 횡단 관심 사항을 엮어준다. * Aspect : 관점 ! 시스템을 두 가지 관점으로 나누어 본다. 시스템을 핵심관심사(Core Concern) 와 횡단관심사(Cross-cutting Concern)로 구분하여 설계와 구현을 한다 핵심관심사(Core Concern)란 시스템의 목적에 해당하는 주요 로직 부분을 말한다 횡단관심사(Cross-cutting Concern)란 시스템의 여러 부분에 걸쳐 공통적이고 반복적으로 필요로 하는 처리내용을 말한다 AOP는 시스템의 여러 영역에 걸쳐 공통적이고 반복적으로 적용된 횡단관심사.. 2020. 10. 28.
[Spring] 비즈니스 계층이 왜 있는걸까? (트랜잭션 transaction) 비즈니스 계층이 있는 이유 ! - 비즈니스 계층은 다양한 영속성 계층의 기능(DAO)을 일관성있게 관리하기 위해서 사용한다. + Transaction 처리 = 업무 정의를 위해 사용한다. 1. Maven 설정 (프로젝트 오른쪽 마우스 → 'convert to maven .. ' → pom.xml에 추가 (pom = project of model) ) org.springframework spring-context 4.3.14.RELEASE 2. ioc.xml 설정 (src 에서 new → other → Spring Bean Configuration File → ioc.xml 생성 3. memberDAO 생성 - register(String memberInfo) : void 4. PointDAO 생성 - r.. 2020. 10. 28.
[Spring] DBCP를 Spring config로 설정해보기! (+IOC/DI+DL) DBCP를 사용하는 이유?! - data driver loading & connection 시 매번 하다보면 비용이 발생한다. 이를 해결하기 위해, DBCP(DataBaseConnectionPool)을 이용해, 미리 한번 만들어 둔 Connection을 빌려오고 반납하는 형식을 이용한다. DBCP 사용 환경 설정 > pom.xml 에 추가 commons-dbcp commons-dbcp 1.4 org.springframework spring-context 4.3.14.RELEASE /ioc.xml 에 추가 [ Spring Framework 동작 프로세싱 ] SQL table 생성 CREATE TABLE account( id VARCHAR2(100) PRIMARY KEY, name VARCHAR2(100) .. 2020. 10. 27.
[Spring] 비즈니스 로직 계층 추가 (IOC, DI+DL) 기존 제어 방식에서 IOC 적용 어플리케이션으로 변경 > 1. 추상화 (인터페이스 적용) 2. maven을 통한 Spring 실행 환경 구축 (spring library를 실행환경에 추가) 3. Spring config (ioc.xml) 정의 4. ApplicationContext(Spring container)를 실행하여 필요한 의존 객체 확보 (DL or DI) 5. 비즈니스 실행 (입금 처리) 스프링 비즈니스(서비스) 계층가 있는 이유 비즈니스(서비스) 계층은 한 가지 서비스(ex. 계좌 계설)가 있고,영속성 계층 DAO에 여러 DAO(계좌DAO, 포인트DAO, 이력DAO)와 메서드가 각각 있을 경우,프레젠테이션 계층(ex.TestIOC)가 한 가지 서비스를 요청해도, 영속성 계층에 있는 여러 기능.. 2020. 10. 27.
[Spring] 생성자를 통한 DI/DL 적용(constructor-arg) + IOC + maven SpringBean Configuration file /ioc.xml = DL 방식 (id= ticket, peson로 객체 할당 - TestIOC에서 getBean으로 검색하여 할당받기 가능) = DI 방식, 생성자에 값 주입(name과 ticket을 주입해줌) - ticket과 person에 DL 방식으로 할당- person을 생성하기 위해 에 생성자 요소를 DI방식으로 주입해준다. 아이유 /model /Ticket.java package model; public interface Ticket { public void ticketing(); } name or ticket을 set할 때, Spring IOC Container로부터 주입받는다. + name과 Ticket의 생성자를 생성한다. /Perso.. 2020. 10. 27.
[Spring] DI/DL 적용 + Spring IOC 개발 + maven [복습] Spring IOC : Inversion of Control - 역 제어, 제어의 역행, 제어의 반전 - 기존 제어 방식 vs 제어의 역행(IOC) - 기존 제어 방식 : 필요 시 생성 - 의존 대상 객체를 사용자가 new 하여 생성하거나, getInstance()를 통해 객체를 생성함 - IOC : 필요 시 IOC 컨테이너가 반환해줌 - 사용자에게 의존 대상 객체를 반환 받음 ex) 여행을 할 때, 항공권이 필요함 (대한항공을 먼저 끊었으나, 일정 변경으로 아시아나로 변경) - 기존 제어 방식 : 여행자가 대한항공 항공권을 끊었다가, 다시 아시아나 항공권으로 변경함 - IOC 방식 : 여행자는 대행업체를 통해 항공권을 예매함. 대항항공 항공권에서 아시아나 항공권으로 변경은 대행업체에서 변경해줌.. 2020. 10. 27.
[Spring] 메이븐 maven 형식, Spring IOC 개발단계 [ 메이븐 (Maven) ] ​ why? Maven(메이븐) = Dependency Management 1. 의존성 관리 2. 어플리케이션이 필요한 많은 라이브러리를 일괄적으로 관리 pom.xml 에서 설정한다 - pom(project object model) pom.xml 에 필요한 외부라이브러리를 설정하면, 원천사이트에서 원격으로 한번 로컬라이브러리 저장소에 저장하고, 이를 지속적으로 사용할 수 있다 ​설정 방법 일반프로젝트 → 해당프로젝트에서 오른쪽 마우스 클릭 → configure → convert to maven project 적용 pom.xml에서 필요한 라이브러리를 설정하면 저장소에 저장된다. ​ http://mvnrepository.com/ 위 사이트에서 의존 라이브러리 maven 정보 및.. 2020. 10. 27.
[Framework/Spring] IOC / DI 의 개념과 활용 [ Spring Framework 개념 ] : java application의 설계, 구현, 테스트, 운영(유지 보수) 전반에 대한 기반을 제공 & 높은 생산성과 유지보수성 향상을 위해 다양한 인프라를 지원한다. (infra : 다양한 라이브러리 및 디자인 패턴을 지원) - 프레임워크는 반완전한 어플리케이션이다. * Framework : 사전적 의미 = 틀, 뼈대, 기반(infrastructure) 즉, 개발자는 비즈니스 로직에 집중할 수 있도록 기반을 제공하는 것이 프레임워크의 목적이다. -POJO(Plain Old Java Object) 기반으로한 프레임워크이다. : POJO (프레임워크를 적용하기 전 그냥 자바) - Spring Framework는 IOC(DI) IOC(DI), AOP, MVC, S.. 2020. 10. 26.
[Framework/Spring/MyBatis/Web] 개념 정리 ★ 1. Spring IOC (DI) ★ 2. AOP (Aspect Oriented Programming) 3. MyBatis Framework (영속성 계층 프레임워크) 4. SpringMVC 5. SpringBoot 6. SpringSecurity 높은 응집도(cohension)과 낮은 결합도(coupling) "모듈 간 결합도는 최소화하고, 모듈 내 요소들 간의 응집도를 최대화" 응집도 : 자신의 역할에 집중하는 정도 - 모듈 내 기능 수행을 위해 요소 간에 얼마만큼의 연관된 책임이 집중되어있는 지를 나타내는 정도 결합도 : 모듈 간의 상호 의존 정도 구체적으로 표현하면, > 결합도가 낮아진다는 표현은 의존 대상 변경 시 기존 제어 방식은 객체 생성 및 확보 부분의 소스코드 수정이 불가피 하나, I.. 2020. 10. 26.
728x90
반응형