스프링 부트 개념과 활용

스프링 부트 개념과 활용

(116개의 수강평)

2264명의 수강생
gyuyoung park 프로필

jsp나 servlet에 대해서 잘 모르는데 강의를 진행해도 될까요? gyuyoung park 5일 전

안녕하세요! 

제가 node랑 django만 쓰다가 새로운 부서에서 스프링을 쓴다해서 부트도 배우고있습니다!

그런데, java로 웹을 만들어본 적이 없다보니 jsp랑 servlet에 대해서 잘 모르는데, 상관없이 스프링 부트 강의를 진행하고 mvc까지 진행해도 괜찮을까요? 아니면 병행하는게 좋을까요?

바쁘신데 질문에 신경써주셔서 감사드려요! 매번 좋은 강의, 영상 올려주셔서 감사합니다!

1
qo613 프로필

curl 명령어 qo613 7일 전

인텔리제이 터미널에

curl -I --http2 http://localhost:8080

입력해도 'curl: (1) Unsupported protocol' 이라고만 뜨는데 다른 방법 없을까요?

여기서 막혀서 뒷부분 진행이 안돼요ㅠㅠ

3
righteous0319 프로필

Admin 항목이 없습니다. righteous0319 10일 전

jconsole에서 실행한 Application으로 접속해서 MBeans에 org.springframework.boot를 들어가봤는데 Endpoint만 있고 Admin이 없네요...

4
righteous0319 프로필

의존성 관리 질문입니다. righteous0319 11일 전

HttpClient 의존성 추가할 때 IntelliJ에서는 SpringBoot가 의존성 관리를 해주고 있다는 것을 왼쪽 아이콘을 통해서 확인할 수 있는데 다른 IDE에서는 어떻게 확인할 수 있을까요?

현재 저는 VSCode로 해보고 있는데 아무리 찾아도 방법이 없는 것 같네요...

...\.m2\repository\org\springframework\boot\spring-boot-dependencies\2.0.3.RELEASE\spring-boot-dependencies-2.0.3.RELEASE.pom.xml을 직접 찾아서 확인하는 수 밖에 없는 걸까요..?

2
전시흠 프로필

Resource -> EntityModel 로 변경되었습니다. 전시흠 17일 전

현재 스프링 부트 공식 페이지 보고 알았네요.

따라하시는 분들, 아마 Resource 임포트 안되실 겁니다.

강의 이후에 공식 클래스 이름이 바뀌었나보네요.

도큐먼트에 다음과 같이 나와있습니다. 참고하세요.

  • ResourceSupport is now RepresentationModel

  • Resource is now EntityModel

  • Resources is now CollectionModel

  • PagedResources is now PagedModel

마찬가지로 linkTo 임포트 안되시는 분들은 임포트 부분을 다음으로 바꿔보세요 ㅎㅎ


import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.*;

2
Heemok Son 프로필

No property userName found for type Account! Did you mean 'username'? 에러 건 Heemok Son 18일 전

안녕하세요. 조금씩 따라가면서 하고 있긴 한데, 잘 모르겠어서 질문 드립니다.

본 강의는 이전 강의의 Postgres 'Account' 테이블을 참고해서 진행하는건가요?

이전 강의에서 

String sql = "CREATE TABLE ACCOUNT(ID INTEGER NOT NULL, username VARCHAR(255), password VARCHAR(255), PRIMARY KEY (id))";

jdbcTemplate.execute("INSERT INTO ACCOUNT VALUES (1, 'keesun', 'pass')");

이전 강의와 다르게 ACCOUNT 테이블에

username과 password를 추가한 테이블로 만들 고

데이터를 한 건 insert 하였습니다.

본 강의에서 AccountRepository에

id, username, password를 만들었는데

Table에서 생성한 column 과 일치시켜줘야 하는건가요?

저는 

아래와 같은 에러가 발생하는데, 이유를 잘 모르겠습니다.

Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract me.whiteship.springbootjpa.account.Account me.whiteship.springbootjpa.account.AccountRepository.findByUserName(java.lang.String)! No property userName found for type Account! Did you mean 'username'?

1
최경래 프로필

마지막 예제 질문입니다. 최경래 22일 전

저는 지금 스프링 부트 2.2.4 버전으로 실습하고 있는데요 마지막 예제에서 Application에 등록한 빈이 출력됩니다. 버전업 되면서 빈을  읽는 단계가 바뀌었나요?

1
차오즈 프로필

음.. 저는 오류가 뜨네요 차오즈 1달 전

Application에 holoman을 빈 등록 후에 메인을 돌려보면

선생님은 name과 howLong이 변하지 않고 그대로 나오지만

저는 아래와 같은 오류가 납니다.

@ConditionalOnMissingBean을 취하면 정상적으로 동작하긴 하는데, 저 어노테이션이 없을 때, 선생님과 다르게 나오는 이유가 뭘까요?

Description:

The bean 'holoman', defined in class path resource [me/whiteship/HolomanConfiguration.class], could not be registered. A bean with that name has already been defined in me.whiteship.Application and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

1
puregyu 프로필

test 실행시 org.springframework.http.converter.HttpMessageNotWritableException 500 에러 발생합니다. puregyu 1달 전

package com.devyu.webmvc;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;


@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class) 
public class UserControllerTest {

	@Autowired
	MockMvc mockMvc;

	@Test
	public void hello() throws Exception {
		mockMvc.perform(get("/hello"))
						.andExpect(status().isOk())
						.andExpect(content().string("안녕"));
						
	}
	

