본문 바로가기
반응형

Programming/Spring19

Spring boot - Thymeleaf 적용하기 1. template/hello.html 데이터를 받아들일 html템플릿을 만들어둔다. Hello Thymeleaf!! 2.Controller.java 자료를 넘길때는 ModelAndView객체에 담아서 보낸다. ... @GetMapping("/user") public ModelAndView hello(@RequestParam("id") String id) throws Exception { ModelAndView mav = new ModelAndView(); UserDto res = userService.getUserById(id); mav.setViewName("hello"); mav.addObject("user",res.getName()); return mav; } ... 2024. 4. 8.
Spring boot - DB / Mybatis / Mapper 1. Controller: UserProfileController.java package com.example.myba.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.spri.. 2024. 4. 7.
Spring Maven Swagger설치 여기서 최신버전을 복사해서 pom.xml의 디펜던시에 넣어준다. Maven Repository: org.springdoc » springdoc-openapi-starter-webmvc-ui » 2.5.0 (mvnrepository.com) org.springdoc springdoc-openapi-starter-webmvc-ui 2.5.0 localhost:8080/swagger-ui/index.html 2024. 4. 6.
Spring boot 시작하기 - 14강(스프링데이터JPA) 1. SpringDataJpaMemberRepository 인터페이스 작성 이번엔 클래스가 아닌 인터페이스를 만들어줍니다. 인터페이스만 만들면 객체는 JPA 템플릿이 자동으로 생성해준다고 합니다. package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; public interface SpringDataJpaMemberRepository extends JpaRepository, MemberRepository { @Override Optional findByName(St.. 2020. 11. 30.
Spring boot 시작하기 - 13강(JPA) 1. build.gradle dependencies 설정 기존 jdbc 라이브러리 대신 jpa라이브러리를 설정합니다. 설정 뒤에는 코끼리 아이콘을 클릭하여 라이브러리를 끌어와 설치해줍니다. 2. application.properties 설정 spring.jpa,.show-sql=true 는 jpa가 수행하는 sql을 볼 수 있도록 하는 옵션이고, spring.jpa.hibernate.ddl-auto=none 은 회원 객체를 확인할 때 테이블을 자동 생성하는 기능은 끄고 시작하는 것입니다. 이번 예제에서는 테이블을 생성해 놓았으므로 none으로 합니다. none대신 create로 할 경우 테이블 생성까지도 자동으로 해 줍니다. 3. Member 클래스 코드 수정 @Entity : JPA가 관리하는 Enti.. 2020. 11. 30.
Spring boot 시작하기 - 12강(테스트) 1. 기존 MemberServiceTest크래스를 복사하여 MemberServiceIntegrationTest 클래스를 생성 후 아래와 같이 코드를 작성합니다. 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.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; imp.. 2020. 11. 30.
Spring boot 시작하기 - 11강(H2 Database연결-jdbc template방식) 1. build.gradle 설정파일로 가서 아래와 같이 코드를 추가해줍니다. 2. application.properties 파일에 가서 아래와 같이 수정해줍니다. 3. JdbcTemplateMemberRepository 클래스를 추가해줍니다. package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springfram.. 2020. 11. 30.
Spring boot 시작하기 - 10강(H2 Database생성) 테스트용으로 사용할 DB를 만들기 위해 H2라는 database를 설치하도록 하겠습니다. H2 database 사이트에서 본인의 OS에 맞는 버전을 다운받아 설치합니다. 다운받은(설치한) 경로에서 실행파일을 실행해줍니다. linux/Mac은 h2.sh를 실행하면 되고, windows는 h2.bat를 실행하면 자동으로 H2 콘솔이 브라우저로 열립니다. 잘 안나오면 뒷부분은 그대로 두고, IP 부분을 아래와 같이 localhost로 바꾸어줍니다. localhost:8082/login.do?jsessionid=f5e0be78c8ea2e025e1340946eb405a6 연결되면 JDBC URL 부분이 최초에는 아래와 같이 설정되어 있는데, 이는 폴더를 직접 접근하는 것입니다. 이를 소켓을 이용하여 접근하도록 아.. 2020. 11. 29.
Spring boot 시작하기 - 9강(조회) 1. @GetMapping("/members") 구현 MemberController에 @GetMapping("/members")를 구현합니다. package hello.hellospring.controler; import hello.hellospring.domain.Member; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotat.. 2020. 11. 27.
Spring boot 시작하기 - 8강(등록) 1. MemberController 수정 @GetMapping을 통해 "/members/new" 를 처리하는 코드를 작성합니다. package hello.hellospring.controler; import hello.hellospring.domain.Member; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.we.. 2020. 11. 27.
Spring boot 시작하기 - 7강(홈화면) 홈 화면을 추가해보겠습니다. 1. HomeController 클래스 추가 package hello.hellospring.controler; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } 2. home.html 추가 templates 패키지 아래에 home.html파일을 생성합니다. Hello Spring 회원 기능 회원 가입 회원 목록 결과 ~~ 끝 ~~ 2020. 11. 26.
Spring boot 시작하기 - 6강(컴포넌트 스캔과 자동의존관계 설정) 1. Member Controller 만들기 controller 패키지 안에 MemberController 클래스를 생성합니다. 그리고 아래와 같이 코딩합니다. package hello.hellospring.controler; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final MemberService memberService; @Autowired public Membe.. 2020. 11. 26.
Spring boot 시작하기 - 5강(테스트) Service 클래스에 대한 Test클래스를 작성하겠습니다. 우선 Service 클래스의 소스코드에서 Ctrl+Alt+T 버튼을 누르면 아래와 같이 테스트 코드 생성창이 뜹니다. Create New Test를 클릭하면 아래의 세부 설정창이 뜨는데, 아래와 같이 Testing Library를 JUnit5로 선택하고, Member들을 체크해준 뒤 OK를 클릭합니다. 그럼 자동으로 기본 구성이 된 소스 코드가 Test패키지 하위에 나타나게 됩니다. 해당 클래스 MemberServiceTest에 코드를 작성하면 됩니다. MemberServiceTest package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.he.. 2020. 11. 26.
Spring boot 시작하기 - 5강(Service) Service를 구현합니다. hello.hellospring하위에 Service 패키지를 만들고 MemberService클래스를 추가합니다. 1. MemberService클래스 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import java.util.List; import java.util.Optional; public class MemberService { private final MemberRepository .. 2020. 11. 26.
Spring boot 시작하기 - 4강(테스트) 테스트 케이스를 만들고 테스트를 해보겠습니다. 아래와 같이 테스트 패키지-hello.hellospring 패키지 아래에 repository패키지와 MemoryMemberRepositoryTest클래스를 구성합니다. 1. MemoryMemberRepositoryTest클래스 package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.co.. 2020. 11. 25.
Spring boot 시작하기 - 4강(회원 도메인과 리포지토리) 회원 도메인과 리포지토리를 만들겠습니다. 폴더구조는 아래와 같이 하여 domain 패키지를 만들고 내부에 Member 클래스를 만들어줍니다. 그리고 repository 패키지를 만들어준 후 MemberRepository 인터페이스와 MemoryMemberRepository클래스를 만들어줍니다. 1. Member 클래스 package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } publ.. 2020. 11. 25.
Spring boot 시작하기 - 3강(파라미터 있는 MVC) 1. Controller 라우팅 추가 Controller 클래스에 "hello-mvc"라우팅을 추가합니다. 입력 파라미터로 "name"키에 값을 받아들이도록 합니다. name=???값을 이용해 "hello-template"를 반환하도록 합니다. package hello.hellospring.controler; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller publi.. 2020. 11. 23.
Spring boot 시작하기 - 2강(MVC예) 1. Controller작성 hello.hellospring 아래에 controler라는 패키지를 만든 후 HelloController라는 class를 만들어줍니다. 코드는 아래와 같습니다. localhost:8080/hello 로 접속 시 hello 함수를 실행하게 만들고, hello함수는 return "hello" 구문으로 hello를 리턴하는데, 이는 resources/templates에서 hello.html을 찾아서 반환해주는 역할을 합니다. 이때 속성으로 키가 "data"이고 값이 "hello!!"인 데이터를 함께 넘겨주게 됩니다. package hello.hellospring.controler; import org.springframework.stereotype.Controller; impor.. 2020. 11. 23.
Spring boot 시작하기 - 1강 1. 사전 준비 JDK 11버전을 설치해둡니다. IntelliJ도 설치를 해 둡니다. 2. start.spring.io 페이지에 접속하여 아래와 같이 세팅 후 Generate 를 클릭하여 Spring 프로젝트를 생성 및 다운로드 받습니다. 3. 원하는 곳에 압축을 풀고 IntelliJ를 이용하여 build.gradle파일을 열어줍니다. 4. Run하고 localhost:8080에 접속하여 에러 페이지가 나오는지 확인합니다. 아래와 같이 나타나면 정상설치가 된 것입니다. 5. 실행환경 변경 Settings에서 gradle로 검색하여 아래의 2가지 옵션을 gradle에서 IntelliJ IDEA로 변경해줍니다. 6. hello 페이지 만들기 Project View에서 src/main/resources/sta.. 2020. 11. 23.
반응형