묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
백엔드 뉴비입니다. 뷰도 만들고 싶은데 SSR말고 CSR 하는게 좋을까요?
백엔드 뉴비입니다. 뷰도 만들고 싶은데 SSR말고 CSR 하는게 좋을까요?혼자 프로젝트 연습중인데요! 타임리프보다는 Vue.js같은 걸 하는게나중에 협업할때 좋을 것 같아서요.이왕 공부하는거 타임리프보다Vue.js 공부할까요?정말 고민이에요..
-
미해결토비의 스프링 부트 - 이해와 원리
kotlin에서 registerBean 컴파일 에러 해결법
kotlin으로 toby님의 강의를 따라다가다 안되는 부분이 발생하여 다른분들도 해결하시면 좋을 것 같아 공유차원에서 글 남깁니다! org.springframwork.context.support.registerBean을 impot하여 해결할 수 있습니다.관련 docs:https://docs.spring.io/spring-framework/docs/5.0.0.RELEASE/spring-framework-reference/kotlin.html import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory import org.springframework.boot.web.server.WebServer import org.springframework.boot.web.servlet.ServletContextInitializer import org.springframework.context.support.GenericApplicationContext import org.springframework.context.support.registerBean import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod import org.springframework.http.HttpStatus import org.springframework.http.MediaType import javax.servlet.http.HttpServlet import javax.servlet.http.HttpServletRequest import javax.servlet.http.HttpServletResponse class HellobootApplication fun main(args: Array<String>) { val myApplicationContext = ApplicationContext() myApplicationContext.registerSpringBean() val serverFactory: TomcatServletWebServerFactory = TomcatServletWebServerFactory() val webServer: WebServer = serverFactory.getWebServer( ServletContextInitializer { it.addServlet("frontController", FrontController::class.java) .addMapping("/*") } ) webServer.start() } class ApplicationContext{ fun getContext() = springApplicationContext fun registerSpringBean(){ springApplicationContext.apply{ registerBean<HelloController>() refresh() } } companion object{ val springApplicationContext: GenericApplicationContext = GenericApplicationContext() } } class FrontController: HttpServlet() { override fun service(request: HttpServletRequest?, response: HttpServletResponse?) { requireNotNull(request) requireNotNull(response) val springApplicationContext = ApplicationContext().getContext() val helloController = springApplicationContext.getBean(HelloController::class.java) //인증, 보안, 다국어, 공통 기능 처리 duplicateCode() if(request.requestURI == "/hello" && request.method == HttpMethod.GET.name ){ val name = request.getParameter("name") response.status = HttpStatus.OK.value() response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN_VALUE) response.writer.println(helloController.hello(name)) }else { response.status = HttpStatus.NOT_FOUND.value() } } } private fun duplicateCode(){}
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Category에서 부모와 자식에 대해 모르겠습니다.
지금 카테고리에서 왜parent, children을 사용하는지 모르겠습니다.그냥 이게 왜 있고 뭐에 쓰는 건지를 모르겠어요어디서 학습할 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA 강의를 듣고 프로젝트를 만들 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니요2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 이번에 백엔드 단기간 취업 목적으로 JPA 활용 1, 2 를 들어서 포트폴리오에 첨가할 프로젝트를만들 계획이 있습니다.부수적인 CS, 언어, 데이터베이스 등등의 지식이뒷받침된다는 전제하에 만들 수 있나요?MVC 강의가 있던데 이것을 듣지 않는다면 불가능하거나 혹은 지장이 많나요?
-
미해결스프링 시큐리티
스프링부트 3버전 사용시 참고하세요
인텔리제이 사용하시면 http.authorizeRequests() <--- 아마 deprecated 됐다고 줄 그어져 있으실텐데 코틀린 버전으로 실습중이긴한데 이런식으로 사용하시면 됩니다.@Bean fun securityFilterChain(http: HttpSecurity): SecurityFilterChain { http.authorizeHttpRequests() .requestMatchers("/").permitAll() .requestMatchers("/mypage").hasRole("USER") .requestMatchers("/messages").hasRole("MANAGER") .requestMatchers("/config").hasRole("ADMIN") .anyRequest().authenticated() .and() .formLogin() return http.build() }
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
스프링 컨테이너 한 클래스 내에서 두개의 @Repository 사용하기
BookController 내에서 서로 다른 Repository를 사용하려고 한다면 어떻게 사용해야 하나요?1번인 saveBook에서는 BookMemoryRepository의 saveBook()을 사용하고 2번인 saveBook1 에서는 BookMySqlRepository의 saveBook()을 사용하고 싶다고 하면 사용할 수 있는지? 사용할 수 있다면 어떻게 사용해야 하나요??
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
api/v1/simple-orders로 api호출을 하면 자꾸 InvalidDefinitionException이 발생합니다.
안녕하세요 강의 잘 보고 있습니다.다름이 아니라 강의를 보면서 따라서 하고 있는 도중에 api/v1/simple-orders로 접근을 하면 invalidDefinitionException이 발생합니다.혹시 오타가 있나해서 몇번이고 다시 확인하고 orderRepository클래스도 붙여넣고 initDB클래스도 붙여넣었는데도 안되네요...찾아보니까 jackson 라이브러리가 객체를 JSON타입으로 바꾸면서 생기는 오류라고 하는데 도움을 받을 수 있을까요?아래는 압축한 파일일 있는 링크입니다.https://drive.google.com/file/d/1FGTNqcXxTkw2l-UeVN50kW6v12b4oGQj/view?usp=sharing
-
해결됨토비의 스프링 부트 - 이해와 원리
스프링의 미래 질문
좋은강의 너무 감사드립니다.혹시 스프링 관련해서 여쭤보고 싶은게 있습니다.점점 더 Cloud 환경으로 가면서 SpringBoot 이외에 더 빨리 개발, 배포 할 수 있는Spring Quakers 라던가 micronaut 같은 프레임 워크들이 등장했는데업력, Spring 경력이 높으신 선배님으로서 위와 같은 프레임워크들이 추후에 더 성장해서Boot 만큼 많이 쓰이게 될 수 있을거라고 생각하시나요? 아니면 조금 반짝 하다가 Spring 진영이 더욱 발전해서 더 빠른 개발, 성능을 커버 할거라고 보시나요? 궁금합니다.앗 그리고 + GraalVm 의 미래도 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whitelabel Error 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]바로 이전 강의의 메모리 기반 실행까진 막힘없이 잘 수행됐고cmd로 h2 실행(윈도우 입니다.)해서 회원가입, 조회 하는것도 문제없이 잘 되었었는데이번 강의의 메모리가 아닌 데이터베이스에 저장하는? 부분 들어가고나서오류가 발생했습니다. 강의교재의 소스코드 그대로 복붙하여 실행하였고홈화면과 가입화면까진 잘 가지는데폼에 입력하고 등록할때랑 조회 누르면 안뜨던 오류가 발생하는데 뭐가 문제일까요? 항상 감사하게 잘 보고 있습니다. 추운 날씨에 건강 유의하시고 늦었지만 새해 복 많이 받으세요 !
-
해결됨토비의 스프링 부트 - 이해와 원리
로그 파라미터에 관한 질문입니다
파라미터가 masked 로 가려져 보이는데 정확하게 파라미터가 넘어오는지 확인을 해보고 싶습니다.그래서 스프링부트 공식문서에 설정관련 페이지를 보고 있는데 잘 찾아지지가 않아 질문드립니다. 검색할 키워드를 알 수 있을까요?spring.mvc.log-request-details=true찾아보던 중 위 설정을 적어주면 파라미터가 제대로 보인다고 하는데 이것도 적용이 되질 않습니다ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
unreachable statement 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]동일하게 작성했는데 다음과 같은 오류가 발생합니다. 구글링 해봤을 때 unreachable 오류가 null 값이 나올 것 같을 때 발생한다고 하는데 강의 내용 그대로 따라 친거라 왜 오류가 발생하는지 모르겠습니다. 답변기다리겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
서비스와 리포지토리의 차이
MemberService의 메소드를 보면 findMembers와 findOne같은 경우 Repository의 메소드를 (이름만 바꿔주는 식으로?) 한번 더 호출해주는 역할만 하고 join만 중복 회원 검증이라는 추가 적인 일을 하고 있는데요 이렇다면 굳이 Service단을 만들어서 코드를 입력해야하는 이유가 무엇인가요? findMembers가 필요하다면 그냥 findAll을 사용하면 되고, findOne이 필요하다면 findById를 사용하면 되지 않나요? 차라리 save 메소드에 중복회원을 검증하는 로직을 추가하는게 더 효율적이지 않나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드 질문
public interface MemberRepository { void save(Member member); Member findById(Long memberId); }@Override public Member findById(Long memberId) { return store.get(memberId); }정말 단순한 질문인데, 여기서 memberId는 임의로 정한 매개변수인건가요? 다른 이름으로 바꿔도 상관없는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static 선언 이유
static을 붙여서 생성하면 클래스 변수기 때문에 인스턴스를 생성하지 않고 바로 사용할 수 있을 때 붙인다고 알고 있는데 sequence와 store에 static을 붙인 이유가 무엇일까요?
-
해결됨토비의 스프링 부트 - 이해와 원리
강의자료 압축이 안풀립니다,,
윈도우환경이구요, 이름변경해서 압축을 풀려고해도 안되네요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의교재 부탁드립니다.
flamevert@naver.com강의 교재 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실습 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.java.lang.NullPointerException: Cannot invoke "hello.hellospring.service.MemberService.join(hello.hellospring.domain.Member)" because "this.memberService" is null 테스트케이스에서 실행했는데 오류가 뜹니다 this.memberService 가 null이라 오류인건 알았는데왜 그런건가요? 강의코드 복붙해도 그러네요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
create 함수에서 name을 받아오지 못하고 NullPointerException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 항상 좋은 강의 감사합니다.create를 통해 HTML에 입력된 name을 받아오는 부분에서 값을 받아오지 못하는 java.lang.NullPointerException: null 에러가 자꾸 발생합니다.이와 관련된 여러 질문들을 봤는데, 제 경우와 다 다른것 같은데, 제 코드에서 어떤 부분이 잘못되었는지 봐주실 수 있으실까요?https://drive.google.com/file/d/1MJPIw0KvS0eKuGBvYj7QYKnqc931mFiz/view?usp=sharing감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요?
JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요?강의를 더 보니까 19강에서 설명해주고 계신 build.gradle 때문인거 같은데요.저는 해당 파일이 비활성화 되어 있는 것 같아요.위 캡쳐처럼 코드가 알록달록(주황, 보라, 노랑..) 하지 않고, 모두 회색으로 보이는데 그래서 일까요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
one to many 지연로딩
@Entity @Table(name = "orders") @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Order { @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>();일대다 관계에서는 기본 설정이 지연 로딩이 맞나요 ??orderItems.stream().forEach(o -> o.getItem().getName()); //Lazy 강제초기화@OneToMany 어노테이션에서 fetch = Fetch.Lazy가 없어서 기본설정으로 들어가는지 궁금합니다 !