	@Test
	public void createUser() throws Exception {
		String userJson="{\"userName\":\"devyu\", \"userPassword\":\"min\"}";
		mockMvc.perform(post("/create/user")
				.contentType(MediaType.APPLICATION_JSON_UTF8)
				.accept(MediaType.APPLICATION_JSON_UTF8)
				.content(userJson))
			  .andExpect(status().isOk())
		         .andExpect(jsonPath("$.username",is(equalTo("devyu"))))
		         .andExpect(jsonPath("$.password",is(equalTo("min"))));
	}
}

우선 controller단에 요청하고 @RequestBody와 HttpMessageConverter를 통해 객체에 json값을 주입해주는것 까지는 정상작동 합니다.(해당 controller단에서 user객체를 print() 해보았습니다.) 문제는 객체를 return 해주면 org.springframework.http.converter.HttpMessageNotWritableException 500 에러 발생합니다. 원인이 무엇일까요???

2
rhaehl@naver.com 프로필

여기서 view를 못찾는데 질문드립니다 rhaehl@naver.com 1달 전

view를 못찾는데 질문드립니다   ㅠㅠ pom,xml도 잘설정했는데

그냥 RestController 로 해야만 일단 컨트롤러타고 ㅠㅠ 그다음에 못탑니다 ㅠㅠ

2
rhaehl@naver.com 프로필

parent rhaehl@naver.com 1달 전

안녕하세요 초급개발자 질문입니다 ! parent가 버전관리를 해주는데 gradle의 경우에는parent를 가져오지 않는데 누가 버전관리를해줄까요?

1
rhaehl@naver.com 프로필

안녕하세요 잠시 질문드려도될가요 rhaehl@naver.com 1달 전

Show Dependencies 창 띄우는게 인텔리j에서는 가능한데 Eclipse 에서는 띄우지 못하나요? ㅠㅠ 어디서 확인해야하나욥 ?!

1
김태수 프로필

Service와 Repository의 관계에 대한 질문입니다! 김태수 1달 전

좋은 강의 정말 감사합니다. 스프링 학습에 있어 너무 좋은 기회가 되었습니다.

강의를 듣고 예제 연습을 할때는 대부분 1개의 Service는 1개의  Repository와 연동? 매핑? 되어있습니다!

질문을 요약하자면 

1. 1개의 Request의 기능에서 2개 이상의 DTO에 대한 query를 실행해야 할때

  - 현재 제가 작성한 코드에는 1개의 Service 객체에서 2개의 Repository를 @Autowired하여 사용하고 있습니다. 지금 사용하고 있는 방법이 올바른지(보안, 효율성 측면) 궁금합니다. 

  - 제가 추가적으로 생각한 방법은 2개 이상의 DTO를 사용하려고 추가적인 Repository를 사용하니 Request를 받을 때 Body에서 2개 이상의 DTO를 묶어주는 객체를 받아오고 Controller에서 묶음으로 받은 객체를 사용할 각각의 DTO로 묶음해제하여 Controller객체에서 각 DTO 객체에 맞는 Service 메소드를 실행하는 방법인데 이방법이 맞는지 궁금합니다.

  - 만약 위 2개의 방법이 올바르지 않다면 어떤 방법으로 하면 효율적인지 궁금합니다.

2. 1개의 Service객체를 이용하여 Service를 처리하는데 다른 Service 객체를 사용해야 하는 경우, 다른 Service 객체를 @Autowired하여 사용하는 것이 효율적인지 궁금합니다.

질문이 너무 길고 장황하여 죄송합니다.

질문에 답변을 해주시면 정말 감사하겠습니다. 혹시 해당 질문에 대한 관련 사이트를 알려주시면 참고하여 찾아보겠습니다.

감사합니다.

2
에코노 프로필

test 파일을 실행시켰는데 이러한 type error가 왜 뜨는건가요? 에코노 1달 전

package econovation.demospringmvc.user;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultMatcher;

import static net.bytebuddy.matcher.ElementMatchers.is;
import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {

@Autowired
MockMvc mockMvc;

@Test
public void hello() throws Exception{
mockMvc.perform(get("/hello"))
.andExpect(
status().isOk())
.andExpect(
content().string("hello"));
}

@Test
public void createUser_JSON() throws Exception {
String userJson =
"";
mockMvc.perform(post("/users/create")
.contentType(MediaType.
APPLICATION_JSON_UTF8)
.accept(MediaType.
APPLICATION_JSON_UTF8)
.content(userJson))
.andExpect(
status().isOk())
.andExpect(
jsonPath("$.username",is(equalTo("keesun"))))
.andExpect(
jsonPath("$.password",is(equalTo("123"))));

}
}


Error:(40, 32) java: incompatible types:
org.springframework.test.web.servlet.result.
JsonPathResultMatchers cannot be converted to
org.springframework.test.web.servlet.ResultMatcher

1
조한선닮은이 프로필

TestRestTemplate 으로 getForOjbect 했을경우 조한선닮은이 1달 전

안녕하세요.

TestRestTemplate 으로 getForOjbect 했을경우 return 값이 json String 형식이라면

json의 값들을 확인하려면 어떤식으로 해야되나요?

MockMvc 를 활용했을경우에는 jsonpath로 확인을 하던데..

TestRestTemplate 으로 해야 하는 경우라면 어떻게 확인해야 하는지 궁금합니다.

2
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스