본문 바로가기

Develop

(317)
[Spring boot] 3. Project Run & 스프링 구동 방법 우선, MVC 패턴을 만들기 위해, 컨트롤러 생성 해준다. date.blog 에는 @SpringApplication 이 있다.(프로젝트 생성시 기본으로 설치되는 class) 여기 이 친구 하위에 controller를 만들어준다. 이유는 간단하다. @SpringBootApplication 상세 선언 화면이다. 좀 상세히 보면, 해당 경로 하위의 것들을 ComponentScan 후에, 메모리에 올려놓는다. 즉 초기에 구동할때, 어떤 것들을 new하고, 어떤것들을 heap에 두어서 관리를 할지 결정한다. 이는 IOC에 해당하는 중요한 스프링 핵심 개념이다. 즉 Class를 사용자 별도로 new하지말고, Spring 이 관리 해주어, 쉽게 메모리 관리를 하게 도와준다고 보면 된다. 간단하게, 테스트 용 Rest..
[Spring boot] 2. 의존성 설정 new > starter project 를 하게 되면 > sts에서 바로 의존성 설정하는 창이 나온다. 간단하게 JPA와 로그인 관련 security 설정만 추가해준다. 그러면, Get 방식으로 의존성 관련 쿼리스트링을 날려서, 필요한 라이브러리들을 자동 다운 + pom.xml 에 추가해준다 dependency 추가 목록들을 살펴보자 1. devtools 공식문서(https://docs.spring.io/spring-boot/docs/1.5.16.RELEASE/reference/html/using-boot-devtools.html) 뭐 대략적으로, classpath 내에서 변화가 일어날때, 자동 재시작을 해준다는 내용, maven,gradle일 경우,어떤식으로 pom.xml 로 들어가는지 안다. 2. L..
[Spring boot] 1. 프로젝트 생성 하기 1. File > New > new starter project Type : maven (Gradle 이나 다른건 자기 마음) 2. 요거 다음에는 프로젝트에서 사용할 것들 선택 후에, 디펜던시 추가 3. 자동으로 생성 및 스프링 초기 프로젝트 생성 완료! 진짜 간단하다 ;;
@AutoWired 사용 이유, 의존성 개념 우연히 프로젝트 하다가, 스프링 버전을 높였다. 1버전에서 3버전대로.... 그래서 어노테이션을 사용하다가, 문득 사용하고있는 @AutoWired 에 대해 탐구.... 스프링 핵심 기술중 하나인... @AutoWired 에 대해서 포스팅... 1.필드 injection 우선 @AutoWired 는 인터페이스 관련 선언할때 재 구현한 녀석을 주입해주는 어노테이션이다. 예를 들어서 PromotionService interface를 사용하는 PromotionServiceImpl 이 있다고 치자. @AutoWired PromotionService promotionservice 이렇게 쓰게 되면, promotionservice 변수에는 PromotionService 인터페이스를 재정의한 impl 파일에 대한 변수..
AOP(Aspect Oriented Programming) 개념 정리 1. AOP : 스프링의 3대 요소중 하나, 관점 지향 프로그래밍이라는 뜻... 스프링은 프록시 기반 AOP, 빈 AOP 설정 등에 특화 쉽게 말하면, 중복 사용되는 코드들을 재사용 가능하게, 자바로 치면 class화 시켜서 코딩하는 것 - 가장 쉬운 예, Log print , 트랜잭션 처리, 시간처리 Aspect는 포인트 컷 + 어드바이스의 결합이다. 포인트 컷 : 어떤 메소드에 대해 어드바이스 메소드 : 어떤 메소드를 실행?? 약간 인터셉터랑 비슷하다고 생각한다. 물론, Request 단이냐 Servlet 단이냐에 따라 다르긴하지만... 동작시점설명 Before 메소드 실행 전에 동작 After 메소드 실행 후에 동작 After-returning 메소드가 정상적으로 실행된 후에 동작 After-thr..