일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA 공부
- querydsl
- 코테준비
- 플러터 공부
- 자료구조공부
- 기술공부
- 스프링부트공부
- 코테공부
- nestjs공부
- 스프링부트
- 스프링공부
- nestjs
- JPA스터디
- 알고리즘공부
- 플러터 개발
- Flutter
- DDD
- nestjs스터디
- 기술면접공부
- Axon framework
- 스프링 공부
- JPA예제
- JPA공부
- JPA
- 자바공부
- Kafka
- 카프카
- K8S
- 프로그래머스
- 스프링
- Today
- Total
목록분류 전체보기 (715)
DevBoi
제일 많이 쓰는 어노테이션중 하나인 View에서 컨트롤러 전달 방법에 대한 어노테이션에 대한 기초 지식 공부의 필요성이 생겼다. 완전히 이해하지 않고, 사용하다 보니까, 헷갈려서 삽질을 할때가 발생한다... (이럴 때 매운 화남) 무튼, View Controller 간의 데이터 전달을 돠주는 어노테이션에 대한 완벽한 이해를 위해 포스팅한다. @ResponseBody @Controller에서는, String 으로 return 을 시키면, view로 Return을 하게 된다. @RestController의 경우, data에 대한 response를 주는 Rest-api 에 대한 사용이 목적이므로 @ResponseBody 가 자동으로 붙는다. 그러나, Controller에서는 그렇지않다. 데이터를 넘겨주는 경우..
흔히 Controller 에서 볼수있는... 가장 흔한 메소드와 , url 연결 매핑 메소드! @RequestMapping, @GetMapping , @PostMapping 차이가 뭐지....? 사실 차이는 없다. /test 나 /test2 나, 방식은 같다. 결국 @GetMapping 은 RequestMapping에 대해서 길게 쓰기 귀찮을때 바로가기 처럼 연결해주는 방법이다. @RequestMapping 에 대해서 조금 더 공부해보자!! 우선 기본 구조 이렇게 value 와 method를 통해 방식을 결정 받는 방법이다. 단, value 에서는 단순 url에 대한 고정도 가능하지만, URL 패턴에 대한 정의도 가능하다 예를 들면 이런식으로 value 를 두게 되면, test2하위에 아무거나 해도 다 ..
우선 스프링 부트에서 쓰지말라고 했지만, 익숙하고 대중화된? jsp를 쓸때는 경로를 자동으로 잡아주지않아서 별도로 지정을 해주어야 한다. 우선 application.yml 에서 jsp 에 대한 prefix 와 surfix를 잡아준다. spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp 그리고 프로젝트 view 경로를 요로코롬 생성 해준다. 아마 기본으로 src/main 까지는 있지만, webapp부터는 폴더 생성을 해주어야 한다. 어제는 RestController로 api에서 주로 쓰이는 방식으로 메소드를 구현했지만. jsp는 view를 보여줘야 하기때문에 ~ 요로케 MV를 return 하게끔 소스를 짜면, 그냥 test.jsp가 나오게 된..
우선, MVC 패턴을 만들기 위해, 컨트롤러 생성 해준다. date.blog 에는 @SpringApplication 이 있다.(프로젝트 생성시 기본으로 설치되는 class) 여기 이 친구 하위에 controller를 만들어준다. 이유는 간단하다. @SpringBootApplication 상세 선언 화면이다. 좀 상세히 보면, 해당 경로 하위의 것들을 ComponentScan 후에, 메모리에 올려놓는다. 즉 초기에 구동할때, 어떤 것들을 new하고, 어떤것들을 heap에 두어서 관리를 할지 결정한다. 이는 IOC에 해당하는 중요한 스프링 핵심 개념이다. 즉 Class를 사용자 별도로 new하지말고, Spring 이 관리 해주어, 쉽게 메모리 관리를 하게 도와준다고 보면 된다. 간단하게, 테스트 용 Rest..
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..
1. File > New > new starter project Type : maven (Gradle 이나 다른건 자기 마음) 2. 요거 다음에는 프로젝트에서 사용할 것들 선택 후에, 디펜던시 추가 3. 자동으로 생성 및 스프링 초기 프로젝트 생성 완료! 진짜 간단하다 ;;
우연히 프로젝트 하다가, 스프링 버전을 높였다. 1버전에서 3버전대로.... 그래서 어노테이션을 사용하다가, 문득 사용하고있는 @AutoWired 에 대해 탐구.... 스프링 핵심 기술중 하나인... @AutoWired 에 대해서 포스팅... 1.필드 injection 우선 @AutoWired 는 인터페이스 관련 선언할때 재 구현한 녀석을 주입해주는 어노테이션이다. 예를 들어서 PromotionService interface를 사용하는 PromotionServiceImpl 이 있다고 치자. @AutoWired PromotionService promotionservice 이렇게 쓰게 되면, promotionservice 변수에는 PromotionService 인터페이스를 재정의한 impl 파일에 대한 변수..
1. AOP : 스프링의 3대 요소중 하나, 관점 지향 프로그래밍이라는 뜻... 스프링은 프록시 기반 AOP, 빈 AOP 설정 등에 특화 쉽게 말하면, 중복 사용되는 코드들을 재사용 가능하게, 자바로 치면 class화 시켜서 코딩하는 것 - 가장 쉬운 예, Log print , 트랜잭션 처리, 시간처리 Aspect는 포인트 컷 + 어드바이스의 결합이다. 포인트 컷 : 어떤 메소드에 대해 어드바이스 메소드 : 어떤 메소드를 실행?? 약간 인터셉터랑 비슷하다고 생각한다. 물론, Request 단이냐 Servlet 단이냐에 따라 다르긴하지만... 동작시점설명 Before 메소드 실행 전에 동작 After 메소드 실행 후에 동작 After-returning 메소드가 정상적으로 실행된 후에 동작 After-thr..
문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. 입출력 예제 ph..
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participantcompletionreturn ["leo", "kiki"..