묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 데이터 JPA
@Param의 존재 이유>?
@EntityGraph(attributePaths = "team") List<Member> findEntityGraphByUsername(@Param("username")String username);이번 강의를 복습하다 보니까 강사님께서 @Param을 사용하셨더라구요.(강의 20:59)findByAge(), findOptionalByUsername()과 같은 메소드는 @Param 애노테이션 없이도 잘 동작 했는데 따로 특별한 이유가 있는 것일까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
완성된 코드 자료를 그대로 실행했는데 오류가 발생합니다..
완성된 코드 그대로 서버를 실행했는데 이렇게 오류가 발생합니다.. 이유를 찾지 못해 질문드립니다
-
해결됨토비의 스프링 부트 - 이해와 원리
안녕하세요 강사님 JettyWebServerFactory Bean생성 하는데서 오류가납니다
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jettyWebServerFactory' defined in class path resource [tobyspring/config/autoconfig/JettyWebServerConfig.class]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@2437c6dc] 이런에러가나구요 package tobyspring.config.autoconfig;import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory;import org.springframework.boot.web.servlet.server.ServletWebServerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Condition;import org.springframework.context.annotation.ConditionContext;import org.springframework.context.annotation.Conditional;import org.springframework.core.type.AnnotatedTypeMetadata;import tobyspring.config.MyAutoConfiguration;@MyAutoConfiguration@Conditional(JettyWebServerConfig.JettyCondition.class)public class JettyWebServerConfig {@Bean("jettyWebServerFactory")public ServletWebServerFactory servletWebServerFactory(){return new JettyServletWebServerFactory(); }static class JettyCondition implements Condition {@Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {return true; }}} 이건 코드입니다 왜 오류가날까요 틀린게없는거같습니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
[수업질문] config-server 실행은 되는데, 동작을 안 함
windows 10, eclipse에서 수업을 따라하고 있습니다.서버 동작도 안 되었는데.m2파일 중 configu와 관련된 내용 지우고 이클립스 다시 시작하니 config서버가 동작은 합니다.그런데git 레파지토리에 있는 ecommerce.yml파일을 읽지 못 하는지, 아니면 자신이 일반 서버로 착각하는지 404 에러가 납니다.이미지를 첨부했습니다.어떻게 해야 이 고통에서 벗어날 수 있을까요?동영상 강의 보면, 쉽게 배울 수 있을 거라 생각했는데동영상 강의 촬영일과 2년 정도 차이가 나니 이런 저런 걸로 계속 에러가 나네요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[에러] Database not found에 관해서
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요메인어플리케이션을 실행시 에러가 발생하여 질문남깁니다.해당에러는 다음과 같습니다.하지만 해당경로에는 아래와 같이 파일이 존재하구요다른 글들을 참고해봤지만 에러가 해결되지 않아서 글을 남깁니다. 감사합니다.githubhttps://github.com/heechanCho/jpashop
-
해결됨실전! 스프링 데이터 JPA
@GeneratedValue 질문하고싶어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@GeneratedValue에서 지금은 autoincrement로숫자로 단순히 pk값이 1/2/3/4이런식으로 사용되고있는데MEMBER00001/MEMBER00002/MEMBER00003같이 PK값에 특정한 문자열이 앞에 들어가는경우는 어떻게하나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka sink 생성 시 tasks state failed
안녕하세요 강사님!강의 잘보고 있습니다.강의시간 18:58에 sink 생성 후 status 확인 값에서 tasks.state 값이 failed라고 뜹니다.그래서 connect 로그를 보면 아래와 같이 뜹니다.[2023-05-02 00:04:12,636] ERROR [my-order-sink-connect|task-0] WorkerSinkTask{id=my-order-sink-connect-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:196) org.apache.kafka.connect.errors.ConnectException: Tolerance exceeded in error handler at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:223) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execute(RetryWithToleranceOperator.java:149) at org.apache.kafka.connect.runtime.WorkerSinkTask.convertAndTransformRecord(WorkerSinkTask.java:516) at org.apache.kafka.connect.runtime.WorkerSinkTask.convertMessages(WorkerSinkTask.java:493) at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:332) at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:234) at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:203) at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:189) at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:244) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.kafka.connect.errors.DataException: JsonConverter with schemas.enable requires "schema" and "payload" fields and may not contain additional fields. If you are trying to deserialize plain JSON data, set schemas.enable=false in your converter configuration. at org.apache.kafka.connect.json.JsonConverter.toConnectData(JsonConverter.java:328) at org.apache.kafka.connect.storage.Converter.toConnectData(Converter.java:88) at org.apache.kafka.connect.runtime.WorkerSinkTask.lambda$convertAndTransformRecord$4(WorkerSinkTask.java:516) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndRetry(RetryWithToleranceOperator.java:173) at org.apache.kafka.connect.runtime.errors.RetryWithToleranceOperator.execAndHandleError(RetryWithToleranceOperator.java:207) ... 13 more 구글링 해봐도 원하는 답변들이 없어 남겨봅니다.
-
해결됨스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
순수 EntityManager vs Spring Data JPA 테스트
프로젝트를 하면서 궁금한 점이 생겨 질문드립니다.@AutoConfigureMockMvc와 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) 만 적용한 상태로 테스트 코드를 작성했습니다. 그리고 @Autowired를 통해 순수 EntityManager를 주입받아서 직접 영속성을 관리하는 레포지토리가 있습니다. 그런데 직접 EntityManager를 주입받은 Repository 빈은 테스트 주입 시 EntityManager가 없다는 오류가 발생합니다. 하지만 Spring Data JPA의 JpaRepository를 상속받은 인터페이스를 @Autowired로 주입받으면 이는 문제없이 테스트가 동작합니다. 혹시 어떤 차이점이 있는지 알 수 있을까요? @Repository public class UserRepository { @PersistenceContext private EntityManager em; public User save(final User user) { em.persist(user); return user; } public Optional<User> findByEmail(final String email) { List<User> users = em.createQuery("select u from User u where u.email=:email", User.class) .setParameter("email", email) .getResultList();return users.isEmpty() ? Optional.empty() : Optional.of(users.get(0)); } } public interface UserJpaRepository extends JpaRepository<User, Long> { public Optional<User> findByEmail(final String email); } @ActiveProfiles("test") @AutoConfigureMockMvc @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) class AjaxEmailPasswordAuthenticationFilterTests extends DummyObject { @Autowired private ObjectMapper objectMapper; @Autowired private MockMvc mockMvc; @Autowired private UserJpaRepository userJpaRepository; @Autowired private PasswordEncoder passwordEncoder; @BeforeEach void setup() { userJpaRepository.save(User.builder() .email("test@gmail.com") .username("test") .password(passwordEncoder.encode("1234")).build()); } @DisplayName("이메일 기반 회원가입 유저 로그인") @Nested class LoginByEmailTests { @DisplayName("로그인 성공") @Test void success_test() throws Exception { //given String url = Endpoint.Api.LOGIN_WITH_EMAIL; EmailLoginUserRequestDto requestDto = EmailLoginUserRequestDto.builder() .email("test@gmail.com") .password("1234") .build(); //when ResultActions resultActions = mockMvc.perform( post(url) .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(requestDto)) ); //then resultActions .andExpect(status().isOk()) .andExpect(jsonPath("$.id").exists()) .andExpect(jsonPath("$.redirectUrl").exists()); } } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 범위 관련해서 궁금한 점이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]테스트 범위 관련해서 궁금한 점이 있습니다. 영한님 강의 들어보면, 보통 controller-service-repository 구조인데, , 보통 service만 하시나요? controller, repository 다하시나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품등록 조회가 되지 않아요
[질문 내용]여기에 질문 내용을 남겨주세요.회원가입과 회원 조회는 문제없이 되는데상품등록은 작성은 되지만 db에 담기지도 않고 그래서 조회도 안됩니다 ㅠㅠ 상품등록 조회 영상 코드가 잘못인가 하고 복붙을 했는데도 안됩니다 ㅠㅠ무엇이 문제일까요??ㅠㅠ]제가 지금 야생형으로 따라 하고있어서 아무것도 몰라서 어느부분이 문제인지 알수없어서 남겨봅니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
user-service에서 설정파일 정보를 읽어오지 못하고 있습니다.
현재 학습하고 있는 스프링 버전은 3.0.5 버전입니다.implementation 'org.springframework.cloud:spring-cloud-starter-config' implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'위 두개의 라이브러리를 추가한 후 bootstrap.yml 파일을 생성해서 아래와 같이 작성을 하면 spring: cloud: config: uri: http://localhost:8888 name: ecommerce서버 실행 후 아래와 같이 로그가 출력됩니다. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.5) 2023-05-01T17:24:26.009+09:00 INFO 81323 --- [ restartedMain] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888 2023-05-01T17:24:26.117+09:00 INFO 81323 --- [ restartedMain] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=ecommerce, profiles=[default], label=null, version=6bb0cd579b695bb651be6edc215d85335734c939, state=null 2023-05-01T17:24:26.117+09:00 INFO 81323 --- [ restartedMain] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-configClient'}, BootstrapPropertySource {name='bootstrapProperties-file:///Users/..../git-local-repo/ecommerce.yml'}]name=ecommerce로 정상적으로 불러지고 있고, yml 파일 위치도 정상적으로 출력이 됩니다.하지만 서버가 실행되다가 8888포트를 이미 사용을 하고 있다는 메시지와 함께 서버가 종료가 되었습니다.검색을 해 보니 2.4버전대부터 설정하는 방법이 바뀌었다고 해서 변경된 방법으로 적용을 했습니다.bootstrap 라이브러리를 삭제했습니다.implementation 'org.springframework.cloud:spring-cloud-starter-config'bootstrap.yml 파일을 삭제했습니다.application.yml 파일에 내용을 추가했습니다.spring: config: name: ecommerce import: optional:configserver:http://localhost:8888그리고 실행을 하면 아래와 같이 name=user-service로 적용이 됩니다.2023-05-01T17:33:51.792+09:00 INFO 82127 --- [ restartedMain] o.s.c.c.c.ConfigServerConfigDataLoader : Fetching config from server at : http://localhost:8888 2023-05-01T17:33:51.792+09:00 INFO 82127 --- [ restartedMain] o.s.c.c.c.ConfigServerConfigDataLoader : Located environment: name=user-service, profiles=[default], label=null, version=6bb0cd579b695bb651be6edc215d85335734c939, state=null이유가 application.yml 파일에서 config 설정 윗 부분에spring: application: name: user-service이렇게 application name을 설정을 해서 그렇게 나오는것 같습니다.그리고 로그중에 아래와 같이 뜨는데2023-05-01T17:33:51.793+09:00 INFO 82127 --- [ restartedMain] o.s.b.devtools.restart.ChangeableUrls : The Class-Path manifest attribute in /Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.1/bad26cea1d483dda57b6f634cdeaca3238637aea/jaxb-impl-4.0.1.jar referenced one or more files that do not exist: file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.1/bad26cea1d483dda57b6f634cdeaca3238637aea/jaxb-core.jar,file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.1/bad26cea1d483dda57b6f634cdeaca3238637aea/angus-activation.jar 2023-05-01T17:33:51.794+09:00 INFO 82127 --- [ restartedMain] o.s.b.devtools.restart.ChangeableUrls : The Class-Path manifest attribute in /Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.1/e8bf2d711d2d4250537199602bccae0cd4e62726/jaxb-core-4.0.1.jar referenced one or more files that do not exist: file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.1/e8bf2d711d2d4250537199602bccae0cd4e62726/jakarta.activation-api.jar,file:/Users/.../.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.1/e8bf2d711d2d4250537199602bccae0cd4e62726/jakarta.xml.bind-api.jar아래의 라이브러리중 어떤것을 설치를 해도 똑같은 로그가 출력됩니다.파일이 존재하지 않는다는 내용인데.. INFO레벨로 출력이 되서 우선은 그냥 넘어갔습니다. implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359' // implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.4' user-service를 실행을 시켜보면 아래와 같이 외부 설정 파일의 값을 읽어오지 못하고 있습니다.It's Working in User Service, port(local.server.port)=56942, port(server.port)=0, token secret=null, token expiration time=null아래의 공식 문서도 참고를 해 봤는데 어느 부분이 잘못됐는지 모르겠더라구요..https://docs.spring.io/spring-cloud-config/docs/current/reference/html/이 전단계의 git-local-repo 디렉토리를 만들어서 git을 commit까지 하는것은 정상적으로 됐고, 설정파일을 읽어오는것까지는 정상적으로 됐었습니다.제 경우 한가지 이슈사항이 있던 부분은 git branch가 master로 되어있어서 오류가 나는 부분이 있어서 그 부분은 git branch를 main으로 하나 만들어서 적용을 하니 해당 오류는 해결이 됐었습니다. 최신 버전으로 적용을 할려고 하니 이리저리 쉽지가 않네요..
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 빌드 실행 오류
아래 화면으로 오류가 뜨는데 java 버전이 잘못돼서 그런걸까요?인텔리제이를 실행하려면 설정해야하는 환경들이 어떻게 되는지 알 수 있을까요? - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.5 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 11) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.5 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
제공되는 html 파일을 사용해도 될까요?
QueryDSL까지 강의를 다 듣고 난 이후에 게시판이나 쇼핑몰 같은 포트폴리오를 만들기전에 자그맣게 배운걸 써보고 싶은데 html,css,js를 모르다보니 view쪽을 처리할 수가 없더라구요.그래서 혹시 활용1편에 제공되는 HelloShop view단 파일을 사용해도 될지 궁금합니다. 깃허브에 올리려고 하고 백엔드단 코드는 전부 스스로 짤 생각입니다.!
-
미해결실전! 스프링 데이터 JPA
지연로딩과 fetchJoin 성능 차이
즉시로딩을 사용하면 Member 객체를 불러 올 때 1+N문제가 발생하고 Lazy로딩을 사용하면 Team 객체를 사용할 때 쿼리문이 나가서 즉시로딩이든 지연로딩이든 결국 1+N 문제가 생기는 게 맞나요 ? 이 1+N 문제의 해결방법으로 fetchJoin이 나온 것 같은데 지연 로딩, 즉시 로딩보다 무조건 fetchJoin이 이점이 있는 것 아닌가요? 왜 디폴트값으로 지연로딩으로 설정하고 fetchJoin을 선택해서 사용하는지 궁금합니다. 기본적으로 fetchJoin을 사용하고 연관관계에 있는 객체를 사용하지 않을 것 같은 경우에만 지연로딩을 선택적으로 사용하는게 더 편하지 않나요? 사용하지 않는 객체를 가져오는 fetchJoin의 쿼리문 몇 줄이 성능에 그렇게 큰 영향을 미치나요?
-
미해결실전! 스프링 데이터 JPA
2분 정도에 이 코드는 안되는 이유가 있나요?
Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); teamRepository.save(teamA); teamRepository.save(teamB); memberRepository.save(new Member("member1", 10, teamA)); memberRepository.save(new Member("member2", 10, teamB)); 강의에서 이렇게 한번에 하려다가 Member를 생성해주고 따로 save를 해주던데 한번에 하면 안되는 이유가 있을까요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 생성 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.윈도우 cmd에서 gradlew와 gradlew.bat 둘다 해도 똑같이 권한이 없다고 나옵니다.
-
미해결실전! 스프링 데이터 JPA
Page 자료구조에 관해 질문입니다.
PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Direction.DESC, "username")); int age = 10; //when Page<Member> page = memberRepository.findByAge(age, pageRequest);PageRequest.of 코드에서 첫 번째 파라미터가 무엇을 의미하는지 헷갈립니다.PageRequest.of 의 2번째 파라미터는 한 페이지의 element 개수이고(limit), 3번째 파라미터는 정렬 조건이 맞나요?List<Member> content = page.getContent(); assertThat(content.size()).isEqualTo(3); assertThat(page.getTotalElements()).isEqualTo(5); assertThat(page.getNumber()).isEqualTo(0); assertThat(page.getTotalPages()).isEqualTo(2); assertThat(page.isFirst()).isTrue(); assertThat(page.hasNext()).isTrue(); page.getContent()는 현재 페이지의 데이터를 가져오는 메소드인가요?page.getNumber()는 현재 페이지를 가져오는 메소드인가요?Page는 책처럼 0,1,2,3 ... 이렇게 페이지가 있는 거고Content는 그 Page안에 있는 데이터를 의미하는 건가요? List<List<data>> 와 같은 구조로 되어 있는 것일까요? Page와 Content의 자료 구조가 어떻게 되어있는지가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 h2실행 =
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]윈도우 콘솔 창에 h2.bat을 입력해도 연결이 되지 않습니다. 참고로 h2.bat 파일을 실행해도 실행되었다가 바로 꺼집니다.참고로 제 자바 jdk의 버전은 11이고 jre버전은 8입니다. 환경변수까지 11로 설정한 상태입니다.윈도우 installer와 플랫폼 버전 모두 다운 받아서 시도했는데 안됐습니다.
-
미해결스프링 시큐리티
Security 6.0에서의 다중보안설정
안녕하세요, 강의 잘 듣고 있는 수강생입니다. 현재 강의를 들으면서 토이프로젝트를 구축 중입니다.https://www.inflearn.com/questions/42102/%EB%8B%A4%EC%A4%91-%EB%B3%B4%EC%95%88-%EC%84%A4%EC%A0%95위 링크의 질문에서 선생님께서 답변 달아주신 내용인,Admin의 url 에 따른 인증 방식은 Form,User의 url 에 따른 인증 방식은 Rest 방식으로 구분 지으려는 상황입니다. 6.0 버전에 따른 강의는 추후 개정하신다는건 공지를 통해서 알고는 있는데.. 제가 이리저리 뜯어봐도 도저히 인증 방식 다르게 적용하는 부분이 너무나도 안 되서 답답하다보니 질문글을 남기게 됐습니다.. Security 6.0 이상에서 "/api"로 시작하는 url과 "/web"으로 시작하는 url 요청에 따라 다른 인증방식을 적용할 수 있는 간단한 예시를 알려주실 수 있으실까요?
-
해결됨스프링 부트 - 핵심 원리와 활용
테스트 코드 on demand static import 관련 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (있을 수 있는데 못찾았습니다.)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]안녕하세요..!테스트 코드 작성하실 때 import static org.assertj.core.api.Assertions.*;이렇게 스태틱 임포트하시는 이유가 궁금합니다.Assertions.assertThat(bean).isNotNull(); assertThat(bean).isNotNull(); -> 스태틱 임포트두 코드의 차이가 궁금합니다.테스트코드인 것과 관련이 있다고 생각하고 있습니다.하지만 조금 더 구체적인 이유를 알려주시면 감사하겠습니다.