묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
@Repository 빨간줄
BookMemoryRepository랑 BookMysqlRepository에 @Repository를 모두 붙이면 빨간줄이 강의상에선 나는데 저는 이상이 없는 데 혹시 스프링 버전 차이인건지 궁금합니다.
-
미해결토비의 스프링 부트 - 이해와 원리
ApplicationContext.refresh() 하는 이유
registerBean 이후 refresh를 하는 이유가 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
if (loginMember == null)의 존재 이유
HomeController.java @GetMapping("/") public String homeLoginV3(HttpServletRequest request, Model model) { HttpSession session = request.getSession(false); //세션 저장소에 해당 세션이 존재하지 않음 if (session == null) { return "home"; } //세션 저장소에 해당 세션이 존재함 Member loginMember = (Member) session.getAttribute(SessionConst.LOGIN_MEMBER); if (loginMember == null) { return "home"; } model.addAttribute("member", loginMember); return "loginHome"; }위 코드에서 'if (loginMember == null) { ... }' 코드가 존재하는 이유는, loginMember가 null인 경우는 없지만 session.getAttribute()가 스펙상 null을 반환할 수 있기 때문인 것이 맞을까요..?세션 저장소에 세션이 없는 경우는 있지만, 세션이 있다고 하면 Member 객체가 무조건 존재하는 것이 아닌가요..??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
빈 ModelAndView 반환
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.수업중에 return new ModelAndView();로 반환시 정상흐름으로 서블릿이 리턴된다고 하셨는데 그렇다는 건 response의 값이 WAS로 가서 처리된다는 것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키와 세션
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요.HttpSession 사용하기전에는 String sessionId = UUID.randomUUID().toString(); sessionStore.put(sessionId,value); Cookie mySessionCookie = new Cookie(SESSION_COOKIE_NAME, sessionId); response.addCookie(mySessionCookie); 세션과 쿠키를 직접 만들어주셨는데login3 부터는HttpSession session = request.getSession(); session.setAttribute(SessionConst.LOGIN_MEMBER,loginMember);세션만 만들어주셨는데 쿠키는 저희가 직접 만들어줬던걸 이제 자동으로 해주는건가요 ?? 질문2 세션은 웹 브라우저를 종료하면 자동으로 삭제 되는거 아닌가요 ??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 하이퍼링크 이동 시 basic.html로 이동
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]localhost:8080으로 접속하여 index.html로 이동하였습니다. 그 이후 jsp 회원가입 전송 후 /jsp/members/save에서 /index.html 로 이동하도록 되어있길래 그리했더니 같은 디렉토리의 basic.html로 이동하게 됩니다. 이동 경로를 '/'로 바꿔주어 해결하였으나 원인이 무엇인지 궁금합니다
-
해결됨토비의 스프링 부트 - 이해와 원리
코틀린으로 강의 따라하시는 분들이 계시다면 참고하세요. no-arg 설정이 필요합니다.
BeanPostProcessor는 매개변수가 없는 no-arg 생성자를 필요로 하는데요, 자바의 경우 굳이 매개변수를 생성자에서 주입하지 않아도 되지만 코틀린의 경우 JPA 엔티티나 현재 강의의 ServerProperties처럼 프로퍼티값을 읽어들여 객체를 생성하는 경우 생성자 파라미터를 보통 사용하실 텐데요,이 경우 따로. noarg 생성자가 만들어지지 않기 때문에 BeanPostProcessor가 디폴트 생성자를 만들어낼 수 있도록kotlin("plugin.allOpen") kotlin("plugin.noArg")을 이용해서 @Component 어노테이션으로 빈에 대한 no-arg 기능을 활성화해야합니다.gradle에서 다음과 같이 plugin을 포함하시구요plugins{ kotlin("plugin.noarg") version "1.7.22" //jpa를 사용하신다면 kotlin("plugin.jpa")에 포함되어 있습니다. } 아래에 Component 어노테이션에서 no-arg가 활성화될 수 있게 해당 부분을 적어주시면 됩니다.noArg { annotation("org.springframework.stereotype.Component") }all-open, no-arg 등의 플러그인에대한 더 자세한 설정에 대해서 궁금하시다면 아래 글을 참고하시면 좋습니다.https://techblog.woowahan.com/2675/
-
미해결토비의 스프링 부트 - 이해와 원리
스프링의 장점
안녕하세요. 토비님 강의 너무 잘듣고 있습니다. 강의를 듣다가 궁금한점이 생겨서 질문남깁니다.우선 저는 독립형 스프링 애플리케이션까지 들었습니다. 강의를 들으면서 스프링과 스프링 부트의 차이점과 이점은 이해가 쉽게 됐습니다. 하지만 서블릿 웹서버와 스프링 웹서버의 차이점에 대해서는 명확하게 이해하지 못했습니다.독립 실행형 서블릿 애플리케이션으로 웹 서버를 띄우는 것보다 독립 실행형 스프링 애플리케이션으로 웹 서버를 구성하는 것이 어떤 장점이 있는지 궁금합니다. 제가 이해한 바로는 서블릿 웹서버는 HTTP요청이 들어오면 컨테이너가 서블릿을 Mapping하고 서블릿이 요청을 처리하는 것이고 스프링 웹서버는 서블릿에서 스프링 컨테이너를 이용해서 요청을 처리하는 것입니다.혹여나 개념을 잘못 이해하고 있거나 뒷 내용에 이것에 대한 내용이 나온다면 알려주시면 감사하겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
단일 체크박스 - 체크해제 설정
강의 내용 중 단일 체크박스를 체크하면 원하는 상태로 변하는데, 체크를 풀면 500에러가 발생합니다. 어떻게 코드를 수정해야 할 지 도움을 요청드립니다.강의 내용을 조금 변형해서 - '할일'을 등록할 때 할일 완료상태면 TODO_COMPLETE, 미완료이면 TODO_INCOMPLETE이 되도록 아래와 같이 작성하였습니다. (Todo.java)1) 등록된 할일을 수정할 때 단일 체크박스를 체크하면 완료, 체크를 풀면 미완료가 되도록 아래와 같이 editTodo.html을 작성했습니다.이 경우, 할일 수정 페이지에서 체크를 할 때는 TODO_COMPLETE으로 상태가 잘 변경됩니다. 그런데 다시 체크를 풀면 500에러가 발생하는데요. (org.thymeleaf.exceptions.TemplateInputException 입니다) 그래서 Controller에서 할일 수정하는 핸들러의 구현부에 디버거를 걸고 확인을 했더니빨간 네모에서 처럼 체크를 풀고 저장버튼을 누르면 TODO_INCOMPLETE로 변경되는 것이 아니라 null로 넘어가고 있습니다.2) 그래서 강의 복습 및 구글링으로 아래와 같이 체크박스 부분을 수정했는데요.그랬더니 todoCmplt 상태는 무조건 TODO_INCOMPLETE로 고정되어 체크박스에 체크를 하고 할일 수정(저장)을 해도 체크는 풀리게 되었습니다. (editTodo.html의 체크박스를 여러 번 다르게 수정했지만 모두 실패했습니다.)Todo.java에서 코드가 잘못된 것인지, editTodo.html이 잘못된 것인지 알 수 없어 문의드립니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
region.key 와 region.value 가 어디서 나오는 것인가요? 그리고 region 의 타입은 무엇이 되는건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.@ModelAttribute("regions") public Map<String, String> regions() { Map<String, String> regions = new LinkedHashMap<>(); regions.put("SEOUL", "서울"); regions.put("BUSAN", "부산"); regions.put("JEJU", "제주"); return regions; }<div> <div>등록 지역</div> <div th:each="region : ${regions}" class="form-check form-check-inline"> <input type="checkbox" th:field="${item.regions}" th:value="${region.key}" class="form-check-input" disabled> <label th:for="${#ids.prev('regions')}" th:text="${region.value}" class="form-check-label">서울</label> </div> </div> 여기에서 th:each="region : ${regions}"th:value="${region.key}"th:text="${region.value}" 너무 어려워서 체크박스만 어제 오늘 계속 붙들고 다시보고 있는데요 이제 저 3개만 알면 이해갈거같은데 전력을 다해 검색해봐도 도저히 저 3개를 모르겠어요each 에 ${regions} 는 맵인거 같은데 region 은 무슨타입이 들어가길래 key value 라는 값을 쓸수 있는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 도메인과 리포지토리 만들기 강의를 듣는중인데요
따라치기에 바쁘고 코드를 적으시는데 이해못하면 잘못 듣고있는건가요? 자바 강의는 다 들었는데 뭘하시는지를 모르겠고 따라적기만 하고있습니다..
-
미해결토비의 스프링 부트 - 이해와 원리
HikariDataSource가 존재하지 않는 이슈가 있습니다.
토비님이랑 같은 의존성 주입 받았는데 전 HikariDataSource라는 class가 존재하지 않습니다. 제가 잘못한게 있을까요
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
jpa를 사용중에 jdbcTemplate을 권장하는 이유가 궁금합니다
@Query(native = true)로 하게되면은 JdbcTemplate과 비슷한 효과를 가지면서 정적 쿼리를 수행할수있잖아요그런대 jdbTemplate을 별도로 사용하는건 어떤 이유 인지 궁금합니다.@Query를 이용한 네이티브 쿼리에서 할수 없는 특별한 기능이 있다면 그게 무엇 때문인지 궁금하네요.
-
해결됨토비의 스프링 부트 - 이해와 원리
JmxAutoConfiguration가 Nagative matches 리스트에있습니다
이니셜라이저는 다음처럼 구성했고인텔리제이 커뮤니티 에디션을 사용해서 프로젝트를 열고 -Ddebug 를 주고 실행했을 때콘솔 결과는 다음과 같습니다.오전 8:52:26: Executing ':SpringbootAcApplication.main()'...> Task :compileJava UP-TO-DATE> Task :processResources UP-TO-DATE> Task :classes UP-TO-DATE> Task :SpringbootAcApplication.main(). ____ _/\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.7.8)2023-02-05 08:52:27.975 INFO 28856 --- [ main] c.e.s.SpringbootAcApplication : Starting SpringbootAcApplication using Java 11.0.18 on DESKTOP-010ET15 with PID 28856 (G:\Workspace_2023\Server\springboot-ac\build\classes\java\main started by doseon in G:\Workspace_2023\Server\springboot-ac)2023-02-05 08:52:27.978 INFO 28856 --- [ main] c.e.s.SpringbootAcApplication : No active profile set, falling back to 1 default profile: "default"2023-02-05 08:52:27.978 DEBUG 28856 --- [ main] o.s.boot.SpringApplication : Loading source class com.example.springbootac.SpringbootAcApplication2023-02-05 08:52:28.628 DEBUG 28856 --- [ main] ConditionEvaluationReportLoggingListener :============================CONDITIONS EVALUATION REPORT============================Positive matches:-----------------AopAutoConfiguration matched:- @ConditionalOnProperty (spring.aop.auto=true) matched (OnPropertyCondition)AopAutoConfiguration.ClassProxyingConfiguration matched:- @ConditionalOnMissingClass did not find unwanted class 'org.aspectj.weaver.Advice' (OnClassCondition)- @ConditionalOnProperty (spring.aop.proxy-target-class=true) matched (OnPropertyCondition)GenericCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration automatic cache type (CacheCondition)LifecycleAutoConfiguration#defaultLifecycleProcessor matched:- @ConditionalOnMissingBean (names: lifecycleProcessor; SearchStrategy: current) did not find any beans (OnBeanCondition)NoOpCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration automatic cache type (CacheCondition)PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched:- @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition)SimpleCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration automatic cache type (CacheCondition)SqlInitializationAutoConfiguration matched:- @ConditionalOnProperty (spring.sql.init.enabled) matched (OnPropertyCondition)- NoneNestedConditions 0 matched 1 did not; NestedCondition on SqlInitializationAutoConfiguration.SqlInitializationModeCondition.ModeIsNever @ConditionalOnProperty (spring.sql.init.mode=never) did not find property 'mode' (SqlInitializationAutoConfiguration.SqlInitializationModeCondition)TaskExecutionAutoConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor' (OnClassCondition)TaskExecutionAutoConfiguration#applicationTaskExecutor matched:- @ConditionalOnMissingBean (types: java.util.concurrent.Executor; SearchStrategy: all) did not find any beans (OnBeanCondition)TaskExecutionAutoConfiguration#taskExecutorBuilder matched:- @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskExecutorBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)TaskSchedulingAutoConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler' (OnClassCondition)TaskSchedulingAutoConfiguration#taskSchedulerBuilder matched:- @ConditionalOnMissingBean (types: org.springframework.boot.task.TaskSchedulerBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)Negative matches:-----------------ActiveMQAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)AopAutoConfiguration.AspectJAutoProxyingConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.aspectj.weaver.Advice' (OnClassCondition)ArtemisAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.jms.ConnectionFactory' (OnClassCondition)BatchAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.batch.core.launch.JobLauncher' (OnClassCondition)Cache2kCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.cache2k.Cache2kBuilder' (OnClassCondition)CacheAutoConfiguration:Did not match:- @ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) did not find any beans of type org.springframework.cache.interceptor.CacheAspectSupport (OnBeanCondition)Matched:- @ConditionalOnClass found required class 'org.springframework.cache.CacheManager' (OnClassCondition)CacheAutoConfiguration.CacheManagerEntityManagerFactoryDependsOnPostProcessor:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean' (OnClassCondition)- Ancestor org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition)CaffeineCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.github.benmanes.caffeine.cache.Caffeine' (OnClassCondition)CassandraAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)CassandraDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)CassandraReactiveDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)CassandraReactiveRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.cassandra.ReactiveSession' (OnClassCondition)CassandraRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.datastax.oss.driver.api.core.CqlSession' (OnClassCondition)ClientHttpConnectorAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition)CodecsAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.http.codec.CodecConfigurer' (OnClassCondition)CouchbaseAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)CouchbaseCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)CouchbaseDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition)CouchbaseReactiveDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)CouchbaseReactiveRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.couchbase.client.java.Cluster' (OnClassCondition)CouchbaseRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.couchbase.client.java.Bucket' (OnClassCondition)DataSourceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)DataSourceInitializationConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.init.DatabasePopulator' (OnClassCondition)DataSourceTransactionManagerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition)DispatcherServletAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.servlet.DispatcherServlet' (OnClassCondition)EhCacheCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'net.sf.ehcache.Cache' (OnClassCondition)ElasticsearchDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate' (OnClassCondition)ElasticsearchRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.elasticsearch.client.Client' (OnClassCondition)ElasticsearchRestClientAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.elasticsearch.client.RestClientBuilder' (OnClassCondition)EmbeddedLdapAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.unboundid.ldap.listener.InMemoryDirectoryServer' (OnClassCondition)EmbeddedMongoAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.MongoClientSettings' (OnClassCondition)EmbeddedWebServerFactoryCustomizerAutoConfiguration:Did not match:- @ConditionalOnWebApplication did not find reactive or servlet web application classes (OnWebApplicationCondition)ErrorMvcAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition)ErrorWebFluxAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition)FlywayAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway' (OnClassCondition)FreeMarkerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'freemarker.template.Configuration' (OnClassCondition)GraphQlAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlQueryByExampleAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlQuerydslAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlRSocketAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlReactiveQueryByExampleAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlReactiveQuerydslAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlWebFluxAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlWebFluxSecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlWebMvcAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GraphQlWebMvcSecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)GroovyTemplateAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine' (OnClassCondition)GsonAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition)H2ConsoleAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet' (OnClassCondition)HazelcastAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)HazelcastCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)HazelcastJpaDependencyAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)HibernateJpaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.persistence.EntityManager' (OnClassCondition)HttpEncodingAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.filter.CharacterEncodingFilter' (OnClassCondition)HttpHandlerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.http.server.reactive.HttpHandler' (OnClassCondition)HttpMessageConvertersAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.http.converter.HttpMessageConverter' (OnClassCondition)HypermediaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.hateoas.EntityModel' (OnClassCondition)InfinispanCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.infinispan.spring.embedded.provider.SpringEmbeddedCacheManager' (OnClassCondition)InfluxDbAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.influxdb.InfluxDB' (OnClassCondition)IntegrationAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.integration.config.EnableIntegration' (OnClassCondition)JCacheCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.cache.Caching' (OnClassCondition)JacksonAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition)JdbcRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration' (OnClassCondition)JdbcTemplateAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition)JerseyAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.ServletRegistration' (OnClassCondition)JmsAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.jms.Message' (OnClassCondition)JmxAutoConfiguration:Did not match:- @ConditionalOnProperty (spring.jmx.enabled=true) did not find property 'enabled' (OnPropertyCondition)Matched:- @ConditionalOnClass found required class 'org.springframework.jmx.export.MBeanExporter' (OnClassCondition)JndiConnectionFactoryAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate' (OnClassCondition)JndiDataSourceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)JooqAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition)JpaRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.jpa.repository.JpaRepository' (OnClassCondition)JsonbAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.json.bind.Jsonb' (OnClassCondition)JtaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.transaction.Transaction' (OnClassCondition)KafkaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.kafka.core.KafkaTemplate' (OnClassCondition)LdapAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.ldap.core.ContextSource' (OnClassCondition)LdapRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.ldap.repository.LdapRepository' (OnClassCondition)LiquibaseAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'liquibase.change.DatabaseChange' (OnClassCondition)MailSenderAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.activation.MimeType' (OnClassCondition)MailSenderValidatorAutoConfiguration:Did not match:- @ConditionalOnSingleCandidate did not find required type 'org.springframework.mail.javamail.JavaMailSenderImpl' (OnBeanCondition)MessageSourceAutoConfiguration:Did not match:- ResourceBundle did not find bundle with basename messages (MessageSourceAutoConfiguration.ResourceBundleCondition)MongoAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition)MongoDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition)MongoReactiveAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition)MongoReactiveDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition)MongoReactiveRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.reactivestreams.client.MongoClient' (OnClassCondition)MongoRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.client.MongoClient' (OnClassCondition)MultipartAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.MultipartConfigElement' (OnClassCondition)MustacheAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache' (OnClassCondition)Neo4jAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.neo4j.driver.Driver' (OnClassCondition)Neo4jDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.neo4j.driver.Driver' (OnClassCondition)Neo4jReactiveDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.neo4j.driver.Driver' (OnClassCondition)Neo4jReactiveRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.neo4j.driver.Driver' (OnClassCondition)Neo4jRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.neo4j.driver.Driver' (OnClassCondition)NettyAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.netty.util.NettyRuntime' (OnClassCondition)OAuth2ClientAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition)OAuth2ResourceServerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken' (OnClassCondition)PersistenceExceptionTranslationAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor' (OnClassCondition)ProjectInfoAutoConfiguration#buildProperties:Did not match:- @ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}' (OnResourceCondition)ProjectInfoAutoConfiguration#gitProperties:Did not match:- GitResource did not find git info at classpath:git.properties (ProjectInfoAutoConfiguration.GitResourceAvailableCondition)QuartzAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.quartz.Scheduler' (OnClassCondition)R2dbcAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.r2dbc.spi.ConnectionFactory' (OnClassCondition)R2dbcDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.r2dbc.core.R2dbcEntityTemplate' (OnClassCondition)R2dbcInitializationConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'io.r2dbc.spi.ConnectionFactory', 'org.springframework.r2dbc.connection.init.DatabasePopulator' (OnClassCondition)R2dbcRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.r2dbc.spi.ConnectionFactory' (OnClassCondition)R2dbcTransactionManagerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.r2dbc.connection.R2dbcTransactionManager' (OnClassCondition)RSocketGraphQlClientAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'graphql.GraphQL' (OnClassCondition)RSocketMessagingAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.rsocket.RSocket' (OnClassCondition)RSocketRequesterAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.rsocket.RSocket' (OnClassCondition)RSocketSecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.rsocket.core.SecuritySocketAcceptorInterceptor' (OnClassCondition)RSocketServerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.rsocket.core.RSocketServer' (OnClassCondition)RSocketStrategiesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.netty.buffer.PooledByteBufAllocator' (OnClassCondition)RabbitAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.rabbitmq.client.Channel' (OnClassCondition)ReactiveElasticsearchRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient' (OnClassCondition)ReactiveElasticsearchRestClientAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'reactor.netty.http.client.HttpClient' (OnClassCondition)ReactiveMultipartAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.http.codec.multipart.DefaultPartHttpMessageReader' (OnClassCondition)ReactiveOAuth2ClientAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition)ReactiveOAuth2ResourceServerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity' (OnClassCondition)ReactiveSecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition)ReactiveUserDetailsServiceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.authentication.ReactiveAuthenticationManager' (OnClassCondition)ReactiveWebServerFactoryAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.http.ReactiveHttpInputMessage' (OnClassCondition)RedisAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.redis.core.RedisOperations' (OnClassCondition)RedisCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.redis.connection.RedisConnectionFactory' (OnClassCondition)RedisReactiveAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'reactor.core.publisher.Flux' (OnClassCondition)RedisRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.redis.repository.configuration.EnableRedisRepositories' (OnClassCondition)RepositoryRestMvcAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration' (OnClassCondition)RestTemplateAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.client.RestTemplate' (OnClassCondition)Saml2RelyingPartyAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository' (OnClassCondition)SecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.authentication.DefaultAuthenticationEventPublisher' (OnClassCondition)SecurityFilterAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.config.http.SessionCreationPolicy' (OnClassCondition)SendGridAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.sendgrid.SendGrid' (OnClassCondition)ServletWebServerFactoryAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.ServletRequest' (OnClassCondition)SessionAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.session.Session' (OnClassCondition)SolrAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.apache.solr.client.solrj.impl.CloudSolrClient' (OnClassCondition)SpringApplicationAdminJmxAutoConfiguration:Did not match:- @ConditionalOnProperty (spring.application.admin.enabled=true) did not find property 'enabled' (OnPropertyCondition)SpringDataWebAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.web.PageableHandlerMethodArgumentResolver' (OnClassCondition)TaskSchedulingAutoConfiguration#scheduledBeanLazyInitializationExcludeFilter:Did not match:- @ConditionalOnBean (names: org.springframework.context.annotation.internalScheduledAnnotationProcessor; SearchStrategy: all) did not find any beans named org.springframework.context.annotation.internalScheduledAnnotationProcessor (OnBeanCondition)TaskSchedulingAutoConfiguration#taskScheduler:Did not match:- @ConditionalOnBean (names: org.springframework.context.annotation.internalScheduledAnnotationProcessor; SearchStrategy: all) did not find any beans named org.springframework.context.annotation.internalScheduledAnnotationProcessor (OnBeanCondition)ThymeleafAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.thymeleaf.spring5.SpringTemplateEngine' (OnClassCondition)TransactionAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition)UserDetailsServiceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition)ValidationAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.validation.executable.ExecutableValidator' (OnClassCondition)WebClientAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.reactive.function.client.WebClient' (OnClassCondition)WebFluxAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.reactive.config.WebFluxConfigurer' (OnClassCondition)WebMvcAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition)WebServiceTemplateAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.oxm.Marshaller' (OnClassCondition)WebServicesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet' (OnClassCondition)WebSessionIdResolverAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'reactor.core.publisher.Mono' (OnClassCondition)WebSocketMessagingAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer' (OnClassCondition)WebSocketReactiveAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition)WebSocketServletAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.servlet.Servlet' (OnClassCondition)XADataSourceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager' (OnClassCondition)Exclusions:-----------NoneUnconditional classes:----------------------org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfigurationorg.springframework.boot.autoconfigure.context.LifecycleAutoConfigurationorg.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfigurationorg.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfigurationorg.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration2023-02-05 08:52:28.659 INFO 28856 --- [ main] c.e.s.SpringbootAcApplication : Started SpringbootAcApplication in 1.188 seconds (JVM running for 1.655)2023-02-05 08:52:28.666 DEBUG 28856 --- [ main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT2023-02-05 08:52:28.670 DEBUG 28856 --- [ main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFICDeprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 2s3 actionable tasks: 1 executed, 2 up-to-date오전 8:52:28: Execution finished ':SpringbootAcApplication.main()'.
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
커피 메뉴 등록시 조회 되는 현상
안녕하세요. 수강생입니다. 다름이 아니라 메뉴 등록시 조회가 되고 어쩔 땐 등록페이지로 갑니다. http://localhost:8080/menu?start_date=&end_date=&name=&kind=ALL 원인을 못찾겠어서 문의드립니다. 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
source release 17 requires target release 17
해당 에러를 고치기 위해 세팅의 자바 컴파일러 버전을 11로 바꾸었는데 이렇게 진행하여도 괜찮은가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp 의문점 질문드립니다
강의를듣다가 2분쯤에 궁금한게 생겨서 질문드립니다.jsp파일은 왜 main이 아닌 webapp밑에다가 만드는건가요? 정적자료이기 때문에 java가 아닌 webapp 밑에다가 만들어야하는건가요?그리고 추가적으로 main이 아닌 webapp디렉토리가 하는 역할이 무엇인가요? webapp의 정의가 무엇인가요? 정적 자료(ex. html, jsp)들을 모아둔 폴더라고 봐도될까요?네이밍은 무조건 webapp으로 해줘야 동작하는걸까요? webapp말고 다른 이름으로 했더니 webapp디렉토리에는 있던 파란색 동그라미가 노출되지않더라구요...webapp이 정정자료들을 모아둔 폴더라고 한다면, 회원목록jsp파일은 동적파일인데 왜 webapp의 하위에다가 생성한건가요? 정적 동적 상관없이 단순히 jsp파일이라서 그런건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
회원가입 빈 검증에서 메시지가 한꺼번에 다 나옵니다
회원가입 기능을 만들고 있습니다.빈 검증 어노테이션을 적용해서 해보고 있지만 아래 처럼 검증 메시지가 1개가 아니라 전부 한꺼번에 나오고 있습니다.한번에 하나의 메시지를 출력하고 싶습니다.왜 그럴까요... 검증 순서나 우선순위 같은 것을 할 수 있을까요?에러메시지 설정입니다#1순위 : 회원등록 메시지 NotBlank.memberReg.nickname=닉네임은 입력하세요 Length.memberReg.nickname=닉네임은 1 - 20자 글자입니다 NotBlank.memberReg.email=이메일을 입력하세요 Email.memberReg.email=이메일 형식에 맞지 않습니다 Length.memberReg.email=이메일 길이는 100글자 입니다 NotBlank.memberReg.password=비밀번호를 입력하세요 Pattern.memberReg.password=비밀번호 형식에 맞지 않습니다 Length.memberReg.password=영문 대소문자 숫자 특수기호 포함 6-19자리 #1순위 : 로그인 메시지 NotBlank.memberLogin.email=이메일은 필수입니다 Email.memberLogin.email=이메일 형식에 맞지 않습니다 Length.memberLogin.email=이메일 길이는 100글자 입니다 NotBlank.memberLogin.password=비밀번호를 입력하세요 Pattern.memberLogin.password=비밀번호 형식에 맞지 않습니다 Length.memberLogin.password=영문 대소문자 숫자 특수기호 포함 6-19자리아래는 회원DTO 어노테이션 붙인 부분입니다. @NotBlank @Length(min=1, max=20) private String nickname; @NotBlank @Email(regexp="^[0-9a-zA-Z]([-_\\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\\.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$") @Length(min=5,max=100) private String email; @NotBlank @Length(min=6,max=19) private String password;
-
해결됨스프링 핵심 원리 - 기본편
1:18에서 되는 기능 저도 얼티메이트인데 왜 안 될까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1분 18초 부분을 봐주세요안녕하세요. 저도 학생용 라이센스로 얼티메이트(엔터프라이즈) 버전으로 인텔리제이 사용하고 있습니다. 그런데 " "부분에서는 절대 자동완성이 안 나오더라구요.그래서 혹시 영한님이 착각하시고 플러그인을 얼티메이트 버전이라고 하신 건지 여쭤보고 싶습니다.혹시 플러그인이라면 그 플러그인이 어떤 것인지 알려주시면 정말 감사드리겠습니다 💪🏻
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 버전, 자바 버전
스프링부트 버전이 현재 2버전은 2.7.8밖에 없는데 자바11로 다운 받았으니 3버전 안하고 2.7.8로 하고 나머진 강의 그대로 해도 될까요??현재 화면입니다. 이렇게 설정해도 문제없는지 질문드립니다. 자주하는 질문에 보니 스프링부트 3버전부터는 Java17이상을 다운받아야한다고 나와있는데, 원래 Java19가 있는데 지웠다 11로 다시 설치한 상태라 컴퓨터에 Java여러 버전이 제대로 지워지지 않으면 오류가 날까봐 있는 버전으로 가능할지 질문드립니다.