묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
스프링부트
스프2는 스프링부트기반으로 작성하나요? 지금학원에서 스프링부트안적옹해서 시큐리티랑페이징 처리하는걸로프로젝트 하고있거든요
-
미해결스프링 부트 - 핵심 원리와 활용
일반로그라는 의미가 정확히 무엇인가요?
[질문 내용]강의 내용 13분쯤 "일반로그와 에러로그는 구분해서 파일로 남기자"라는 내용이 있는데요.에러로그를 구분해서 파일을 남기는건 알겠는데,일반로그라고 함은 어떤범주인가요? 서버에서 출력되는 모든 로그들을 말하는건가요? System.out.println포함하여 서버를 가동했을때 나오는 모든 출력문인지, 아니면 log.info처럼 개발자가 의도하여 찍은 로그중 에러/경고가 아닌 로그를 의미하는건지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp 추가
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.13' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' //JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' //JSP 추가 끝 providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } build.gradle에 jsp를 추가하였는데, 새로운 jsp파일을 생성할때 <%@ page contentType="text/html;charset=UTF-8" language="java" %>나 html같은 템플릿이 전혀 뜨지 않습니다. 해당 코드를 복붙 후 run하여 페이지를 띄우면 잘 실행 되기는 합니다.File and Code Templates에서 템플릿을 추가해보고자 했지만 jsp 선택 버튼도 보이지 않아 jsp 추가가 정상적으로 되지 않은건가 싶습니다...
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
트랜젝션 범위와 준영속 상태
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? ([예]/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ([예]/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? ([예]/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요! 강의에서 [회원 수정 API] 파트에서 질문이 있어 이렇게 문의드리게 되었습니다.트랜잭션 범위와 준영속 상태에 관한 질문입니다.우선 Service 계층에서 update에서 member 객체를 준영속 상태로 반환하도록 하였습니다.그 후 Controller 계층에서 PutMapping 방식으로 member의 이름을 "-newhello"로 변경하여 db에 반영하였고그 다음에 member객체의 이름을 "준영속 상태"로 변경 하였습니다. 이미 트랜잭션이 끝나면서 영속성 컨택스트가 종료되었다고 생각했고여기까지는 db의 값이 여전히 "-newhello"라는 것을 확인해서 문제가 없었는데 그 다음이 이해가 가지 않습니다.memberServie에서 findMember를 다시 조회하였는데이 객체가 member와 완전히 동일한 객체로 나옵니다.전 db에서 값을 가져와서 이름이 "-newhello"일 것으로 예상했는데 이렇게 된 이유를 모르겠습니다...마치 db와의 연동은 안되지만 영속성 컨택스트의 1차캐시에 남아있는 member 객체를 같은 id 식별자를 바탕으로 찾아온 것 같아서 혼란스럽습니다. ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
[빌드하고 실행하기] java -jar hello-spring-0.0.1-SNAPSHOT.jar 후 웹 창이 뜨지 않음.
안녕하세요 저는 [빌드하고 실행하기] 강의를 따라서 빌드를 마치고, java -jar 명령어를 통해 웹사이트를 띄우려고 했습니다.java -jar hello-spring-0.0.1-SNAPSHOT.jar 명령어를 실행하였고, 실행이 된것을 확인할 수 있었습니다.하지만 강의처럼 웹사이트 화면은 뜨지 않았습니다. 제가 오류가 난건가요? 아니면 일단 실행은 된 것 같으니 정상실행된건가요?
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
SecurityConfig 파일 작성중,, WebSecurityConfigurerAdapter 가 deprecated 됬다고 해서 extends가 안됩니다.
안녕하세요. 강의를 열심히 들으려고 하는 한 직장인입니다. 해당 수업 (회원가입 컨트롤러) 를 듣는도중, SecurityConfig 파일 만드는 부분에서 WebSecurityConfigurerAdapter 가 deprecated 되었다고 extends가 안되고 있습니다. 저는 현재 스프링 시큐리티 버전을.. 6 버전대 사용중이에요. 정확히는 6.1.2 버전 사용하는것 같네요.. (이렇게 버전확인해도되는건지 몰르겠습니다..ㅠㅠ) 로그분석과,, 구글링을 좀 해본 결과, RequestMatchers(MvcRequestMatcher) orRequestMatchers(AntPathRequestMatcher) 의 패턴으로 사용을 해야한다고 해서,, 결국 소스를 수정하여. permitAll()은 해결하였습니다.그런데 강의에서 프로필 요청 url은 httpMethod중 get만 허용해야 하는 조건에서, mvcMatchers(HttpMethod.GET, "/profile/*").permitAll() 부분을 도무지 어떻게 대치해야할지를 모르겠습니다. 제가 현재 까지 작성한 소스 공유 드립니다. package com.studyolle.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher; import org.springframework.web.servlet.handler.HandlerMappingIntrospector; @Configuration @EnableWebSecurity // 시큐리티 활성화 -> 기본 스프링 필터체인에 등록 public class SecurityConfig { @Bean SecurityFilterChain filterChain(HttpSecurity http, HandlerMappingIntrospector introspector) throws Exception { MvcRequestMatcher.Builder mvcMatcherBuilder = new MvcRequestMatcher.Builder(introspector); http.authorizeHttpRequests((requests) -> requests .requestMatchers( mvcMatcherBuilder.pattern("/"), mvcMatcherBuilder.pattern("/login"), mvcMatcherBuilder.pattern("/sign-up") ,mvcMatcherBuilder.pattern("/check-email"), mvcMatcherBuilder.pattern("/check-email-token"), mvcMatcherBuilder.pattern("/email-login") ,mvcMatcherBuilder.pattern("/check-email-login"), mvcMatcherBuilder.pattern("/login-link"), mvcMatcherBuilder.pattern("/profile/*") ).permitAll() .anyRequest().authenticated() ); return http.build(); } } 해결방안을 자세하게 알려주시면 감사하겠습니다. 시간이 지남에 따라 스프링 정책은 계속 deprecated 되는 것 같은데,,, 너무 나도 배울게 많다고 생각이 됩니다. 잠깐이라도 놓치면 개발의 세계와 너무 멀어지는 느낌이 드네요. 제가 많이 부족하여 따끔한 쓴소리도 같이 부탁드릴께요. 진심 열심히 하려고 노력중입니다.감사합니다. 빠른 답변 부탁드리겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인인증필터 로직 질문입니다.
try{ log.info("인증 체크 필터 시작{}",requestURI); if(isLoginCheckPath(requestURI)){ log.info("인증 체크 로직 실행 {}",requestURI); HttpSession session = httpServletRequest.getSession(false); if(session==null || session.getAttribute(SessionConst.LOGIN_MEMBER) ==null){ log.info("미인증 사용자 요청 {}", requestURI); //로그인으로 redirect httpServletResponse.sendRedirect("/login?redirectURL=" + requestURI); return; } } log.info("aaa"); chain.doFilter(request,response); } catch (Exception e){ throw e; } finally { log.info("인증 체크 필터 종료 {}" , requestURI); }강의자료에는 다음과 같이 되있습니다.return; 여기가 중요하다. 필터를 더는 진행하지 않는다. 이후 필터는 물론 서블릿, 컨트롤러가 더는호출되지 않는다. 앞서 redirect 를 사용했기 때문에 redirect 가 응답으로 적용되고 요청이 끝난다. 이렇게 강의자료에 되있는데 제가 위 코드처럼 임의로 log.info("aaa")를 추가하고 돌린결과 미인증사용자 요청if문에 걸려서 return이 걸리면 return 때문에 다음필터호출x,서블릿,컨트롤러호출x 때문에 로그 aaa가 안나와야 되는거 아닌가요? 왜 return을 썼는데 log.info("asdasdsdasdads"); chain.doFilter(request,response); 이 두줄이 실행되는지 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
테스트 실행에 오류가 걸려요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]main 아래의 코드들은 다 실행이 잘 되는데 test 아래의 코드가 실행이 안됩니다.무엇이 오류인지 모르겠습니다. 빨간 줄로 표시도 안되고 인터넷에 쳐도 못 찾겠어서 글 남깁니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP API 관련하여 질문이 있습니다!
섹션7 웹 페이지 만들기에는 HTTP API로 데이터를 주고받는 내용은 없고 파라미터 혹은 HTML Form으로 데이터를 받는 방식만 가르쳐주시는데 실제 실무에서는 HTTP API로 JSON 데이터를 주고받는 것을 주로 사용하는 것으로 알고있습니다. 맞나요? 맞다면 실제 실무에서 백엔드 개발자는 View 부분을 신경쓰지 않고 강의에 나온대로 @RestController 혹은 @ResponseBody를 사용하여 JSON 데이터를 받고 보내주는 것에만 신경쓰면 될까요? 그리고 아직 다음 로드맵을 수강하지는 않아서 모르지만 다음 강의에는 HTTP API를 활용하는지 궁금합니다.
-
미해결토비의 스프링 부트 - 이해와 원리
안녕하세요 강의 질문 드립니다
안녕하세요,프로버티 빈의 후처리기 도입 강의 내용 질문드립니다. 질문 :ServerPropeites에 @Component 자체가 없어도 되지 않나요??애초에 @Component 있어도 ComponentScan 대상이 아니라고 판단했습니다.. 패키지가 분리되어있다고 판단했습니다..아래 부분만 있어도 되는것 아닐까요? @Import(ServerProperties.class) public class TomcatWebServerConfig {
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
등록 시 질문
등록 id가 1번과 2번이 있었다가 2번을 삭제하고 다시 등록을 하면 id가 3번으로 등록이 됩니다. 제가 잘못한 걸까요..?? 아니면 혹시 원래 이렇게 돌아가도록 설정하신건가요??
-
미해결스프링 핵심 원리 - 기본편
userA와 userB에 대해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 내용 중 userA의 주문 금액은 10000원, userB의 주문 금액은 20000원인데 코드 실행 결과 20000원이 나오는 경우는 스프링 컨테이너에서 자동으로 싱글톤 패턴이 적용되어 객체 인스턴스가 하만 생성되기 때문인가요? 그래서 객체 인스턴스가 공유되서 그런가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
homeController 질문
최초 로그인 성공 후 homeController에서 파라미터로 넘어온 memberId로 다시 memberRepository에서 회원을 조회하는 이유가 model에 회원객체를 담기위해서 그런건가요?? 이때는 서비스단을 안거치고 리파지토리에바로 접근하는 이유가 뭔가요??
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
출력 로그 중 Pool stats가 출력되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님과 출력 로그를 동일하게 만들기 위해서 강의 자료에서 제시한 대로 설정을 마쳤습니다.근데 강사님의 출력 로그엔 Pool stats가 있는데 저는 그 부분이 출력되지 않습니다어떻게 출력할 수 있나요?항상 친절한 답변 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
widonw cmd build 성공 후 libs폴더 미 생성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.환경widows10gradlew.bat을 실행하고 build successful이 떳는데 build폴더 내에 libs 폴더가 존재하지 않습니다.강의의 경우에는 libs내에 있는 .jar파일을 이용한 빌드 방법을 알려주시는 것으로 생각되는데 window환경이라서 이름이 다른걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
맥북 빌드 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 부트는 2.7.14이고 java 버전은 11입니다.맥 터미널 창에cd Spring intializr로 만든 프로젝트는 경로cd first-spring./gradlew build위 순서대로 터미널 창에 입력했더니 ./gradlew: Operation not permitted 오류가 뜨면서 빌드가 안됩니다. 어떻게 하면 될까요?추가로 강의에서 ll을 터미널 창에 입력하면 해당 폴더에 있는 파일들을 보여주는 것 같던데 저는 해봤는데 파일 목록이 안뜨네요ㅜㅜ
-
미해결실전! 스프링 데이터 JPA
NullPointerException발생 이유를 모르겠습니다
테스트 코드를 작성하였는데, NullPointerException이 발생합니다 ..
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
redirect items
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]http://localhost:8080/items 에 들어가서 로그인을 하게되면 기본 로그인 홈화면이 나옵니다. 파라미터는 잘 넘어가는 걸로 보이는데 확인해보면 "/" 값이 들어옵니다. 어디에 문제가 있을까요?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
[오타문의] 스프링 JdbcTemplate 예시
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예외를 확인하기가 편리하다. 인 것 같습니다! 감사합니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
38강 막히는 부분이 있어서 문의드립니다.
안녕하세요 강의 열심히 듣고 있는 학생입니다.프로필도 제대로 설정이 되어있는 상태같은데 도서관관리 페이지에서도 기존 db에 있던 정보 그대로 끌고 오고 혹시나 해서 이름 삭제 후 서버를 재시작했는데도 삭제된 채로 그대로 반영이 되어있어서 메모리에 저장되는거같지 않은 것 같네요 ㅠ그리고 결정적으로 h2-console로 접속하고 url 입력 후 커넥트를 누르니 저런 오류가 뜨는거 보니 뭔가 적용이 제대로 안된거 같은데 어디서 무엇이 어떻게 문제가 있는지 판단하기가 어려워서 질문드립니다 ㅠ