본문 바로가기
반응형

🌈 백엔드/스프링 프레임워크27

스프링_외부파일 properties 연결 (feat, @Value) [1] 외부파일 연결 (1) 외부파일을 연결하는 목적 변경에 유리한 코드를 만들기 위해 외부파일을 이용한다. 스프링 컨테이너인 Map 과 외부 파일(Properties, XML , Java)을 이용한다 프로그램의 코드를 변경하지 않고 properties 파일을 변경해서 사용한다 [2] txt 외부파일 연결 (1) key , value 형식의 txt 외부파일 연결 JAVA 코드를 변경하지 않고 외부 파일에 저장된 (key, value) 값을 읽어 실행하고 추후 유지보수같은 변경이 필요할 경우 외부파일의 (key, value)값을 변경하여 유지보수한다 외부파일 config.txt 를 생성한다. 외부파일의 value로 해당된 값이 출력된다. [ !! 유지보수 발생 ] 외부파일 txt 파일 변경 후 결과물 변경.. 2023. 9. 1.
스프링_OOP 5대 설계원칙 - S O L I D [1] OOP 5대 설계원칙 - S O L I D (1) SRP 단일 책임 원칙 단일 책임의 원칙 하나의 메서드는 하나의 책임을 맡아야한다 YoilTeller 라는 메서드는 내부적으로 입력, 처리, 출력의 책임 3가지를 포함하고 있기 때문에 좋은 코드 분리가 아니다. 입력 메서드 , 처리메서드, 출력메서드로 3가지로 나눴어야한다 분리의 중요성 1. 관심사 cpmcerms 의 분리 2. (comman 코드 )변하는 것과 (uncomman코드)변하지 않는것의 분리 3. 중복 공통 코드의 분리 (2) OCP 개방 폐쇄 원칙 (3) LSP 리스코프 치환 원칙 (4) ISP 인터페이스 분리 원칙 (5) DIP 의존관계 원칙 2023. 8. 12.
스프링_ DB 데이터 객체 DAO [1] 스프링 DAO (1)DAO 정의 데이터에 접근하기 위한 객체 아래 링크에 작업한 여러 메서드가 모여진 것이 DAO 이다 웹프로젝트_STS4 + DB MySQL 데이터 저장 [1] DB 데이터 (1) MySQL 데이터 객체 클래스 생성 MySQL의 테이블 칼럼을 객체로 만든 클래스를 생성한다. equals + hashcode 생성할때 non-null 선택해야하는데 key = id 는 값이 없으면 안되므로 체크한다 MySQ mincu.tistory.com 데이터베이스에 저장된 데이터를 쓰기(C) ,읽기(R),변경(U) , 삭제(D) 을 수행한다 = CRUD DB테이블 1개당 DAO 1개를 작성한다 (2) 계층형 패턴 각각의 웹페이지에 따라 중복되는 정보를 분리하기 위해 계층이 나눠진다 프레젠테이션 계.. 2023. 7. 20.
스프링_테스트_JUnit [1] TDD (1) TDD 정의 테스트 주도 개발 짧은 개발 주기를 반복 테스트하여 통과하는 코드를 추가하는 단계를 반복하여 구현하는 소프트웨어 방법론 이다 개발 후 계획대로 잘 완성되었는지 테스트 케이스를 작성하여 실행여부를 확인하는 개발방법론의 실천 방안 [2] 테스트 프레임워크 (1) 테스트 프레임워크 단위 테스트 프레임워크 모듈이 소스코드의 목적대로 작동하는지 테스트 검증하는 절차 (2) 테스트 프레임워크 목적 문제점 발견 가능성이 높아지고 안정성이 향상된다 테스트 결과를 테스트 클래스로 작성하여 테스트방법과 히스토리를 알수있다 Assert 메서드로 테스트 수행결과를 판별한다 Annotation으로 쉽게 지원이 가능하다 (3) JUnit 대표적인 테스트 프레임워크 [3] JUnit 사용하기 (1.. 2023. 6. 28.
스프링_DAO + Transaction 트랜잭션 [1] Transaction (1) Transaction 정의 ; Tx 더이상 나눌 수없는 작업의 단위 계좌 이체시 A 계좌 : 출금 / B 계좌 : 입금 하는 일련의 과정이 한 묶음으로 처리가 되어야한다 (2) Transaction 속성 : ACID 원자성 Atomicity : 나눌수 없는 하나의 작업으로 다뤄져야한다 일관성 Consistency : Tx 수행 전과 후가 일관된 상태를 유지해야한다 고립성 Isolation : 각 Tx는 독립적으로 수행되어야한다 영속성 Durability : 성공한 Tx의 결과는 유지되어야한다 (3) commit & rollback 커밋 commint : 작업 내용을 DB에 영구적으로 저장한다 롤백 rollback : 최근 변경 사항을 취소하고 마지막 커밋으로 복귀한다 .. 2023. 6. 27.
스프링_AOP [1] AOP (1) AOP 정의 관점 지향 프로그래밍 여러 객체, 메서드에 공통적으로 적용할수 있는 기능을 따로 정의한다 핵심 코드 기능이 아닌 부가 코드 기능 (advice)를 동적으로 추가해주는 기술 코드가 실행되는 과정 중에서 코드가 추가되어 실행된다 자동으로 추가되는 코드는 메서드의 맨앞 또는 맨뒤에 추가할수 있다. (2) AOP 목적 스프링의 AOP는 AspectJ 문법으로 작성한다 1. 비지니스 로직 코드 개발 2. 코드의 수정 최소화 3. 유지보수 (3) AOP 생성 과정 용어 설명 target advice가 추가될 객체 advice target에 동적으로 추가될 부가기능을 가진 코드 weaving target에 advice를 추가해서 proxy를 생성하는 동작 proxy target에 a.. 2023. 6. 27.
스프링_개념 개요 프레임워크 개발자 역량에 따라 프로젝트 결과물이 달라지는 점을 보완하기 위해 발생되었다. 프레임워크는 프로그램의 기본흐름이나 구조를 정하고 , 여기에 자신의 코드를 추가하는 방식으로 개발한다는 것이다 프레임워크를 사용함으로써 일정한 품질의 결과물을 생성할 가능성이 높고 , 개발 시간이 단축될수 있다 JAVA와 인터페이스를 이용한 구조로 시작되었다 스프링 특징 POJO 기반 구성 의존성 주입 DI 를 통한 객체 관계 구성 MVC 구조 WAS 종속적이지 않은 개발 환경 스프링 개발도구 - Eclipse + Spring Tool Suite (STS) 플러그인 - IntelliJ Ultimate - Spring Tool Suite (STS) 통합개발 도구 스프링 프레임워크 설정방식 1. XML 기반으로 설정하는.. 2023. 4. 30.
반응형