일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- K8S
- 프로그래머스
- 스프링부트
- JPA스터디
- 스프링 공부
- 카프카
- DDD
- 코테준비
- querydsl
- 스프링공부
- nestjs스터디
- 기술면접공부
- Flutter
- 스프링부트공부
- Axon framework
- 알고리즘공부
- 코테공부
- 기술공부
- nestjs
- Kafka
- nestjs공부
- 자료구조공부
- 플러터 공부
- 자바공부
- JPA공부
- JPA
- 플러터 개발
- 스프링
- JPA 공부
- JPA예제
- Today
- Total
목록스프링부트 (12)
DevBoi
스프링 부트와 스프링의 차이 간단하게 추후 공부용으로 정리를 해보자 1. 불필요한 설정? 개발자가 설정할 부분이 줄어든다 Spring 은 xml 지옥과도 같은, web.xml 부터 servlet.xml applicationContext.xml 등과같은 필터, 리스터, 디펜던시 설정 팩토리설정 뷰 리졸버 설정 버전 설정을 다 일일히 해줘야한다. 하지만 spring boot는 버전관리도 스프링부트가 해주기 때문에 호환되는 라이브러리에 대한 종속성 버전 같은걸 개발자가 신경쓸 필요가 없다. starter 의존성 한줄로 많은걸 자동 설정해준다. 2. 내장형 톰캣을 사용한다. 스프링부트는 내장형 톰캣을 사용하고있어서 별도 톰캣설정을 하지않아도 바로 서버를 실행해서 코드를 짤수있다. 또한 환경설정 및 인프라적인 요..
기존의 aws RDS로 띄워서 개발을 했다가... 요금이 청구되었다 (피같은 내돈....) 그래서 부랴부랴 h2로 바꾸려고한다.... h2는 우선 혼자서 테스트용? 미니프로젝트용? 스터디용? 디비로 많이 쓰이며, 다른 디비보다 연결이쉽고 가볍다. 대신 용량이 적어서 프로토타입이나, 실제 서비스는 불가한 수준이니 참고하자 또한 자바기반의 RDBMS이다 무튼 h2 ㄲ 1. h2 사이트 접속 및 다운 http://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC ..
JPA 설정이 기초적인 부분이 완료되었다. 이제 Entity를 생성하고, 재 부팅 해보자. JPA는 객체 지향적 ORM 방식으로 개발할수있도록 도와주는 api중하나이다. 개발자가 쿼리보다는 객체에 신경을 쓸수있도록 도와주고, 충분한 학습이 뒷받침 되면, 아주 좋은 성능을 낸다고한다. 이런식으로 id를 pk로 주고, 재부팅한다, 이렇게 자동적으로 sql에서 생성을 하게된다. ddl-auto 가 update이기때문에, 해당 컬럼을 추가하게 되면 이렇게 반영이된다. @Table , Entity 가 기본적으로 이름이 동일한 테이블을 생성 및 찾지만, 특정 테이블 이름과 매핑할수도있다. @Column(name ="???") 동일한 이름이 아닌, 특정 컬럼이름으로 할수있다. 예) 아 우선 그전에, 자동 재기동을 a..
h2로, 간략하게테스트 할수도있지만 h2는 단순 테스트 용이니니까 실제 db를 사용해서 테스트를 해보자 우선 저번에 db 연결 및 , 스키마 생성(db1까지 완료했다.) 이제 스프링 쪽 설정 파일을 변경해주어야 한다. 우선 이런식으로 yaml파일을 수정해준다. 1. database-platform : mysql 이나 마리아 오로라 등등을 선택해준다. 그리고 dialect에 대한 설정이 있는데, 이건 방언이라고 하는데, db와 쿼리가 각자 달라서, 다른 경우에도 ORM이 되도록 설정해주는 것이다. 2. show-sql : sql 로깅, debug처럼 출력이된다. 3.open-in-view : 영속성 관계를 보장해준다. service ~ repo 까지의 관계에서 해당 트랜잭션을 보장해준다. 쉽게 말해서, 트..
스프링에서 Log로 보면 제일 많이 보이는 DispatcherServlet 이 존재한다. 해당 서블릿은 뭐하는 녀석일까???? 1. FrontController 해당 스프링에서 제일 앞단에서 받는 컨트롤러이다. 사용자가 지정해놓은 컨트롤러 보다 먼저받아서, Controller로 뿌려준다. 이 계층으로 응답을 받고 처리를 진행하는데, 쉽게 말해서 dispatcher servlet 이 받고, filter intercepter controller라고 생각하면 된다. 필터는 보안이나, 인코딩에 대한 것이라서, 내부 Servlet 전에 막아준다. 그다음에는 intercepter 인데, Controller 수행전, 수행후 특정 패턴 등에 적용이 가능하다. DispatcherServlet 은 Controller 의 ..
저번에 pom.xml에 Maven 형식으로 starter-security 만 추가하니까 모든 페이지에서 admin lock이 걸리고, 인증 페이지로 redirect 되는걸 알수있었다. 하여, 패턴적용하여, 어떤 페이지에서는 인증을 푸는 방법을 구현하였다. 우선 permitAll()을 하고, 특정 페이지에서 하나씩 어떻게 풀어나가는지 포스팅 및 정리 공부를 할 예정이다. 우선 com.date.blog 하위 패키지에 security 패키지를 추가, SecurityConfig 라는 class파일을 생성하였다. 하여 해당 소스 처럼, 해당 Config 파일은 WebsecurityConfigurerAdapter를 상속받아서, configure을 적용한다. web을 파라미터로 받는 경우에는 내부 프로젝트이 소스 접..
일단 저번에, mysql 설치 및 환경 설정을 완료 하였고, 이제 application.yml에서, 해당 database의 설정을 추가해준다. 우선 기존의 application.properties와 다르게 yml 파일의 형식은 보기도 편하고, json tree 형식으로 되어있어서 찾기도 훨씬 편하다. 기존에 설정했던 jsp 경로를 yml형식으로 바꾼뒤에, datasource의 내용을 적어준다. mysql관련 class name 과 url , root가 아닌 user name과 password를 입력한뒤에, 서버를 구동하면 정상적으로 뜬다. 참고) user name설정 방법 저번에 설치했던 mysql workbench 기준으로, 해당 내용을 작성 및 저장 해주면, 자동으로 생성해준다.
흔히 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..