반응형
제육's 휘발성 코딩
반응형
[Spring] 스프링 이란?
🔷 Spring/basic 2021. 7. 26. 12:16

스프링 의미 문맥에 따라 다르다. 스프링 DI 컨테이너 기술 스프링 프레임워크 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계 스프링 생태계 스프링은 특정한 하나가 아니라 여러가지 기술의 집합이라고 볼 수 있다. 스프링 부트 : 여러 프레임워크를 편리하게 도와주는 툴 스프링 데이터 : DB의 CRUD를 편리하게 도와줌, Spring Data JPA를 제일 많이 사용 스프링 세션 : 서버에서 연결 정보를 관리하는 세션을 도와주는 기능 스프링 시큐리티 : 보안 기능 스프링 Rest Docs : 문서 관련 기능 스프링 배치 : 여러 작업을 묶어서 일괄 처리하는 기능 스프링 클라우드 : 클라우드 기술을 도와주는 기능 ※ https://spring.io/projects 이 외에도 여러 다양한 기능..

Spring AOP
🔷 Spring/basic 2021. 7. 26. 03:06

AOP란? Spring은 Spring Triangle이라고 부르는 세 가지 개념을 제공해준다. 각각 IoC, AOP, PSA를 일컫는다. AOP는 Aspect Oriented Programming의 약자로 '관점 지향적인 프로그래밍'이라는 의미이다. AOP의 핵심 개념은 관심사의 분리이다. (Tracing, Exception, Transction 등) AOP 사용 시 코드 분산, 코드 꼬임 등을 처리하여 간결한 구조를 만들 수 있다. ※ PSA (Portable Service Abstraction) : 추상화 계층을 사용하여 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공해주는 것 AOP 기능 @Aspect : 흩어진 관심사를 모듈화, Aspect 클래스임을 정의 Target : Aspect를 적용하..

[Spring JPA] JPA 란?
🔷 Spring/JPA 2021. 7. 24. 16:50

패러다임의 불일치 객체지향프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공한다. 아직까지는 객체를 영구 보관하는 저장소로 여러가지 방식이 있지만, 아직까지 관계형 데이터베이스로 많이 사용한다. 즉, 객체를 SQL로 변환해야한다. 해당 그림을 살펴보자. 객체 상속 관계로 봤을 때 Album에 데이터 저장은 Album, Item 두 곳에 모두 insert 해야한다. 저장은 어떻게든 되겠지만, 조인 연산을 통해 조회하는 경우를 생각해보자. 각각의 테이블 맞춰 객체를 생성해서 만들어야한다. 상상만해도 복잡하기 때문에 DB에 저장할 객체에는 상속 관계를 사용하지 않는다. 디비가 아닌 자바 컬렉션에서 조회 한다고 가정하면? Album album = l..

H2 Database 설치 방법 (Window & Mac)
Other 2021. 7. 24. 16:26

다운로드 및 실행 https://h2database.com/html/main.html Default 경로 C:\Program Files (x86)\H2\bin 에서 h2.bat 실행 (Window 기준) 프로세스 종료 : netstat-ano (프로세스 pid 확인) , taskkill /pid 12324 /f (12324 프로세스 강제종료) Mac은 h2/bin/ 에서 ./h2.sh로 실행 터미널 창을 종료하면 h2도 종료되므로 실행시킨 터미널은 종료하면 안된다. H2 파일 생성 및 접속 방법 최초 접속시 jdbc:h2:~/파일명 후 루트 폴더에 ~/파일명.mv.db 파일 생성 확인 이후 접속시 jdbc:h2:tcp://localhost/~/파일명 이 후 Generic H2 (Server)로 변경 후 ..

[Spring] Form 태그와 Controller 간 데이터 전송 (Thymeleaf)
🔷 Spring/basic 2021. 7. 24. 15:43

VIEW 우선순위 Request 요청이 오면 컨트롤러에 해당 정보가 있는지 먼저 찾고 없으면 static/index.html 파일을 찾는다. localhost:8080 요청이 왔을 경우 Controller에 매핑이 되어 있으므로 template/home.html을 찾아간다. (타임리프 기준) @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } VIEW FORM 태그 이름 등록 form 태그 : 값을 전송하기 위한 태그 , method="post" 포스트 방식으로 전달 input type="text" : 텍스트 입력, name="name" 서버에 전달할 키값("name"), pl..

[Spring] 스프링 빈과 의존 관계
🔷 Spring/basic 2021. 7. 24. 14:37

스프링 빈이란? Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라는 용어로 부른다. 우리가 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아니다. ApplicationContext.getBean()으로 얻어질 수 있는 객체는 빈이다. 즉, Spring에서의 빈은 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미한다. ※ 스프링은 스프링 컨테이넌에 빈을 등록할 때 기본으로 싱글톤으로 등록한다. (하나의 객체만 등록하여 관리) 설정으로 싱글톤이 아니게 설정할 수 있지만, 대부분 싱글톤 사용 스프링이 처음 실행될 때 스프링 컨테이너가 생성되고 스프링 컨테이너에서 @Controller, @Service, @Repository 등 어노테이션이 붙은 객체를 생..

[Spring] 웹 개발 종류
🔷 Spring/basic 2021. 7. 24. 13:50

정적 컨텐츠 단순 파일 그대로를 전달 Hello hello MVC와 템플릿 엔진(Jsp, Thymeleaf 등) HTML에 템플릿 엔진을 통해 동적 페이지 구성 API JSON 데이터만 클라이언트에 전달하여 구성 (서버 간 통신 등 ), @ResponsBody 사용하여 객체를 반환하면 JSON으로 변환됨 @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } //ResponseBody //http body 부분에 직접 넣어주겠다를 명시하는 애노테이션 // 문자면 String 값,..

article thumbnail
IntelliJ 단축키 모음 (Window & Mac)
Other 2021. 7. 24. 13:39

IntelliJ 단축키 모음 (Window & Mac) IntelliJ에서 유용하게 사용하는 단축키 모음 정리 해두었습니다! 메서드, 클래스 등을 호출한 모든 위치 검색 Window : Alt + F7 Mac : Option + F7 Window : Ctrl + B 또는 Ctrl + Alt + B (구현체) Mac : Command + B 또는 Command + Option + B (구현체) 지정한 클래스와 연관된 목록 확인 Window : Ctrl + B Mac : Command + B 전체 검색 (파일, 클래스, 액션 등) Window : Shift + Shift Mac : Shift + Shift 바로 Action을 가고 싶다면 Ctrl + Shift + A 또는 Command + Shift + A..

반응형
반응형