본문 바로가기

Back/Spring10

예제로 배우는 스프링 - PetClinic 다음 포스팅은 인프런 백기준 님의 예제로 배우는 스프링 입문을 듣고 정리한 내용입니다. 과제 (Spring PetClinic Project) lastName으로 검색중인 항목을 firstName으로 검색하기 firstName의 일부만 맞아도 검색 가능하게 하기 ownerdp age 항목 추가하기 firstName으로 검색하기 console 창에서 GET "owners/find", parameter {}를 통해 flow 확인하기 return "owners/findOwners"; View 확인 lastName -> firstName으로 변경하기 Find Owner버튼의 Controller Mapping 되어있는 부분 찾기 -> 수정 OwnerController 수정 @GetMapping("/owners") .. 2022. 7. 5.
FullCalendar 캘린더 db 일정 조회하기 1. 개발환경 1. 다운로드 > Javascript Full Calendar 홈페이지 : https://fullcalendar.io > Javascript Full Calendar Scheduler : https://fullcalendar.io/docs/premium FullCalendar - JavaScript Event Calendar Open Source... With over 10 years of open source and over 120 contributors, FullCalendar will always have a free and open source core. Learn more fullcalendar.io 2. FullCalendar 기본 세팅 1. FullCalendar 기본 템플릿 .. 2022. 3. 4.
Spring - Clova Chatbot Clova Chatbot 챗봇 제작 API 서비스 사용자의 질문 의도를 이해하여 고객 대응 등 다양한 서비스에 활용할 수 있는 Chatbot 제작 지원 CLOVA Chatbot 만들기 (1) 도메인 (2) 대화 생성 (3) 학습 질문 입력 (4) 챗봇 답변 입력 (5) 챗봇 빌드 (6) 챗봇 테스트 (7) 서비스 제공 챗봇 시나리오 작성 예 독서 모임 신청 시나리오 챗봇 : 독서 지도자 대화 : 독서 모임 신청하기 독서 모임 주최 : 북클럽 멀티 일자 : 2022-01-39 토요일 시간 : 15:00 ~ 17:00 장소 : 00도서관 대상 도서 : 한국형 혁신의 길을 찾다 참가비 : 5,000원(음료) 찾아오는길 : 이미지 첨부 주차 안내 : 이미지 문의 : 010-1234-5678 이메일 : 00000.. 2022. 1. 26.
Spring - REST, Ajax REST 브라우저에서 페이지 요청 시 PC에서는 페이지 전체를 다시 전송해서 표시해도 문제 없지만 스마트폰 등의 모바일 기기에서는 기존 화면은 그대로 유지하면서 필요한 내용만 추가해서 화면에 표시한다, 모바일 기기가 유선 기기보다 네트워크 전송량이 떨어지므로 현재 화면은 그대로 유지하면서 필요한 데이터만 전송받아 빠르게 표시하기 위해 데이터만 전송하는 기능의 표준화의 필요성이 대두 되었다. 이 방식을 REST라고 하며 대표적인 예로는 Ajax가 있다. REST (Representational State Transfer) URI가 고유한 리소스를 처리하는 공통 방식 ex. /board/112로 요청할 경우 -> 게시글 112번째 글만 응답 처리 REST 방식으로 제공되는 API를 REST API(또는 RE.. 2022. 1. 11.
Spring - AOP(Aspect Oriented Programming) AOP 개요 AOP (Aspects Oriented Programming) 관점 지향 프로그래밍 문제를 바라보는 관점을 기준으로 프로그래밍하는 기법 문제를 해결하기 위한 '핵심 관심 사항'과 전체에 적용되는 '공통 관심 사항'을 기준으로 프로그래밍 공통 모듈을 여러 코드에 쉽게 적용 가능 AOP에서 가장 중요한 개념 '횡단 관점의 분리(Separation of Cross-Cutting Concern)' AOP와 횡단 관점 공통 기능 로그 처리 보안 처리 트랜잭션 처리 AOP 용어 Aspect : 공통 기능(공통 코드) Advice Aspect의 주요 내용(공통 기능 안의 세부적인 내용들). 횡단 관심모듈 자체(What) 핵심 코드에 삽입되어 동작하는 코드와 시험 Adivice 시점 : before/aft.. 2022. 1. 5.
Spring - Annotation(어노테이션) 빈 생성 관련 어노테이션 빈 생성(설정)을 위해 클래스 위에 추가되는 어노테이션 클래스 이름 위에 붙이면 해당 클래스 파일에 대한 bean 자동 생성 (xml 파일에서 bean 생성하지 X) 생성되는 빈의 이름은 클래스 이름에서 첫 문자만 소문자 ex) NameService 클래스의 빈 이름은 nameService @Component @Controller @Service @Repository @Configuration @Bean xml 설정 파일에서 필요한 작업 어노테이션을 이용하기 위해 xml 설정 파일에서 필요한 작업 xml 설정 파일에 context 네임스페이스 추가 @Component 어노테이션이 적용된 클래스를 빈으로 등록 빈으로 등록될 클래스가 들어있는 패키지 지정 상위 패키지를 지정하면 하위.. 2022. 1. 5.
Spring - Singleton(싱글톤) Spring - Singleton 스프링 컨테이너는 빈을 생성할 때 싱글톤 패턴을 적용하지 않아도 항상 클래스당 1개의 인스턴스만 생성한다.(default) singleton 속성 변경 가능 태그의 scope 속성을 이용하여 빈이 싱글톤으로 생성되게 할지 아니면 요청할 때마다 생성되게 할지 설정 가능 singleton : 컨테이너에 한 개의 인스턴스만 생성(기본 값) prototype : 빈을 요청할 때마다 인스턴스 생성 thread : 쓰레드 별로 생성 request / session / application scope 있음 싱글톤(Singleton) 확인 MemberMain 클래스에서 member2 객체(인스턴스) 생성하고 앞에서 생성한 member와 동일한지 확인 Annotation을 이용한 DI .. 2022. 1. 5.
의존성(Dependency) 의존성 (Dependency) 객체 간 의존성. 한 클래스가 다른 클래스의 객체를 통해 그 클래스의 메소드를 실행할 때 이를 의존한다고 표현한다. DI를 사용하는 이유 의존하는 객체의 클래스가 변경되거나 다른 클래스의 객체를 사용하게 될 경우 의존 관계(결합 상태)에 있는 다른 모든 클래스들의 소스 코드도 변경해야 하는데 의존성 주입 방법을 사용하면, 클래스 결합 상태를 변경하거나 객체를 주입하는 부분만 수정하면 되므로 수정할 코드의 양을 줄일 수 있다는 장점이 존재한다. 스프링 의존성 주입 방법 XML을 이용한 방법 xml 설정 파일에 설정 Annotation을 이용한 방법 자바 코드에서 @어노테이션으로 설정 @Controller / @Service 1. 스프링을 사용하지 않는 DI (1) DI를 사용.. 2022. 1. 5.
스프링 프레임워크 종류 및 특징 스프링 프로젝트 종류 스프링 : 자바 기반 웹 프레임워크 스프링 웹 프로젝트 Spring Legacy Project 스프링 템플릿 프로젝트 이용하는 프로젝트 Spring Starter Project Spring Bootd을 이용하는 프로젝트 Simple Spring Maven (Maven) (1) Spring Legacy Porject 스프링 템플릿으로 프로젝트를 이용하는 프로젝트로 모델2 방식(MVC) 프로젝트 생성 시 이용한다. 서버 및 여러 설정이 필요하며 실제 개발 업무에서 많이 사용한다. (2) Spring Starter Project Spring Boot을 이용하는 프로젝트. 최대한 간단하게 실행하고, 배포가 가능한 수준의 웹 애플리케이션을 제작하기 위한 목적을 가진다. 개발에 필요한 모든 환.. 2022. 1. 5.