728x90
반응형

전체 글 230

[Spring] JDBC

기존방식 => JDBCUtil 클래스와 데이터베이스에 실질적으로 접근하는 DAO클래스 생성하여 사용 스프링의 JdbcTemplate 클래스 사용 GoF디자인 패턴 중 템플릿 메서드 패턴이 적용된 클래스. GoF(Gang of Four)에서는 23가지 디자인 패턴을 3가지 유형으로 분류 1. Creational Pattern 객체를 생성하는데 관련된 패턴들객체가 생성되는 과정의 유연성을 높이고 코드의 유지를 쉽게 함 2. Structural Pattern 프로그램 구조에 관련된 패턴들프로그램 내의 자료구조나 인터페이스 구조 등 프로그램의 구조를 설계하는데 활용할 수 있는 패턴들 3. Behavioral Pattern 반복적으로 사용되는 객체들의 상호작용을 패턴화 해놓은 것들 스프링 JDBC를 사용하기 위한..

개발노트/Spring 2021.06.18

[Spring] IoC(inversion of Control)

1. IoC(Inversion of Control)이란? IoC란 Inversion of Control의 약자로 해석하자면 제어의 역전이다. 제어권이 뒤 바뀌었다는 뜻이다. 즉, 기존의 제어방식을 뒤집었다는 말 자바가 등장하고 자바 기반의 어플리케이션이 개발되던 초기에는 자바 객체를 생성하고 객체간의 의존관계를 연결하는 등의 제어권을 개발자가 직접 가지고 있었다고 한다. 그러나 서블릿, EJB가 등장하면서 개발자가 독점적으로 가지고 있던 제어권이 서블릿과 EJB를 관리하는 외부의 컨테이너로 넘어갔고 객체의 생성부터 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀐 것을 IoC, 제어의 역전이라 하는것이다. 2. IoC Container 모든 작업을 사용하는 쪽에서 제어하게 되면서 IoC컨테이너에서 제어..

개발노트/Spring 2021.06.18

[KH정보교육원 당산] 연습문제 8(요구사항확인)

1.UML(Unified Modeling Language)의 정의에 대해 서술하시오. => 프로그램 설계를 표현하기 위해 사용하는, 주로 그림으로 된 표기법 객체지향 언어와 관련이 있기에 객체지향 모델링 언어라고도 불린다. 소프트웨어 시스템, 업무 모델링, 시스템의 산출물을 규정하고 시각화하여 문서화하는 언어이다. 2.다음은 온라인 쇼핑몰 시스템의 요구사항이다. 유스케이스 다이어그램을 그리려고 할 때 액터와 유스케이스(기능)을 도출하시오. (관련된 액터와 유스케이스를 각각 쓰시오.) - 요구사항 - 온라인 쇼핑몰의 회원을 회원과 비회원으로 구분한다. 회원은 ID, 이름, 주민번호, 마일리지 회원등급 정보를 갖는다. 비회원은 이름, 주민번호 정보를 갖는다. 회원은 Login, 등록, 수정, 삭제, 조회 처..

[Spring] AOP(Aspect Oriented Programming)

AOP => 관점 지향 프로그래밍 AOP의 핵심개념 : 관심분리(Separation of Concerns) : 어떤 로직을 기준으로 핵심적인 관점, 부과적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 것. 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것 예로 핵심적인 관점은 우리가 적용하고자 하는 핵심 비즈니스 로직이 된다. 또한 부가적인 관점은 로직을 실행하기 위해서 행해지는 데이터베이스 연결 로깅, 파일 입출력등이 있다. => 횡단 관심(Cross Cutting Concerns) ** IoC가 결합도와 관련이 있다면, AOP는 응집도와 관련이 있다. AOP사용 1. xml파일을 사용 2. 어노테이션을 사용 1) XML문서 사용 먼저 pom.xml에서 해당 depend..

개발노트/Spring 2021.06.17

[KH정보교육원 당산] 67일(SpringFramwork - DI)

