본문 바로가기

Spring20

maven 정리 **최근에는 gradle을 더 많이 사용하는 추세라고 알고 있지만 토이 프로젝트에서 maven을 사용하게 되어** **Maven을 정리해보게 되었습니다.** #### 기능 - 빌드툴 - 패키징 배포 가능한 파일 생성 : war, jar, exe 등 -프로젝트 관리 버전 및 릴리즈 관리, javadoc 작성 가능 -test 단위 테스트 수행, 빌드 결과 정상인지 점검 -배포 실운영 서버에 배포가 아닌 프로젝트 버전 관리 위한 특정 원격 저장소에 배포 ##### maven hello world 프로젝트 시작 ###### 특정 프로젝트 경로 최상위에 pom.xml을 생성 : 최상위 태그 : 프로젝트 그룹명, 일반적으로 다른 컴포넌트와 라이브러리와 차별될 수 있는 유니크한 명칭을 가짐 관례적으로 회사 도메인 명.. 2023. 2. 4.
의존성 주입과 초기화 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야한다. 그런데 개발자가 의존 관계 주입이 모두 완료된 시점을 어떻게 알수 있을까? 초기화 콜백, 소멸전 콜백을 통해 초기화 시점을 알려주는 다양한 기능을 제공함. 이러한 기능은 생성자에 넣으면 안되겠느냐 할 수 있겠지만 객체의 생성과 초기화를 분리해야함. 생성자는 필수 정보를 받고 메모리를 할당해 객체를 생성하는 책임을 가지는 반면 초기화는 이렇게 생성된 값을 활용해서 커넥션 등 무거운 동작을 수행함. 따라서 생성자 안에서 무거운 초기화 작업을 함께 하는 것보다는 개체를 생성하는 부분과 초기화 하는 부분을 명확히 나누는 것이 유지보수 관점에서 좋음. 그러나 단순한 경우에는 생성자에서 한번에 처리하는게 나을수도 있긴 함. 2022. 7. 26.
스프링 : AOP 관점지향 프로그래밍, 핵심 비즈니스 로직으로 핵심 로직을 수행하기 위해 행해지는 데이터베이스, 로그, 파일 입출력 등 여러가지에 활용될 수 있으며 공통된 로직을 하나로 분리해 사용할 수 있는 것을 의미한다고 이해했습니다. 즉 AOP에서 각 관점을 기준으로 로직을 모듈화한다는 것은 코드에서 공통적인 부분을 추출해 공통적으로 사용하겠다는 뜻입니다. joint point, around 등을 통해 이러한 공통 메소드를 통제할 수 있고 김영한님 강의에서는 시간 측정 모델을 공통으로 분리해내어 사용하였습니다. 현재 프로젝트에서는 util로 공통로직을 사용하는데 (파이썬) 스프링에서는 이러한 것을 자체적으로 제어해주는 IoC같은 기능이 있다보니 좀더 거대 프로젝트에 유용할 수 있을 것 같고 다양한 방식으로 활용될 수.. 2022. 7. 22.
spring-boot : application.yml ( 데이터베이스 연동) main > resources> templates > application. yml (application.properties로도 작성이 가능하나, yml이 좀더 대세라고 합니다.) spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/example?serverTimezone=UTC&characterEncoding=UTF-8 username: root password: 1234 2021. 3. 4.