Development/Spring&Springboot
스프링 빈이란??
1. 스프링 빈? 정의(What?) IoC 컨테이너(스프링 컨테이너) 안에 들어있는 객체로, 필요 시 스프링 컨테이너에서 가져와서 사용한다. 싱글톤으로 저장되기 때문에 객체의 재사용이 가능하다. 왜써?(why?) 스프링 컨테이너에서 개발자 대신 객체를 관리하도록 하기 위함. 객체를 개발자가 직접 생성하고 관리하는 것이 아니라 스프링 컨테이너에 스프링 빈으로 등록하고 컨테이너가 연관관계를 맺고 관리하도록 할 수 있다. 스프링 빈을 등록하는 방법은 아래와 같다. 1. @Bean 어노테이션 + ComponentScan 어노테이션 @ComponentScan(basePackages= {"com.example.myapp"}) @ImportResource(value= {"classpath:application-con..
스프링 컨테이너 DI와 IoC
1. IoC (Inversion Of Control) 제어의 역전이란? 정의(What?) 프로그램의 메서드나 객체를 개발자가 직접 제어하는 것이 아니라 외부(스프링 컨테이너)에서 관리하도록 하는 것 왜 써?(Why?) 개발자는 비즈니스 로직 구현에만 집중할 수 있기 때문 또한 제어의 역전을 통해 SOLID 원칙 중 DIP(의존관계 역전 원칙)를 준수할 수 있다. SoccerPlayer라는 인터페이스가 있다고 가정해보자. 아래 코드는 DIP를 위반한 상태이다. DIP는 추상화에 의존해야하지 구체화에 의존하면 안된다는 원칙인데, 아래 코드에서 Coach 클래스는 현재 체력 훈련 세션 객체를 의존하고 있다. 다른 훈련세션으로 변경하기 위해선 코드를 직접 수정해야하기 때문이다. public class Coach..

SpringBoot 내 html 파일을 어떻게 불러오는지 모르겠다면
안녕하세요. Harry입니다. 본 포스팅의 목적은, 스프링부트를 공부하며 어려웠거나 막혔던 부분에 대한 "명확한 정리/트러블슈팅" 입니다. 목표 - 스프링부트에서 여러 개의 html 파일을 어느 폴더에 둘 때 어떻게 읽어야하는지 안다. 결론 아무설정을 안한다면 template 폴더 내 있는 html 파일을 스프링부트가 읽을 방법이 없다. 만약 스프링에서 html을 읽어 오고자 한다면 1) [귀찮게 새로운 폴더 만들기] Webapp 폴더를 따로 생성하거나, 2) [스프링이 인지할 수 있는 귀찮은 설정 추가] (MvcConfiguration implements WebMvcConfigurer) public class를 선언하거나, 정적 리소스를 탐색할 경로를 매번 만들고 관리해야하기 때문에 빡셈 3) [멋진]..
[JPA] 스프링 관련 어노테이션
@Entity - (what?) DB 테이블과 매핑하는 어노테이션 @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라고 불림 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "member_id") @GeneratedValue - (what?) 기본키 생성 전략 어노테이션으로, 기본 키를 애플리케이션에 직접 할당 IDENTITY : 기본 키 생성을 데이터베이스에 위임 @Column -(what?) 객체 필드를 테이블 칼럼에 매핑 name : 필드와 매핑할 테이블 칼럼 이름