inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

부모(Item) 클래스의 생성자 및 메서드의 접근 제어자가 public인 이유

해결됨

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 강의 잘 듣고 있습니다. 해당 강의에서 부모 클래스인 Item의 생성자 및 print(), getPrice()메서드에 대한 접근제어자를 public으로 설정하셨습니다. 제 생각에는 ShopMain 클래스에서 부모 클래스에 접근할 때에는 모두 Item의 자식(book, album, movie)을 통해서만 접근하는 상황이고 이러한 접근 방식이 옳다고 판단되어서 부모 클래스의 생성자 및 메서드의 접근 제어자를 protected로 설정하였습니다(당연하게도 해당 예제에서 실행 결과는 public으로 했을 때와 동일합니다). 이 경우에 언젠가는 자식 클래스를 통해 접근하지 않을 경우가 발생할 수 있기 때문에 public으로 설정을 하신 걸까요? 아니면 protected로 설정하는 것이 조금 더 논리에 맞는 걸까요? package extends1.ex; public class Item { private String name; private int price; protected Item(String name, int price) { this.name = name; this.price = price; } protected void print() { //이름과 가격은 모든 자식에서 동일하게 수행하는 기능이므로 부모에 구현 System.out.println("이름:" + name + ", 가격:" + price); } protected int getPrice() { return price; } }

  • java
  • 객체지향
dev.rudevico 댓글 2 좋아요 0 조회수 321

PATH 에러입니다..

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] 여기에 질문 내용을 남겨주세요. openjdk 22버전을 다운받아서 programfiles에 있는데 다운 받은거를 어떻게 연동 시켜야하나요..?!

  • java
  • spring
  • mvc
  • spring-boot
qpdlqg 댓글 1 좋아요 0 조회수 299

SpringConfig required a single bean, but 2 were found:

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] 여기에 질문 내용을 남겨주세요. Parameter 0 of constructor in hello.hellospring.SpringConfig required a single bean, but 2 were found: - memoryMemberRepository: defined in file [C:\Users\Han\IdeaProjects\hello-spring\out\production\classes\hello\hellospring\repository\MemoryMemberRepository.class] - springDataJpaMemberRepository: defined in hello.hellospring.repository.SpringDataJpaMemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration springconfig에 빈이 2개있어서 그런거 같은데 어느 파일을 수정해야할까요 @Configuration public class SpringConfig { private MemberRepository memberRepository; private EntityManager em; @Autowired public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; } // @Autowired // public SpringConfig(DataSource dataSource) { // this.dataSource = dataSource; // } @Bean public MemberService memberService() { return new MemberService(memberRepository); } // @Bean // public MemberRepository memberRepository() { // return new MemoryMemberRepository(); // return new JdbcMemberRepository(dataSource); // return new JpaMemberRepository(em); // } } 생성자 주입을 못받고 있다고 합니다. @Autowired public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; }

  • java
  • spring
  • mvc
  • spring-boot
리치 댓글 3 좋아요 1 조회수 985

jdbc 연결 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. https://drive.google.com/file/d/13B3t74Z3Xy8CyY0XTSTYjosfFZOhgOMB/view?usp=sharing 위는 프로젝트 파일입니다. db연결 까지 완료 했고 테이블까지 생성 했습니다. 하지만, 홈 화면에서 회원 목록을 조회 하려고 하면, 인텔리제이 콘솔창에 이와 같은 오류가 발생합니다. select * from member [42104-224]] with root cause org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" not found (this database is empty); SQL statement: select * from member [42104-224] db까지 연결을 잘 했다고 생각하는데, 대체 어디가 잘 못 되어 member테이블을 찾지 못하는지 모르겠습니다.

  • java
  • spring
  • mvc
  • spring-boot
김동훈 댓글 2 좋아요 0 조회수 517

엔티티 노출을 피하라.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

현재 스프링 로드맵부터 시작하여 JPA 로드맵까지 완강하고, 한 프로젝트에 쭈욱 적용해보며 다시 복습하고 있는 취준생입니다!! 학습한 내용 중에 (JPA 로드맵 중) 엔티티 노출은 최대한 피하여 DTO로 변환해 화면에 보여주거나, API 스펙에 맞추어 내려준다 라고 배웠었는데요. MVC2 프로젝트안에 저장할 때의 ItemSaveForm(dto), 수정할 때의 ItemUpdateForm으로 나누어 각각 저장, 수정할 때 dto로 사용하고 있습니다. 이때, 상품 상세, 상품 수정 등 GetMapping으로 저장된 객체를 불러올 때에 새로운 Dto클래스를 만들어 새로운 Dto 클래스에 바인딩하는 코드로 짜주는 것이 맞나요??

  • spring
  • mvc
윤토벤 댓글 2 좋아요 0 조회수 275

