일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- http
- 자바
- java
- Proxy
- db
- Thymeleaf
- JDBC
- 스프링
- 그리디
- transaction
- Spring Boot
- 스프링 핵심 기능
- 알고리즘
- 김영한
- Servlet
- springdatajpa
- 스프링 핵심 원리
- 인프런
- Greedy
- JPQL
- QueryDSL
- Android
- kotlin
- jpa
- Exception
- SpringBoot
- pointcut
- spring
- AOP
- 백준
- Today
- Total
목록Spring Boot (54)
개발자되기 프로젝트
2021.05.22 - [JPA] - H2 In-Memory DB H2 In-Memory DB 1. H2 DB 란? DB는 JAVA기반의 경량화된 관계형 DB file 로 저장하여 실제 DB처럼 유지할 수 있고, memory DB로 사용하여 실제 인스턴스가 동작하는 시점에만 유지도 가능 프로젝트 초기 test DB로 사용 유지 bsh-developer.tistory.com 순서 H2 Db 설치 SQL을 통해 애플리케이션과 DB를 연결할 때 Jdbc사용 Jdbc너무 어려워...JdbcTemplate사용 더 쉽게! JPA사용 : 쿼리없이 객체를 바로 DB에 저장 가능. Spring Data JPA : JPA를 편리하게 한번 더 감싸서 제공. 1. H2 DB 설치 H2 Database Engine H2 Dat..
@Component, @Autowired을 사용하는 방법 외에도 스프링 빈으로 등록하는 다른 방법은 java로 직접 등록해주는 것이다. 1. SpringConfig class 간단하다! SpringConfig class를 만들고 아래와 같이 @Bean으로 등록해주면 된다. @Controller는 그대로 두고, @Service, @Repository는 삭제한 상태이다. @Configuration public class SpringConfig { @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ return..
스프링 빈을 등록하는 방법은 두 가지가 있다. - 컴포넌트 스캔 & 자동 의존관계 설정 - 자바 코드로 직접 먼저 컴포넌트 스캔에 대하여 알아보자. 1) 컴포넌트(@Component) 스캔과 자동 의존관계 설정 @Controller, @Service, @Repository 등은 모두 @Component 컴포넌트 스캔은 스프링이 시작될 때 @Component붙은 클래스를 bean으로 등록! 스프링은 컨테이너에 빈을 등록할 때 싱글톤으로 등록. 따라서 유일한 인스턴스 존재. @Autowired의 역할을 해당 bean들을 필요한 곳에 연결시키는 역할을 함. 1. @Controller @Controller public class MemberController { } 스프링이 처음 뜰 때 스프링 컨테이너가 생김 ..
실제 서비스와 과련된 로직을 개발해보자. 1. MemberService class 생성 public class MemberService { private final MemberRepository memberRepository= new MemoryMemberRepository(); /** * 회원 가입 */ public Long join(Member member){ //같은 이름이 있는 중복 회원 x validateDuplicateMember(member); memberRepository.save(member); return member.getId(); } private void validateDuplicateMember(Member member) { //컨, 알트, m =method extraction...
1. Member class @Data public class Member { private Long id; private String name; } 2. MemberRepository Interface public interface MemberRepository { Member save(Member member); Optional findById(Long id); Optional findByName(String name); List findAll(); } JPA를 사용하면 위의 코드처럼 선언만 해줘도 사용이 가능하다. 하지만, 지금은 JPA를 사용하지 않기 때문에 해당 method를 사용하기 위해서는 interface에 대한 구현체가 필요하다. 3. MemoryMemberRepository Class ..
1. 정적 컨텐츠 : 파일을 그냥 그대로 내려준다! - 스프링 부트는 정적 컨테츠 지원 Spring Boot Features Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs as part of closing the application context and is performed in the earliest docs.spring.io 해당 내용을 보면 static하위의 폴더의 html파일로부터 기본적으로 static content를 제..
1. Welcome Page 만들기 recsources/static/index.html 넣어두면 welcome page로 지정됨. Hello hello Welcome page까먹었을 때??? spring.io에 접속해서 Welcome Page에 대한 내용을 직접 찾아볼 수 있다. Spring Boot Features Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs as part of closing the application conte..
영화 리뷰 관리를 위해 필요한 필수 기능인 comment 기능을 추가해보자. 이미 필요 기능은 구현되어 있고, 프론트를 통해 실행시킬 수 있어야 한다. 1. 자바스크립트 기존에 작성되어있는, Vue객체인 movie_list 내부에 addComment function을 추가했다. 해당 fucntion은 commentBox의 content를 가져와서 Post method를 실행한다. 이후 성공시 전체 movie리스트를 불러와서 프론트를 업데이트한다. var movie_list = new Vue({ el: '#movie-list', data: { movie_list : {} }, methods: { deleteMovie: function (id) { $.ajax({ type: "DELETE" , async: ..