묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Test 코드 작성 중 MemberRepository 궁금한 것이 있습니다.
@Autowired MemberRepository memberRepository;@Bean public MemberRepository memberRepository(){ //return new MemoryMemberRepository(); //return new JdbcMemberRepository(dataSource); return new JdbcMemberRepository(dataSource); } 이것이 자동으로 JdbcMemberRepository 주입되는 것이 memberRepository가 스프링 빈으로 등록이 되었고 이 등록된 것이 스프링 컨테이너에서 관리하기 때문인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost:8080 했을 때 창이 안뜨고 다운로드가 이뤄져요
강사님이 알려주신대로 dependencies 수정했어요. 어제 할때까지만 해도 잘 됐는데 오늘 갑자기< localhost:8080/hello?username>를 입력하니 hello이름의 파일이 계속 다운로드 되고 창이 뜨지 않아요. hello 파일을 열면 제대로 이름이 뜨긴 합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdbcTemplate.query 에서 sql 문 파라미터 질문 있습니다
public Optional<Member> findById(Long id) { List<Member> result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper()); return result.stream().findAny(); }궁금한게 저기 sql문에서 ? 파라미터가 어떻게 입력이 되는거죠?public Optional<Member> findById(Long id) { List<Member> result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(),id); return result.stream().findAny(); }밑에 방식으로 해야되는거 아닌가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
fail()이 무엇인가요
회원 서비스에 대한 테스트코드 중 일부인데try {memberService.join(member2);fail();} catch (IllegalStateException e) {assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");} 여기서 fail()에 대한 제대로된 설명이 없이 넘어가셨는데 fail()이 무엇인가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMappingHandlerAdapter 궁금증이 있습니다.
@RequestMapping("/springmvc/v2/members/new-form") public ModelAndView newForm() { return new ModelAndView("new-form"); } @RequestMapping("/springmvc/v2/members/save") public ModelAndView save(HttpServletRequest request, HttpServletResponse response) { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); ModelAndView mv = new ModelAndView("save-result"); mv.addObject("member", member); return mv; } 이 코드처럼 RequestMapping어노테이션이 붙은 메서드는 매개변수가 다를수도있는데RequestMappingHandlerAdapter가 알아서 잘 찾아서 handle 메서드에서 내부적으로 알아서 잘 굴러가게 구현이 되어있는건가요?몇가지 정해진 틀이있는건지 궁금합니다. 제가 임으로 int 나 String 같은 매개변수 넣어볼때는 안되더라구요
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JdbcTemplateItemRepository2 적용 후 로그
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]JdbcTemplateItemRepositoryV2 적용 후 아래 화면처럼 로그가 뜬다고 설명해주셨는데제 PC 에서 실행 후 로그는 아래 화면 처럼 뜹니다.이에 관해 몇가지 질문이 있습니다. 1.로그가 서로 다른 이유가 무엇인가요??본인 PC 로그 표시 레벨은 기본 레벨인 Info로 되어있었기 때문2.어떻게 하면 강의 화면 처럼 로그가 띄울 수 있나요??application.properties 파일에 logging.level.org.springframework.jdbc=DEBUG 속성 추가(스프링 버전은 강사님이 첨부해주신 프로젝트를 가지고 사용한것이라 강의에서 사용된 프로젝트의 스프링 버전과 동일할 것으로 생각됩니다.)두 가지 질문 답변 부탁드립니다.감사합니다. 강의를 보다보니 답을 찾았습니다..... 세션 앞부분 강의에서 방법을 적어주셨었네요....제가 앞부분 강의를 제대로 집중해서 듣지 못했나봅니다.....
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
JDBC 이해 강의에서 DB연결 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 김영한 선생님 안녕하세요. JDBC 이해에서 데이터베이스를 연결하려고 하는데 계속 에러가 납니다. 에러내용 java.lang.IllegalStateException: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database may be already in use: "C:/Users/SeoCom1/testDB.mv.db". Possible solutions: close all other connection(s); use the server mode [90020-224] at hello.jdbc.connection.DBConnectionUtil.getConnection(DBConnectionUtil.java:17) at hello.jdbc.connection.DBConnectionUtilTest.connection(DBConnectionUtilTest.java:10) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database may be already in use: "C:/Users/SeoCom1/testDB.mv.db". Possible solutions: close all other connection(s); use the server mode [90020-224] at org.h2.message.DbException.getJdbcSQLException(DbException.java:690) at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) at org.h2.message.DbException.get(DbException.java:212) at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:165) at org.h2.mvstore.db.Store.<init>(Store.java:142) at org.h2.engine.Database.<init>(Database.java:326) at org.h2.engine.Engine.openSession(Engine.java:92) at org.h2.engine.Engine.openSession(Engine.java:222) at org.h2.engine.Engine.createSession(Engine.java:201) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:125) at org.h2.Driver.connect(Driver.java:59) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229) at hello.jdbc.connection.DBConnectionUtil.getConnection(DBConnectionUtil.java:11) ... 4 moreCaused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/SeoCom1/testDB.mv.db [2.2.224/7] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) at org.h2.mvstore.MVStore.<init>(MVStore.java:286) at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) at org.h2.mvstore.db.Store.<init>(Store.java:133) ... 14 moreProcess finished with exit code -1 이렇게 코드가 나오는데Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database may be already in use: "C:/Users/SeoCom1/testDB.mv.db". Possible solutions: close all other connection(s); use the server mode [90020-224]<-이 부분이 원인이 되는 이유인 것 같더라고요.... 구글링으로 최대한 해결해보려고 했는데 결국 어떻게 바꿔야할지 감이 잡히지 않습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
교재 오타 있는거 같아요
18 pageeditForm.html - 추가여기에 <input> 여기에 th:field="${regions}" 이 부분이 th:field="*{regions}" 이거 아닌가요? 오류 엄청 나길래 한참 봤는데 이렇게 고치니까 오류 안 나는데 .. 제가 틀린 건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
defaultException @ReqeustParam 속성 - springboot 버전 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]@GetMapping(“/api/default-handler-ex”) public String defaultException(@RequestParam Integer data) { return “ok”;}위 코드로 테스트해보면Name for argument of type [java.lang.Integer] not specified, and parameter name information not found in class file either.에러가 발생합니다. 구글링해보니 스프링 부트 3.2버전 이상부터는 @RequestParam(name = ) 을 필수로 적용해줘야 한다고 해서 적용해줘 테스트 진행했습니다. 또 구글링해보니 name과 같은 속성을 생략한 코드를 적용하고 싶으면 compile 방식을 intellij에서 gradle로 변경하면 된다하여gradle로 변경해 강의코드로 테스트 잘 되는것 확인했습니다. gradle과 intellij를 비교해보니 build 방식과 기동 시간의차이가 있어 보이는데 이 외에는 상관 없는지 궁금해 여쭤봅니다!!
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
Lock에 대해서 궁금한점이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]기본적인 Lock설정시에 해당 레코드의 update 쿼리나 혹은 수정쿼리가 발생할경우에는 commit되기전까지는 접근이 안된다고하셨는데그러면 만약에 update set money=(select money from member where member_id='memberA')-3000 where member_id='memberA'아예 update내부의 select문도 실행되지않는 상태로 존재하는건가요?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
ResultSet의 cursor에 관해서 궁금한게 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]curosr부분에 대해서 궁금한점이 있습니다 해당 부분에서 커서를 이동시키면서 데이터를 가지고온다고 이해하였는데 데이터베이스에서 웹애플리케이션서버로 데이터를 가지고올때 전체 결과 집합을 웹어플리케이션서버에서 가지고온뒤 웹어플리케이션서버에서 커서를 사용해서 데이터를 하나씩 뽑아오는 방식인가요?아니면 커서하나를 내릴때마다 네트워크 요청을 통해서 데이터베이스서버와 통신하여 한줄씩 데이터를 받아오는건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
수강하고 만들어 봤는데, DB에 데이터가 안 담길 때
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1Z_rdsH2x1n9SW7aaFnK1holSxUclj0rk/view?usp=sharing제 파일 압축한 겁니다!localhost:8080 들어가면 회원가입 만들었습니다.테이블은 jpa로 생성이 잘 됐는데, 회원가입시 데이터가 DB로 안 들어갑니다. 테이블은 잘 만들어진 걸 보니 mysql과 스프링은 잘 연동이 된 거 같은데이 때 어떤걸 고려해야하나요 ??
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
close()에 관해 궁금한점이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Connection 객체의 경우에는 해당 커넥션이 만들어지고 close하지않으면 네트워크 리소스 소모때문에 close를 해야하는것으로 이해했습니다.그렇다면 preparedStatement와 ResultSet객체의 경우에는 해당 데이터베이스로 SQL문을 전송및 전달받는 객체인걸로 보이는데 왜 close로 명시적으로 닫아야하는건가요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
mysql 설정에서 키가 먹지 않습니다
use database를 하거나 show databases를 해도 계속 사진과 같은 화살표만 다음줄에 나옵니다.어느 것을 입력해도 저러는데 왜그러는건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
핸들러 매핑정보 조회 전 "스프링 빈" 컨트롤러(핸들러)조회
(스프링부트 3.0 이상인 상태에서)@Controller 에노테이션을 붙이면 (스프링부트 서버 가동시!) 스프링컨테이너에 싱글톤빈으로 미리 등록이 되고 클라이언트로부터 예) @RequestMapping("get-form") 의 요청이 들어온다면1.디스패처 서블릿은 모든 요청을 받을 수 있으므로 요청을 받는다.디스패처서블릿은 @RequestMapping("~~")으로 (스프링 컨테이너에서 스프링빈으로 등록된 컨트롤러중) 에서 url 정보와 일치하는 컨트롤러의 메소드 정보를 조회한다.디스패처 서블릿은 조회한 메소드정보를 호출할수 있는 RequestMappingHandlerAdapter 을 조회한다. 2번에서 핸들러 매핑을 통해 조회한 메소드정보를 RequestMappingHandlerAdapter 을 호출하면서 파라미터로 넘겨주어 핸들러 메소드가 실행하게 한다.궁금한점은,등록이 되어있다면 초반에 매핑정보를 조회할때 스프링에 이미 등록되어있는 핸들러 목록(아래 캡처본)에서1.BeanNameUrlHandkerMapping : "빈 이름으로 컨트롤러 조회" 를 먼저 거친 후 0=RequestMappingHandlerMapping("") 으로 1번으로 필터링이 된 컨트롤러안의 메소드가 실행되는것일까요?초반에 스프링빈으로 등록된 컨트롤러를 먼저 찾아야 하니까 0번도 포함이라고 생각했습니다.!!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@Controller 와 @ requestMapping //스프링 빈 등록 컨트롤러
(스프링부트 3.0 이상인 상태에서)@Controller 에노테이션을 붙이면 (스프링부트 서버 가동시!) 스프링컨테이너에 싱글톤빈으로 미리 등록이 되고 클라이언트로부터 예) @RequestMapping("get-form") 의 요청이 들어온다면1.디스패처 서블릿은 모든 요청을 받을 수 있으므로 요청을 받는다.디스패처서블릿은 @RequestMapping("~~")으로 (스프링 컨테이너에서 스프링빈으로 등록된 컨트롤러중) 에서 url 정보와 일치하는 컨트롤러의 메소드 정보를 조회한다.디스패처 서블릿은 조회한 메소드정보를 호출할수 있는 RequestMappingHandlerAdapter 을 조회한다. 2번에서 핸들러 매핑을 통해 조회한 메소드정보를 RequestMappingHandlerAdapter 을 호출하면서 파라미터로 넘겨주어 핸들러 메소드가 실행하게 한다.여기서 궁금한점은 핸들러 매핑정보를 확인할때 일단 컨트롤러가 스프링 빈(싱글톤 빈)으로 등록되어있어야 한다고 이해한 상태입니다.등록이 되어있다면 초반에 매핑정보를 조회할때 스프링에 이미 등록되어있는 핸들러 목록(아래 캡처본)에서1.BeanNameUrlHandkerMapping : "빈 이름으로 컨트롤러 조회" 를 먼저 거친 후 0=RequestMappingHandlerMapping("") 으로 1번으로 필터링이 된 컨트롤러안의 메소드가 실행되는것일까요?1~5번 각각 답변 주시면 제 궁금중이 시원하게 풀릴것같습니다. 감사합니다. 초반에 스프링빈으로 등록된 컨트롤러를 먼저 찾아야 하니까 0번도 포함이라고 생각했습니다.!!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
BindingResult 메시지 처리에 대해서 질문있습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]errors.properties의 {0}, {1} 등에 숫자가 들어간 형태로 출력되는 것 같은데 숫자 출력 포맷이 기본적으로 #,###인가요?따로 어떠한 작업 없이 숫자만 들어간 것 같은데 아래처럼 #,###로 숫자가 출력이 되길래 궁금해서 질문드립니다.만약 그렇다면 숫자 구분자 없이 기본 형태로 숫자를 출력하고 싶으면 어떻게 해야하나요아래는 addItemV3를 만든 후 출력된 결과입니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
window 명령프롬프트에서 빌드를하고 실행만 하면되는데 안되네요...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]jar파일까지 정상적으로 만들어졌는데 마지막에 실행하는게 안되네요.. 뭐가문제일까요?ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Expected java.lang.IllegalStateException to be thrown, but nothing was thrown. 원인을 모르겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강제로 중복 회원가입을 시켜서 에러를 발생시켜서 익셉션에 담긴 메세지랑 assertThat으로 비교하는 코드인데 잘 동작되던 코드가 JdbcTemplate 강의를 듣던 중에 테스트를 돌리니 에러가 발생하였습니다.@Test public void 중복_회원_예외() { //given Members members1 = new Members(); members1.setName("spring"); Members members2 = new Members(); members2.setName("spring"); //when membersService.join(members1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> membersService.join(members2)); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); //then }public Long join(Members members) { validateDuplicateMember(members); membersRepository.save(members); return members.getId(); }public class MembersService { private final MembersRepository membersRepository; @Autowired public MembersService(MembersRepository membersRepository) { this.membersRepository = membersRepository; } private void validateDuplicateMember(Members members) { membersRepository.findByName(members.getName()).ifPresent(members1 -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost 8080/hello 에러
view 환경설정 강의 보면서 하는데 local:8080은 되는데 /hello만 하면 에러페이지가 뜨네요.뭐를 놓친건지 모르겠어요..ㅠ