본문 바로가기 메뉴 바로가기

Practical Accumulation

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Practical Accumulation

검색하기 폼
  • 분류 전체보기 (423)
    • 광고 (0)
    • 업무 폴더 (0)
    • Demos (40)
      • 민원신청 SPA (0)
      • Email Client (14)
      • Shopping mall (9)
      • Football Club (12)
    • Languages (25)
    • Spring (185)
      • Hibernate (27)
      • Spring Basic (45)
      • Spring Security (15)
      • Spring AOP (12)
      • Spring REST (23)
      • Spring Advanced (18)
      • Spring Boot (26)
      • Spring Test (16)
      • Microservice (3)
    • Client Technologies (61)
      • Angular (30)
      • React (19)
      • Bootstrap (9)
      • Thymeleaf (3)
    • Side Technologies (46)
    • Basic (13)
      • Algorithms (10)
      • Data Structure (2)
    • Embedded Systems (2)
    • IT 관련 유용한 것들 (4)
    • 기록 (43)
  • 방명록

Spring/Spring Basic (45)
Spring Basic : 외부 설정 파일에서 읽어오기 (정리)

1. 포스트들을 보다 보니 외부 설정 파일에서 읽어오는 것을 적어 놓은 게 너무 많았다. 여기에 모아 본다. 1-1 비슷비슷하고 중복되는 것도 있다. 2. Java Config 클래스를 통한 외부 설정파일 읽어오기 Spring : Configuration with Java Config Class - 설정 및 외부 properties 에서 읽어오기 1. XML파일 없이 스프링을 설정한다. 2. Configuration 클래스를 생성한다. 2-1 클래스 정의 위에 @Configuration을 붙인다 - xml 설정 파일처럼 이 클래스를 설정파일로 사용한다. 2-2 Annotation을 사용하기 위.. kogle.tistory.com 3. Xml을 통한 외부 설정 파일 읽어오기 Spring : Web MVC ..

Spring/Spring Basic 2020. 7. 24. 07:42
Spring Basic : Interface Segregation 원칙

1. 인터페이스에는 불필요한 메소드가 있어서는 안된다. 2. 필요한 기능에 맞는 인터페이스를 여러 개 생성하는 것이 모든 메소드를 다 가지는 인터페이스보다 낫다. 3. 아래는 지난 Open Close 원리에서 붙였던 도면을 여기에도 가져다 쓰고 있다. 3-1 아래의 도식 역시 Interface segregation의 원칙이 반영되어 있다. 3-2 FlyBehavior, QuackBehavior라는 두개의 별도의 기능을 가지는 인터페이스를 사용하고 있기 때문이다. 4. 하지만 아래의 예제의 경우, Duck 클래스는 두 개의 인터페이스를 구현한 객체를 소유하는 형식으로 구현한다. 4-1 즉 Duck 클래스가 가지는 기능의 형태를 다양한 방식으로 확장하고 있는 것이지 4-2 Duck 자체의 기능을 추가하는 방..

Spring/Spring Basic 2020. 7. 21. 10:14
Spring Basic : Open Close 원칙

1. 확장에는 열려있고 수정에는 닫혀 있어라 2. 코드 수정을 하지 않는 방향으로 작성해야 한다. 3. 항상 기능 확장 가능성을 고려하여 설계해야 한다. 4. 확장을 하려면 추상 레이어가 필요하다. 5. 이 원리를 가장 잘 설명해 주는 패턴이 strategy 패턴이다. 아래는 Head First Degisn pattern에 나오는 건데 인터넷에서 찾아서 붙였다. 6. Duck을 확장하기 위해서 FlyBehavior 인터페이스를 사이에 두고 나는 방법에 대한 클래스를 구현하고 있다. 6-1 Duck은 FlyBehavior의 fly()를 호출하면 실제 구현체에 따라서 다른 기능을 사용할 수 있게 된다.

Spring/Spring Basic 2020. 7. 21. 09:19
Spring Basic : Spring Bean LifeCycle

1 이전에 작성한 것이 있긴 한대 내용이 좀 부실해서 다시 정리한다. 2. 스프링 라이프 사이클은 스프링 컨테이너가 어떻게 스프링 빈을 관리하는지에 대한 내용이다. 3. 인터넷을 찾아보면 위의 라이프 사이클에 맞게 작성한 코드가 있어 언제 호출하는지 확인 할 수 있다. 3-1 아래 수 많은 interface가 구현되고 있다. 각각의 인터페이스는 하나 혹은 두 개 정도의 메소드를 가지고 있다. 3-2 sysout안에 어떤 interface의 메소드인지를 명시하였다. 3-3 Aware 인터페이스는 스프링이 프레임워크의 내부적인 동작을 수정하기 위한 기회를 제공한다. 3-4 InitializingBean, DisposableBean은 이벤트에 따라 실행되는 call back 메소드를 제공한다. 3-5 @Pos..

Spring/Spring Basic 2020. 7. 21. 07:58
Spring Basic : Dependency Injection @Primary, @Qualifier

