본문 바로가기

전체 글79

[Spring] AOP AOP(Aspect-Oriented Programming) : 전체 로직을 핵심 로직과 공통 로직의 관점으로 나누어 판단하고 관점 기준으로 분리하는 것 보통 관점 지향이라고 표현하는데, 관심사 기준으로 로직을 나눈다고 생각하자 Spring AOP 특징 1. spring bean에만 AOP 적용이 가능하다. 2. 프록시 패턴 기반이 AOP 구현체 사용한다. Spring AOP 장점 1. 비즈니스 로직이 공통 로직과 독립적으로 존재한다. 따라서, 코드 관리에 용이하며, 가독성 용이하다. AOP 용어 1. Advice : 적용할 공통 관심 사항의 기능을 의미하며 공통 로직에 해당한다. 2. Target : Advice가 적용될 특정 위치를 의미하며, 핵심 로직에 해당한다. Target은 순수한 비즈니스 로직을.. 2022. 10. 27.
[디자인 패턴] 싱글톤 패턴 싱글톤 패턴 : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 어디에 사용되는가? 주로 공통된 객체를 여러 개 생성해서 사용하는 DBCP와 같은 상황에서 많이 사용된다. 장점 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어든다. 단점 단위테스트를 원활하게 사용할 수 없다. 단위 테스트는 테스트가 서로 독립적이어야 하기 때문에 싱글톤 패턴은 각 테스트마다 독립적인 인스턴스를 만들기 어렵습니다. 또한, 모듈 간의 결합을 강하게 만들 수 있습니다. 결합도는 어떤 모듈이 다른 모듈에 의존하는 정도를 의미하며, 결합도는 낮게 설계하는 게 좋은 설계입니다. 구현 1. 생성자를 private으로 설정 2. private static 형.. 2022. 10. 26.
[Spring]Mybatis 연결 - root-context.xml 설정 mybatis와 spring 연결을 위한 root-context.xml 설정에 대해 설명드리겠습니다. 1. dataSource 설정 - dataSource는 데이터 베이스 연결 정보를 가진 객체 2. sqlSessionFactoryBean 설정 - 스프링에서는 SqlSessionFactory 객체를 생성하기 위해서 SqlSessionFactoryBean을 빈으로 등록해야 합니다. - SqlSessionFactoryBean을 빈으로 등록할 때, 사용할 dataSource와 mybatis 설정 파일 정보가 필요합니다. 3. mapper 빈 등록 - Mapper 인터페이스를 사용하기 위해서는 스캐너를 사용하여 자동으로 등록하거나, 직접 빈으로 등록해야 합니다. - 을 통해 mapper 파일로 사용될 인터페이스.. 2022. 10. 25.
[Spring] 게시판 파일 기능 설정 File 업로드, 다운로드 기능 등을 수행할 시 주의해야 할 HTML, 파라미터 등에 대해서 설명드리겠습니다. 1. input 타입을 file로 설정 2. form 태그에서 enctype="multipart/form-data" 설정 - 단순히 post만 하게 되면 파일 이름(문자열)으로만 넘어갑니다. 3. Spring parameter 설정 file은 MultipartFile[] files 또는 MultipartFile file로 설정합니다. MultipartFile[] files은 여러 개 파일들을 받는 배열이며, MultipartFile files은 하나의 파일을 받는 파라미터입니다. @PostMapping("/write") public String write(BoardDto boardDto, @Re.. 2022. 10. 24.