프록시 내부 호출 문제에 관한 질문 사항

해결됨

스프링 DB 2편 - 데이터 접근 활용 기술

보통 실무에서는 controller ->service(interface) -> repository -> dao ^ | serviceImpl (service Interface 구현체) 이렇게 많이 사용합니다. 제가 개발자로 실무를 하지 않아서 정확하지는 않지만 @Configuratiain 을 이용한 클래스에서 구성을 잡고 포인트컷으로 지정된 패키지와 그 하위 *Impl 메서드에 모든 @Transaction 어노테이션이 적용되도록 설정을 했던 것 같습니다. 그리고 serviceImpl에서 @Transactional 어노테이션을 사용하지 말라고 가이드가 내려 옵니다. 코딩은 public class serviceImpl { public int createMember(MemberVO member) { deleteMember(member); insertMember(member); updateMember(member); } public int deleteMember(MemberVO member) { //비지니스 로직 수행 String id = member.getId(); //null 체크 되어 있다고 가정 repository.delete(id); } public int insertMember(MemberVO member) { //비지니스 로직 수행 repository.insert(member); } public int updateMember(MemberVO member) { //비지니스 로직 수행 repository.update(member); } } 그런데 한번도 아키텍처나 업무 공통 단에서 내부 호출에 대한 가이드가 없었습니다. 그리고 실제로 내부 호출을 해도 Transaction 처리에 문제가 있지는 않았습니다. 그렇다고 AspectJ 의 컴파일러를 이용하는 것 같지도 않고 ObjectProvider를 사용하는 것 같지도 않는데 말입니다. 고급편에서도 궁금했지만 DB2편을 다 수강하고 나서 질문을 드립니다 아키텍처 쪽에서 내부 호출에 대한 문제를 모르진 않았을것 같은데 통상적으로 어떻게 @Transactional 처리를 하기에 개발자들은 내부 호출 문제에 신경 쓰지 않을까요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
gaabi1204 댓글 2 좋아요 1 조회수 268

build.gradle에러

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 내용] ext["hibernate.version"] = "5.6.5.Fina l" 를 못 읽는것같습니다 뭐가 문제일까요 ??

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
해톨 댓글 4 좋아요 0 조회수 601

환경설정 내용은 없는건가요?

해결됨

핵 of 핵 파이썬 기초 문법

1강 파이썬 프로그래밍 환경 설치 및 설정하기로 되어 있고 이어서 해보겠다라고 하는데, 환경 설치 및 설정 내용이 없습니다. 의도하신 내용이신지요?

  • python
김정수 댓글 1 좋아요 0 조회수 269

findCookie()메서드 질문입니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] findCookie() 메서드에서 String cookieName으로 SESSION_COOKIE_NAME = "mySessionId"; 위의 상수를 받고있고, 그럼 모든 사용자의 cookieName이 다 "mySessionId"인건데 사용자가 달라질때 같은 cookieName인 "mySessionId"로 UUID를 찾는 것이 이해가 가지않습니다. return Arrays.stream(cookies).filter (cookie -> cookie.getName().equals(cookieName)).findAny().orElse(null); 위와 같이 return하면 무조건 sessionStore에 첫번째로 저장 된 "mySessionId"의 uuid가 나가지않나요..??

  • spring
  • mvc
냠냠 댓글 1 좋아요 0 조회수 251

ngrinder쪽에 스크립트 클릭시 오류

미해결

백엔드 개발자 성능 개선 초석 다지기

실습도중 Script 클릭시 해당 오류가 납니다. 컴퓨터 스펙은 m1 입니다.. 2024-03-25 14:53:51,833 ERROR FileEntryRepository.java:192 : Error while fetching files from SVN for admin 다른 버전으로 설치해도 동일한 이슈가 나서 혹시 해결하셨던 내용이 있을지 문의드립니다.

  • java
  • mysql
  • spring-boot
  • cache
  • index
오개발 댓글 3 좋아요 0 조회수 825

querydsl

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 내용] 안녕하세요 자바 17에 스프링 3이상으로 실습해보고있습니다. 처음엔 의존관계 설정을 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" 이렇게 해줬는데 clean만 빌드가 되며 compileJava가 빌드가 안되고 그래들에서 의존관계에 빨간불이 뜨며 persistence를 찾을 수 없다는 에러 메세지가 나왔습니다 찾아보던 도중 persistence버전을 3.0.1로 높이면 해결이 된다라는 글을 보고 버전을 올려줬습니다. 그 후 빌드를 해줬더니 jakarta로 import해주었던게 다 javax로 바뀌어있더라고요 그래서 일일히 들어가 다시 jakarta로 바꿔주니까 clean과 compileJava 둘 다 정상적으로 빌드되었습니다. 하지만 그래들은 저렇게 아직 빨간불이 뜹니다 이대로 진행해도 되는걸까요 ? 왜 persistance 버전을 높이면 javax로 돌아가는건가요 ?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
댓글 1 좋아요 0 조회수 396

