✔ SpringBoot
책이 18년도 책인데 벌써 legacy인듯 하다...하.... 빠르게 바뀌는 학문을 공부하기란...하아...
스프링 프레임워크
IoC 패턴 활용
xml을 이용해 설정하기
spring 컨테이너가 인스턴스를 관리해주면 생성 여부와 소멸 여부를 알기 힘들다 -> 콜백 메소드 작성
xml 파일에서 attrubute에 init-method
와 destory-method
를 추가 설정해주면 됨.
미리 모든 빈이 생성됨을 확인할 수 있다.
어노테이션을 이용해 설정하기
@Configuration
new를 이용해 매번 인스턴스를 생성하는게 아니라, 컨테이너가 미리 만들어둔 빈을 가져다 쓰니까 항상 같은 인스턴스에 접근하는거고, 완전 싱글톤이다. (갑자기 느낀점)
@PostConstruct
와 @PreDestroy
어노테이션 이용해 콜백 메소드 추가
스프링 MVC
- DispatcherServely, View Resolver, Interceptor, Handler, View 등으로 구성
- 스프링 부트를 이미 맛본 이상 스프링 설정하다 화가 치밀어올라서 눈으로 읽기로했다....하....
인터셉터
- 컨트롤러 요청 처리 전후에 로직 추가
- intercepter 클래스 구현체를 만들고, xml에 등록하면, 해당 path의 모든 컨트롤러 움직임?에 따라 handler가 실행된다.
스프링 부트 웹 개발
스프링 부트에 대한 이해
- 스프링은 환경 설정이 복잡하고, 로직과는 고나련 없는 설정 오류로 시간을 많이 허비하게 된다. -> 스프링팀에서 스프링 부트 개발 (2013년)
- jar 형태로 동작하기 때문에, main 메서드로 실행한다. main이 실행되면 내장 톰캣이 실행도됨
- beans를 출력해보면 autoconfigure이 붙어있는 bean들이 실행된다. 자동으로 여러 빈들이 실행됨을 알 수 있다.
꼼지락 🐥
- Maven: 원래 많이 사용하던 빌드 도구. 지금은 Gradle의 성능이 더 좋아서 Gradle 씀
- Gradlle: Groovy 기반 build tool. 빠르다.
- Groovy: JVM에서 작동하는 동적 타이핑 프로그래밍 언어. 자바의 강점 위에 파이썬, 루비 등의 프로그래밍 언어에 장점 더함.
({}를 쓰는데 함수 정의는 def다. 뭐지 이 끔찍한 혼종은 ,,,,)