일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C언어
- 자바
- SWEA
- php 프로그래밍 입문 3판
- 스프링
- 최단 경로
- spring
- 백준
- C
- 페이코 초대코드
- php 프로그래밍
- programmers
- php 프로그래밍 입문 솔루션
- php 프로그래밍 입문
- php
- 플러터 개발환경 설정
- Java
- 페이코 추천인
- 배열
- 한정 분기
- php 프로그래밍 입문 문제풀이
- JAVA SPRING
- 페이코 친구코드
- Flutter
- 자바 스프링
- 파이썬
- 페이코 추천인코드
- php 프로그래밍 입문 연습문제
- 플러터
- php 프로그래밍 입문 예제
- Today
- Total
목록Java Spring (96)
ImJay

[Java Spring] 1-24. AOP가 필요한 상황 1. 모든 메소드의 호출 시간을 측정하고 싶다면? 직장 상사가 갑작스럽게 프로그램의 모든 메소드들의 호출 시간을 측정해오라는 업무지시를 한다. 프로그램에 수천개의 메소드들이 존재한다고 가정하자. 우리는 수천개에 해당하는 메소드들의 처음과 끝마다 시간을 측정해주는 함수를 작성해야 한다. 그렇게 업무를 끝내서 초단위로 측정을 완료하니, 상사가 초단위는 정확히 확인이 안된다며 ms 단위로 측정을 다시 해보라고 한다. 우리는 수천개의 메소드를 또 다시 수정하는 과정을 반복해야 한다. 2. 상사의 요구사항대로 시간 측정 기능을 추가했다고 가정해보자 (MemberService.java) package hello.hellospring.service; impor..

[Java Spring] 1-23. 스프링 데이터 JPA 1. 스프링 부트와 JPA만 사용해도 개발 생산성이 정말 많이 증가하고, 개발해야할 코드도 확연히 줄어든다. 2. 여기에 스프링 데이터 JPA를 사용하면, 기존의 한계를 넘어 마치 마법처럼, 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있다. 그리고 반복 개발해온 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다. 3. 스프링 부트와 JPA라는 기반 위에, 스프링 데이터 JPA라는 환상적인 프레임워크를 더하면 개발이 정말 즐거워진다. 지금까지 조금이라도 단순하고 반복이라 생각했던 개발 코드들이 확연하게 줄어든다. 4. 따라서 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있다. 실무에서 관계형 데이터베이스를 사..

[Java Spring] 1-22. JPA 1. 앞서 기존 JDBC 에서 JDBC Template 로 변경 이후 개발해야 되는 코드가 훨씬 많이 줄었었다. 2. 그러나, 아직 해결하지 못한 문제가 있었다. SQL 은 개발자가 직접 작성해야된다는 점이었다. 3. 그러나 JPA 를 사용하면, SQL 쿼리도 JPA가 자동으로 해결해준다. 4. JPA의 특징 - JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. - JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있다. - JPA를 사용하면 개발 생산성을 크게 높일 수 있다. 5. bundle.gradle > dependencies 에 해당 코드를 추가한다. impleme..

[Java Spring] 1-21. JDBC Template 1. 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. 2. src > main > java > hello.hellospring > repository > 새로 만들기 > 클래스 > JdbcTemplateMemberRepository 생성 3. 코드 작성 package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc...

[Java Spring] 1-20. 스프링 통합 테스트 1. src > test > java > hello.spring > service > MemberServiceTest 복사 + 붙여넣기 > MemberServiceIntegrationTest 클래스 생성 2. 코드 작성 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import org.junit.jupiter.api.AfterEach; import org.juni..

[Java Spring] 1-19. 순수 JDBC 1. 이제 어플리케이션과 DB를 연동해서 어플리케이션에서 SQL 문을 작성하여 DB에 데이터를 저장해보는 작업을 수행해보자. 2. 주의! 이렇게 JDBC API로 직접 코딩하는 것은 15년 전의 이야기이다. 따라서 고대 개발자들이 이렇게 고생하고 살았구나 생각하고, 참고만 하며 넘어가자. 3. bundle.gradle dependencies 에 아래 코드를 추가하자. implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 4. src > resources > application.properties 에 해당 코드를 작성한다. sprin..

[Java Spring] 1-18. H2 데이터베이스 설치 1. 이전 글에서처럼 서버를 내리면 회원데이터가 메모리에서 다 사라지는 불상사를 막으려면, 데이터베이스에 데이터를 저장해야 한다. 이를 위해 우리는 아주 쉽고 간단한 H2 데이터베이스를 설치해보려고 한다. 2. H2 데이터베이스 홈페이지로 이동한다. H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executa..

[Java Spring] 1-17. 회원 웹 기능 - 조회 1. MemberController.java 에 코드 추가 @GetMapping("/members") public String list(Model model) { List members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } 2. templates > members > memberList.html 생성 및 코드 추가 # 이름 - th:each 는 loop 문이다. ( java 의 for each 와 같다. ) 3. 빌드 후 결과 확인 ( 회원가입 > spring1, spring2 등록 ) - th:each..

[Java Spring] 1-16. 화면 웹 기능 - 등록 1. 이번엔 컨트롤러에 등록 기능을 추가해보자. 2. MemberController.java 에 코드 추가 @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } 3. main > resources > templates > 경로 추가 > members 4. members 에 createMemberForm.html 생성 5. 코드 추가 이름 등록 6. 빌드 후 결과 확인 7. 만약 input text 태그에 "spring" 을 입력하게 되면 key="name", value="spring"이 서버로 넘어가게 된다. 8. 이제 틀을 생성했으..

[Java Spring] 1-15. 화면 웹 기능 - 홈 화면 추가 1. 회원 관리 예제를 웹 MVC로 개발해보자. 이전 시간 컨트롤러와 서비스, 레포지토리 간의 의존관계를 설정했다. 이젠 컨트롤러를 통해 기능을 수행할 수 있도록 구현해보자. 2. src > main > java > hello.hellospring > controller > 새로 만들기 > java 클래스 3. HomeController 클래스 생성 4. 코드 작성 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Contro..