Items인터페이스를 구현받는 StarBucks클래스 생성 오늘 예제에서는 기존에 사용했던 방식이 아닌 어노테이션을 통하여 객체를 주입시키는 방법이다. 그러기 위해서는 먼저 context.xml파일 설정 -> Namespaces -> context 설정 beans 태그 내부에 xmlns:context="http://www.springframework.org/schema/context" 추가된것을 볼 수 있다. 패키지 경로는 베이스가 되는 패키지로 설정(그러면 그 패키지 안의 모든 클래스를 사용) 컴포넌트 스캔을 통하여 빈 객체를 등록하지 않고도 사용할 객체들을 자동으로 생성한다. 사용할 클래스에 @Component("이름") 설정 => 그러면 컴포넌트 스캔에서 해당 어노테이션을 찾아서 객체 생성 @Com..

[KH정보교육원 당산] 66일 (SpringFramework - DI)

프레임워크는 개발에서 기본이 되는 뼈대, 틀을 제공 즉, 개발자에게 모든것을 위임하는 것이 아니라 애플리케이션의 기본 아키텍쳐는 프레임워크가 제공하고, 그 뼈대에 살을 붙이는 작업만한다. 일반적으로 시스템을 개발하는 과정에서 대부분의 개발자들은 산출문에 입각하여 개발, 아키텍처의 일관성이 잘 유지된다. 프레임워크 사용 장점 Presentation 처리 영역 : Spring(MVC) => MVC 아키텍처를 제공하는 UI Layer 프레임워크 / Spring 프레임워크에 포함 Business 처리 영역 : Spring(IoC,AOP) => 컨테이너 성격을 갖는 프레임워크 IoC,AOP 모듈을 이용 Persistence 처리 영역 : MyBatis => SQL명령어와 자바 객체(VO,DTO)를 매핑해주는 기능..

[Spring] src/main/resources 구조

처음 프로젝트를 생성하고나서 resorces 폴더 내에 패키지를 생성하는데 폴더 구조로 나와 클래스 생성시에 패키지 경로를 못찾는 경우가 생겼다. 해당 프로젝트 우클릭 -> Properties Java Build Path -> Source 선택 /src/main/resources -> Excluded -> Edit 선택 Exlusion patterns에서 ** 제거 현재는 패키지 구조를 나타내야 하기 때문에 ** 제거해서 패키지로 인식 하게 한것!! 반대로 폴더구조를 생성해야한다면 다시 Exclusion patterns에 ** 를 추가해주면된다.

개발노트/Spring 2021.06.15

[Node.js] Node.js와 Mysql 연동 에러 (Client does not support authentication protocol requested by server; consider upgrading MySQL client)

Node.js에서 Mysql을 연동하는 과정에서 이런 에러가 발생.. 에러내용) code: 'ER_NOT_SUPPORTED_AUTH_MODE', errno: 1251, sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client', 클라이언트 프로그램에서 mysql 패스워드 플러그인 "caching_sha2_password"을 소화하지 못해서 생기는 에러 클라이언트 프로그램에서 사용할 수 있도록 유저의 패스워드 Plusin을 바꿔주면 해결된다. mysql에 접속하고, 아래와 같이 수정 mysql> ALTER USER '사용중인계정'@'localhost' IDENT..

[Spring] lombok.jar 설정

jar 파일 받기 https://projectlombok.org/download Download projectlombok.org CMD를 실행하여 lombok.jar파일이 있는 위치로 이동 이동 후 java -jar lombok.jar 명령 이와같은 화면이 나오면 성공 IDEs쪽에 해당 개발툴 이클립스나 STS가 있다면 Install/Update를 눌러 설치 만약 없다면 클릭하여 해당 개발도구가 있는 디렉토리 위치를 정해준다. 설치가 완료된 후에 사용하는 개발도구의 ini파일 eclipse.ini 또는 STS.ini에 해당 값이 추가 되었는지 확인 -vmargs -javaagent:lombok.jar lombok.jar를 사용하기 위한 Maven dependency 설정 org.projectlombok ..

개발노트/Spring 2021.06.14
728x90
반응형