spring(19)
-
[Spring] 레이어드 아키텍쳐(Layered Architecture)
레이어드 아키텍쳐(Layered Architecture) 웹 어플리케이션을 제작하는 과정에서 많이 사용이 되는 구조이다. 각기 다른 구조의 계층이 층층이 겹쳐져서 웹을 이루는 구조라는 뜻에서 레이어드 아키텍쳐라는 이름을 가지게 되었다. 일반적으로 웹을 제작하는 시점에서 더 나은 아키텍쳐의 대안을 찾지 못할 경우 사용하게 되는 범용성이 높고 활용성이 높은 아키텍쳐 구조이다. 기본적으로 각기 다른 역할을 가진 애플리케이션 요소들을 수평으로 나눠 관리를 하며 각각 자신보다 한단계 하위의 레이어만 사용을 하게 된다. Controller - Prensentation Layer 스프링부트로 기본프로젝트를 생성하면 기본적인 내장 톰캣을 가지고 있는 프로젝트가 생성이 된다. 프로젝트가 생성 후 실행을 하면서 해당 컨트..
2022.07.25 -
[JPA] Mysql table 생성오류
스프링을 사용해서 mysql 데이터베이스에 연결하여 테이블을 만드는 과정이었다. 기존에는 문제없이 잘 만들어지던 table이었는데 이번에는 반복적으로 오류가 존재하여 생성 불가하다는 문구가 반복돼서 나왔다. @Entity @Getter @Setter @NoArgsConstructor public class Item { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(nullable = false) private Long id; @Column(nullable = false) private String work; @Column private boolean check; @Builder public Item(Long id, String work,..
2022.06.16 -
[Spring] Spring boot와 Mysql 연동 (Gradle)
스프링을 이용해 공부를 하면서 기존에는 H2 데이터베이스를 사용하다가 Mysql을 사용해서 연결을 해보려고 한다. application.properties과 build.gradle의 파일을 비교 변경하면서 진행하려고 한다. build.gradle의 dependencies 부분 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2..
2022.06.13 -
[Spring] AOP 개념 및 정리
[Spring] AOP 개념 및 정리 스터디를 진행하면서 배운 AOP에 대해 정리하고자한다. 추후에 Spring 고급편을 진행하면서 배우게 되는 심화 내용은 따로 정리할 예정이다. 지금 내용은 Spring에 대해 전반적인 내용을 다루는 기본편 강의에서 좀 더 알아보고자 정리했던 내용을 적으려고 한다. AOP - Aspect Oriented Programming 관점 지향 프로그래밍이라고 한다. 관점 지향 프로그래밍의 경우 공통 관심사항과 핵심 관심사항을 분리하여 프로그래밍을 하는것을 말한다. 예시(접은 글)에서 나온 시간 측정 로직을 공통 관심사항이라 하자. 그리고 나머지 역할을 핵심 관심사항이라 하자. 더보기 공통 관심 사항이 구현체 내부로 들어갔는지 안들어갔는지의 유무로 나뉘어지는데 외부에서 따로 주..
2022.06.05 -
[Gradle] 의존성 옵션
[Gradle] 의존성 옵션 gradle을 이용하여 공부를 하는 와중에 의존성 옵션을 한번 정리하고자 한다. 우리가 이용하는 build.gradle을 이용해 maven과 다르게 xml파일을 작성할 필요 없이 외부에서 라이브러리를 다운로드하여서 사용할 수 있게 해 준다. 그러나 이 gradle을 이용하면서 등장하는 다양한 의존성 옵션들이 존재하는데 이 옵션들이 각각 무엇을 의미하는지 알아야 잘 쓸 수 있다고 생각을 하여 정리를 하게 되었다. 의존성 옵션 자주 보이는 의존성 옵션들이다. 각각의 옵션들은 모듈의 주입 방법을 따진다. 사용에 맞는 의존성 옵션의 유무는 빌드 시간의 단축 혹은 연장을 가져올 수 있다. implementation : 주입되는 외부 모듈 수정 시 본 모듈까지만 rebuild 사용자에게..
2022.05.01 -
[Spring] 알아두면 좋은 것들 - Intelli j
[Spring] 알아두면 좋은 것들 Intelli j를 이용하여 공부를 하다 보면 공부를 하면서 좀 더 편리함을 찾을 때가 있다. 공부를 진행하면서 조금 더 가시성을 높여주는 것들을 정리하려고 한다. Intelli j console창 결과값 색상 지정 김영한 강사님의 spring 강의를 들을 때 강사님의 콘솔 창에는 각 메시지의 범위마다 색상이 출력돼서 가시성이 높았지만 나의 경우에는 회색으로 이루어진 문구만 존재하였다. - src\main\resources\application.properties 각자 해당 프로젝트 properties에 해당 문구를 추가하면 각 메세지의 범위마다 색상이 구분돼서 출력이 된다. 하나의 색으로 이루어진 문구보단 각 메세지를 색깔별로 구분해서 진행할 수 있기에 좀 더 편하게..
2022.04.22