1. 스프링 컨테이너에 하나 이상의 동일한 타입의 객체가 존재할 경우 1-1 @Qualifier로 어떤 객체를 사용할지를 명시해 주어야 한다. 1-2 아니면 @Primary로 지정하여 @Qualifier가 없는 경우 기본으로 사용될 객체를 지정해 준다. 2. 사용법 2-1 우선 예제로 사용할 공통 인터페이스와 구현 클래스 두개를 만들었다. 2-1-1 PrimaryGreetingServiceImpl은 @Primary가 지정되어 있어 동일한 타입의 여러 객체가 있을 경우 2-1-1-1 우선 순위를 갖게 된다. // 인터페이스 정의 package pe.pilseong.demodi.services; public interface GreetingService { String sayGreeting(); } // P..

Spring/Spring Basic 2020. 7. 21. 05:47
Spring Basic : SOLID 원칙

1. SOLID는 객체지향 프로그래밍에서 지켜야 할 더 나은 소프트웨어를 개발을 위한 필수 지침이다. 1-1 5가지의 원리는 의존성 관리에 대해 초점을 맞추고 있다. 1-2 잘못설계된 의존성 관리는 코드 확장과 수정을 힘들게 만든다. 1-3 스프링은 이 의존성에 작성에 대한 최소한의 제약만 제공하기 위한 프레임워크이다. 2. Single Responsibility - 하나의 클래스는 하나의 책임만 가져야 한다는 원리 3. Open Close - 확장에는 열려있고 수정에는 닫혀있어야 한다는 원리 3-0 프로그램의 기능이 확장되거나 변경될 때 기존의 소스는 수정하지 않고 추가로 코드를 작성한다. 3-1 인터페이스를 두고 다양하게 확장 가능하도록 구현 3-2 변경될 것과 고정될 것을 구별한다. 변경될 것은 하..

Spring/Spring Basic 2020. 7. 20. 20:12
Spring Basic : profile 사용하기 - 1

1. 프로그램의 실행환경에 따라 설정이 달라져야 할 때가 있다. 1-1 개발환경에서는 로그레벨이나 데이터베이스 설정 등이 달라질 수 있기 때문이다. 2. application properties를 작성하여 profile을 설정하는 방법 2-1 application.properties기본 설정파일 이외에 application-환경이름.properties 형식으로 설정파일을 작성할 수 있다. 2-2 예를 들면, 개발환경이면 application-dev.properties, 실제환경이면 application-prod.properties를 만들 수 있다. 2-3 실행 환경지정은 아래 application.properties의 spring.profiles.active=환경이름 으로 할 수 있다. 2-3-1 이렇게..

Spring/Spring Basic 2020. 7. 9. 22:44
Spring Basic : XML 결과값 생성

1. 아직도 xml 형식으로 데이터를 제공하는 곳이 많긴 하지만 별로 사용되지 않는 것 같다. 2. json외에 xml로 서비스를 요청하면 2-1 Accept 헤더에 application/xml로 서비스를 요청하면 406 not acceptable로 반환된다. 3. 해결 방법은 jacson dataformat xml dependency를 추가하면 된다. 3-1 스프링 부트의 경우에는 호환되는 jackson의 버전을 자동지정하므로 version정보는 삭제해야 안전하다. com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.11.1 4. xml 반환 값

Spring/Spring Basic 2020. 7. 9. 17:00
이전 1 2 3 4 5 6 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 도커 개발환경 참고
  • AWS ARN 구조
  • Immuability에 관한 설명
  • 자바스크립트 멀티 비동기 함수 호출 참고
  • WSDL 참고
  • SOAP 컨슈머 참고
  • MySql dump 사용법
  • AWS Lambda with Addon
  • NFC 드라이버 linux 설치
  • electron IPC
  • mifare classic 강의
  • go module 관련 상세한 정보
  • C 메모리 찍어보기
  • C++ Addon 마이그레이션
  • JAX WS Header 관련 stackoverflow
  • SOAP Custom Header 설정 참고
  • SOAP Custom Header
  • SOAP BindingProvider
  • dispatcher 사용하여 설정
  • vagrant kvm으로 사용하기
  • git fork, pull request to the …
  • vagrant libvirt bridge network
  • python, js의 async, await의 차이
  • go JSON struct 생성
  • Netflix Kinesis 활용 분석
  • docker credential problem
  • private subnet에서 outbound IP 확…
  • 안드로이드 coroutine
  • kotlin with, apply, also 등
  • 안드로이드 초기로딩이 안되는 경우
  • navigation 데이터 보내기
  • 레이스 컨디션 navController
  • raylib
TAG
  • Rest
  • MYSQL
  • form
  • 설정하기
  • 스프링부트
  • Security
  • Spring
  • mapping
  • one-to-many
  • 스프링
  • Validation
  • Spring Security
  • Many-To-Many
  • 설정
  • hibernate
  • crud
  • login
  • 로그인
  • WebMvc
  • Angular
  • 자바
  • 매핑
  • RestTemplate
  • spring boot
  • 하이버네이트
  • XML
  • 상속
  • 외부파일
  • one-to-one
  • jsp
more
250x250

Blog is powered by Tistory / Designed by Tistory

티스토리툴바