본문 바로가기

Develop

(319)
스프링의 Webflux 란? 최근에 많이 나온 지식중에 하나인 , webflux가 있다. 이게 뭘까...? 언뜻보기에는 프론트엔드 사용기술같기도하다... 스프링의 주요기능, IOC : 제어의 역전, 개발자가 프로그램 코드를 제어하고, 객체 생성 부터 생명주기를 관리했다면, 스필은 컨테이너가 이걸 제어한다. DI : 객체 내부가 아닌, 외부에서 값을 set해서 세팅해주는 것이다. 그러면 webflux 는? 이건 스프링 5에서 쓰는 것이다. Spring framework 5에서는 다음과 같은 특징들을 가진다. -JDK 8부터 지원 -Kotlin 지원 -호환 라이브러리 변경, -Reactive Progamming Reactive Programming??이건 뭥미? 프론트 리액트랑관련이 있는건가?? => 응 전혀 아니얌 1. Webflux..
[Spring boot] JPA 연동 및 테스트 JPA 설정이 기초적인 부분이 완료되었다. 이제 Entity를 생성하고, 재 부팅 해보자. JPA는 객체 지향적 ORM 방식으로 개발할수있도록 도와주는 api중하나이다. 개발자가 쿼리보다는 객체에 신경을 쓸수있도록 도와주고, 충분한 학습이 뒷받침 되면, 아주 좋은 성능을 낸다고한다. 이런식으로 id를 pk로 주고, 재부팅한다, 이렇게 자동적으로 sql에서 생성을 하게된다. ddl-auto 가 update이기때문에, 해당 컬럼을 추가하게 되면 이렇게 반영이된다. @Table , Entity 가 기본적으로 이름이 동일한 테이블을 생성 및 찾지만, 특정 테이블 이름과 매핑할수도있다. @Column(name ="???") 동일한 이름이 아닌, 특정 컬럼이름으로 할수있다. 예) 아 우선 그전에, 자동 재기동을 a..
[Spring-boot] JPA - mysql 연동 및 테스트 h2로, 간략하게테스트 할수도있지만 h2는 단순 테스트 용이니니까 실제 db를 사용해서 테스트를 해보자 우선 저번에 db 연결 및 , 스키마 생성(db1까지 완료했다.) 이제 스프링 쪽 설정 파일을 변경해주어야 한다. 우선 이런식으로 yaml파일을 수정해준다. 1. database-platform : mysql 이나 마리아 오로라 등등을 선택해준다. 그리고 dialect에 대한 설정이 있는데, 이건 방언이라고 하는데, db와 쿼리가 각자 달라서, 다른 경우에도 ORM이 되도록 설정해주는 것이다. 2. show-sql : sql 로깅, debug처럼 출력이된다. 3.open-in-view : 영속성 관계를 보장해준다. service ~ repo 까지의 관계에서 해당 트랜잭션을 보장해준다. 쉽게 말해서, 트..
[Spring boot] Spring - mysql - JPA 연동 노트북이 느려터져서, 화병으로 죽기전에, 한번 드라이브를 밀고 다시 세팅했다. 세팅은 언제나 할때마다 버벅인다 ㅋ; 담엔 좋은 노트북해서, 한 3년 주기로해야겠다... 무튼, 연동의 첫 부분을 위해, 프로젝트 새로띄움 우선은 Restcontroller랑 controller 랑 생성해서, view매핑까지 해놓고, mysql을 또 깔까.... 했지만, 그냥 aws 에서 설치하고 띄우려고한다. (로컬 설치 그만 ~ ^^) 그래서, aws에서 데이터베이스를 생성한다. 이건 참고자료도 많지만, 그냥 aws 가입하고 rds 생성할때, 퍼블릭 엑세스가능 (가능으로 바꿔야 boot에서 접근이 가능하다.)
[Spring boot] Spring - mysql - JPA 연동 노트북이 느려터져서, 화병으로 죽기전에, 한번 드라이브를 밀고 다시 세팅했다. 세팅은 언제나 할때마다 버벅인다 ㅋ; 담엔 좋은 노트북해서, 한 3년 주기로해야겠다... 무튼, 연동의 첫 부분을 위해, 프로젝트 새로띄움 우선은 Restcontroller랑 controller 랑 생성해서, view매핑까지 해놓고, mysql을 또 깔까.... 했지만, 그냥 aws 에서 설치하고 띄우려고한다. (로컬 설치 그만 ~ ^^) 그래서, aws에서 데이터베이스를 생성한다. 이건 참고자료도 많지만, 그냥 aws 가입하고 rds 생성할때, 퍼블릭 엑세스가능 (가능으로 바꿔야 boot에서 접근이 가능하다.)
[스프링 부트] mysql 설정 및 , spring security 기본 설정 우선 스프링부트 관련 테이블을 생성했다. 제일 기본적으로 쓸것같은, user, userrole,role이렇게 했다. Spring security 관련되서 인증, 사용자 관련되서 테이블을 생성했다. 제일 쓸것같은 테이블로, 컬럼을 대충 생성했고, 필요한건 추후에 수정 및 생성 예정이다. 거의 기본 세팅이긴하지만... 추후에 좀 파봐야겠다.... 스프링 공식 예제 기반으로 다듬고, 커스터마이징을 해야겠다는 생각이들었다. 다음에 스프링 시큐리티 관련 자세히 소스별 포스팅을 해야겠다
JPA란 무엇일까???? JPA에 대해서 많이들 언급하고있다 이직을 하거나, 공부를 하거나 등등 다양하게 스프링 관련 개발을 하게 되면 듣게 되는 용어이다. JPA대충감은 오지만, 확실히 모르면 확실히 알고가자 1. JPA 란 무엇일까 JPA란 흔히 , SQL과, 자바단을 묶어주는 , 객체 관계 매핑의 가장 표준적인 기술이다. 우리가 JAVA에서 객체를 넘겨주고, sql에서는 이 전달 받은 객체를 받아서, 매핑 해서 파라미터를 활용하여 insert나 select를 하게 된다. 2. JPA는 그래서 뭐임? 어케 쓰는거임?? JPA는 개발자가 사용하는 라이브러리가 아니다. 이렇게 애플리케이션 단과 JDBC 사이에 있기 떄문에, DB와 통신할때 객체를 매핑해주는 api라고 이해하면된다. 3. 그러면 JPA를 왜 사용해야할까???뭐가 ..
DispatcherServlet이란? 스프링에서 Log로 보면 제일 많이 보이는 DispatcherServlet 이 존재한다. 해당 서블릿은 뭐하는 녀석일까???? 1. FrontController 해당 스프링에서 제일 앞단에서 받는 컨트롤러이다. 사용자가 지정해놓은 컨트롤러 보다 먼저받아서, Controller로 뿌려준다. 이 계층으로 응답을 받고 처리를 진행하는데, 쉽게 말해서 dispatcher servlet 이 받고, filter intercepter controller라고 생각하면 된다. 필터는 보안이나, 인코딩에 대한 것이라서, 내부 Servlet 전에 막아준다. 그다음에는 intercepter 인데, Controller 수행전, 수행후 특정 패턴 등에 적용이 가능하다. DispatcherServlet 은 Controller 의 ..