spring Legacy Project에서 MVC 프로젝트가 없습니다. 어떻게 해야하나요?

미해결

스프링 프레임워크는 내 손에 [스프2탄]

안녕하세요. 24.03.24일 날 스프2탄을 구매하였습니다. 시작부터 문제가 발생되어서 글 남깁니다. 강사님의 영상을 따라 eGovFrame-4.0.0을 다운로드 하였고 1. 프로젝트를 생성하기위해 Spring Legacy Project 클릭 ---문제 발생 ---- 2.Simple Projects만 보이고 MVC프로젝트가 보이질 않습니다. 구글링을 해보고 시도 하였지만 해결되지 못했습니다. 초보의 입장에서 난감해하고 있습니다. 해결방법과 그따른 영상을 업데이트를 해주실수 있을까요?

  • spring
  • jquery
  • mvc
  • jpa
  • spring-security
s31950 댓글 1 좋아요 0 조회수 1569

나프2탄 51강 서비스계층 구현하기

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]

선생님이 보여주신 화면에서 서비스 인터페이스를 작성하고 자바 클래스를 작성할 때 impl을 하면 add unimplemented method 부분이 나오는데 제가 작성한 화면에서는 나오지 않습니다 이유가 무엇일까요?

  • spring
  • mvc
  • ajax
  • pojo
boom boom 댓글 1 좋아요 0 조회수 310

DB연결 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의대로 h2데이터베이스 잘 들어가지는데 빌드하고 실행하면 조회와 멤버 등록에서 오류가 납니다 2024-03-25T10:58:04.317+09:00 ERROR 10840 --- [demo] [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet]  : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection] with root cause org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-224] 오류는 이렇게 납니다. 어떻게 해야 하나요? 강의대로 application.properties 도 잘 했고, h2디비 실행도 잘 됩니다. 디비 켜놓고 해도 오류나네요 ㅜㅡ

  • java
  • spring
  • mvc
  • spring-boot
이은지 댓글 3 좋아요 0 조회수 699

java 17을 깔고 세팅도 다 맞췄는데 이런메세지가 떠요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 밑에 무슨 경고문이 뜨고 실행버튼이 여기서는 보이지 않아요 이걸 어떻게 하면 되나요 ㅠㅠ ++)build.gradle 을 open as project 로도 해보았습니다.

  • java
  • spring
  • mvc
  • spring-boot
ally0204 댓글 2 좋아요 0 조회수 1112

스프링통합과-폼 설정

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

선생님꼐서 선생님꺼 파일 다운받고 form-start 폴더를 form으로 바꾸고 임포트하시라고하셨는데 이거 자바 버전바꿔야하나요?자꾸 오류가나서.. 아니면 굳이 바꾸지않고 제가 MVC1편에서 만들었던 프로젝트로 진행하는건 안될까요?

  • spring
  • mvc
임다정 댓글 1 좋아요 0 조회수 233

테스트실행중 테스트는 잘 되는데 오류가 한 줄 계속 발생합니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 이 오류는 무엇인가요?

  • java
  • spring
  • mvc
  • spring-boot
kimsejin0206 댓글 1 좋아요 0 조회수 410

model.addAttribute

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이미지와 같이 model.addAttribute("data","hello!!"); 입력했을 때, 아래와 같은 오류가 발생합니다. Cannot resolve method 'addAttribute' in 'Model'

  • java
  • spring
  • mvc
  • spring-boot
gump 댓글 2 좋아요 0 조회수 704

테스트가 올바르게 되지 않는 것 같아요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemoryMemberRepository; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; class MemberServiceTest { MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach public void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); } @AfterEach public void afterEach() { memberRepository.clearStore(); } @Test public void 회원가입() throws Exception { //Given Member member = new Member(); member.setName("hello"); //When Long saveId = memberService.join(member); //Then Member findMember = memberRepository.findById(saveId).get(); assertEquals(member.getName(), findMember.getName()); } @Test public void 중복_회원_예외() throws Exception { //Given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //When memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2));//예외가 발생해야 한다. assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } } 강의를 따라하다가 좀 잘 안되서 pdf내용을 그대로 긁어왔는데 import org.junit.jupiter.api.AfterEach;가 빠져있더라구요. 그것만 수정하면 될 줄 알았는데, get()과 assertThrows에서 문제가 발생하고있는것 같습니다 왜그럴까요?

  • java
  • spring
  • mvc
  • spring-boot
kimsejin0206 댓글 2 좋아요 0 조회수 533

인기 태그

인프런 TOP Writers

주간 인기글