일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 2018 KAKAO BLIND RECRUITMENT
- dfs
- 젠킨스
- 삼성 SW 역량테스트
- 2020 카카오 공채
- 삼성 SW 기출문제
- gcp
- 부스트코스
- 2018 KAKAO BLIND RECRUITMENT 1차
- c++
- Java
- 카카오
- CS 스터디
- gradle
- map
- 자바
- 2018 카카오 공채
- 2020 KAKAO BLIND RECRUITMENT
- 알고리즘
- Baekjoon
- 2018 카카오
- 2019 KAKAO BLIND RECRUITMENT
- 2019 카카오 공채
- 비트마스크
- 카카오 공채
- 프로그래머스
- bfs
- 백준
- set
- Today
- Total
목록Spring+웹 (10)
아무코딩
문제를 알 수 없어 엄청 오래 걸린 문제이다.ㅠㅠ 구글링을 하다보면 자주 발생하는 실수는 다음과 같다. - Mapper Interface와 Mapping되는 .xml 파일에 오타가 있을 경우(ex: Mapper Interface에 선언한 메서드명과 .xml에 매핑하는 id값과 일치하지 않을 때) - classpath에 경로가 잘못될 경우 나의 경우에는 yml을 잘못 작성해서 발생한 문제였다. mybatis: type-aliases-package: com.project.amitie.mapper mapper-locations: mybatis/mapper/**/*.xml mybatis 부터 들여쓰기를 한번 해버려서 spring:mybatis:로 읽어 설정파일이 적용되지 않았던 것이다. yml에서는 들여쓰기가 ..
이전에 프로젝트의 원활한 배포를 위해 자동배포를 설정했었다. 하지만 문제가 있었다. 배포를 위한 서버용 db와 개발시 사용하는 db의 url 이나 나뉘어지는 설정이 많은데 그때마다 application.yml에서 설정을 변경한뒤 실행 할 수는 없었다. 그래서 간단하게 내가 분리한 방법을 설명하고자 한다. 먼저 resource 분리 공통되는 부분은 resources폴더에 두고 application.yml 파일은 분리한다. resources-dev/application.yml spring: profiles: active: dev # 기본 환경 선택 --- # dev 환경 spring: profiles: dev datasource: url: jdbc:mysql://localhost:3306/amitie_db?..
[Eclipse] -> [환경설정] 메뉴 실행 Server/Runtime Environments 선택 [Add] 버튼을 눌러 톰캣 서버를 등록한다. 위와같이 서버 실행환경에 톰캣 실행 환경이 추가된 것을 확인할 수 있다.
스프링에서 엄청 자주 언급되는 AOP에 대해 공부해 보았다. 책만보고 눈에 잘 안들어오는 경향이 있어 인프런의 무료 인강을 참고하여 직접 구현도 해보며 익혀보았다. 스프링 AOP또한 적당한 구현을 통한 공부가 필요할거 같아서 코드를 작성중이었으나 뭔가 코드상의 오류가 있는지 로그가 뜻대로 출력되지 않아서 나중에 고치고 올릴 예정입니다. AOP AOP란 ? Aspect Oriented Programming의 약자 로, 관점 지향 프로그래밍이라고 불리기도 한다. 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용 할 수 있게 만들어 준다. 관점 지향 프로그래..
생성자 방식 : 빈 객체를 생성하는 시점에 모든 의존 객체가 주입된다. 설정 메서드 방식 : 세터 메서드 이름을 통해 어떤 의존 객체가 주입되는 지 알 수 있다. 각 방식의 장점은 곧 다른 방식의 단점이다. 생성자 방식 장점 : 빈 객체를 생성하는 시점에 필요한 모든 의존 객체를 주입받기 때문에 객체를 사용할때 완전한 상태로 사용할 수 있다. 생성자 방식 단점 : 각인자가 어떤 의존 객체를 설정하는지 알아내려면 코드를 다 읽어봐야된다. 세터 메서드 방식 장점 : 메서드 이름만으로도 어떤 의존 객체를 설정하는지 쉽게 유추가 가능하다. 세터 메서드 방식 단점: 필요한 의존 객체를 전달하지 않아도 빈 객체가 생성되기 때문에 객체를 사용하는 시점에 NullPointException 이 발생할 수 있다. Refe..
스프링 DI 의존이란? DI는 'Dependency Injection'의 약자로 우리말로는 '의존 주입'이라고 번역한다. 여기서 의존은 객체간의 의존 을 의미한다. 한클래스가 다른클래스의 메서드를 실행할 때 이를 '의존'한다고 표현한다. 의존은 변경에 의해 영향을 받는 관계를 의미한다. 예를들어 MemberDao insert() 메서드의 이름을 insertMember()로 변경하면 이 메서드를 사용하는 MemberregisterService 클래스의 소스코드도 함께 변경된다. 이렇게 변경에 따른 영향이 전파되는 관계를 "의존"한다고 표현한다. 의존대상 구현 - 의존 대상 객체를 직접 생성 public class MemberRegisterService{ //의존 ..
LifecycleServlet HttpServlet의 3가지 메소드를 오버라이딩 init() 서블릿은 init() 메서드를 호출하여 초기화된다. service(request, response) 서블릿은 service() 메서드를 호출하여 클라이언트의 요청을 처리한다. destroy() 서블릿은 destroy() 메서드를 호출하여 종료한다. Servlet 생명주기 WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인합니다. if (메모리에 없음) { - 해당 서블릿 클래스를 메모리에 올림 - init() 메소드를 실행 } - service()메소드를 실행 was가 종료되거나, 웹 어플리케이션이 새롭게 갱신될 경우 destroy() 메소드가 실행됩니다. 왜 이전까지는 service 메서드 없이 ..
자바 웹 어플리케이션(Java Web Application) WAS에 설치(deploy)되어 동작하는 어플리케이션입니다. 자바 웹 애플리케이션에는 HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet도 포함됨, package, 인터페이스 등), 각종 설정 파일 등이 포함됩니다. WAS 에 의해서 동작. 자바 웹 어플리케이션의 폴더 구조 WEB-INF web.xml 웹어플리케이션에 대한 정보를 가지고 있다. web application의 설정을 위한 deployment descriptor Deploy할 때 Servlet의 정보를 설정해준다. 브라우저가 Java Servlet에 접근하기 위해서는 WAS(Ex. Tomcat)에 필요한 정보를 알려줘야 해당하는 Servlet을 호출할 수 있다. 배포할..