게시글
질문&답변
2022.06.02
spring boot version
네 하셔도 상관없어요
- 0
- 1
- 251
질문&답변
2022.04.19
강사님. 코드관련 질문드립니다.
hmchoi님 강의가 도움이되신다니 다행입니다. 깃으로 e11까지만 관리되어서 e11 브랜치로 공유드려요 https://github.com/stylehosting/example-spring/tree/E11
- 0
- 1
- 284
질문&답변
2022.04.06
강의 질문드립니다 [ApplicationContext]
안녕하세요 hmchoi님 부족한강의일수도있는데 좋은내용으로 얘기해주셔서 고맙습니다~^^ ApplicationContext는 org.springframewotk.conext 패키지에있는걸 import하셔야해요 현재는 apache 패키지를 import하셔서 오류나는거같아요 그리고 위에스샷에서는 applicationConext 사용안하니 지우셔도될거같아요~^^
- 0
- 1
- 333
질문&답변
2022.04.05
아무리해봐도 해결이되지않네요 ㅠ
Db board테이블에 Title 컬럼에 not null로 생성되있어요 위오류는 title값이 insert시 값이 null로 들어가서 나는 오류에요 지금 스샷에 get으로 param으로 넘기고있는데 컨트롤러에서 get으로 넘어오는 title의 값을 잘받아지는지 체크하시구 안된다면 그부분을 수정하셔야되요 그 이후에 서비스 레파지토리까지 연결하고 xml 까지 title의 값에 넘기는부분이 잘맵핑되었는지 확인해보셔요
- 0
- 1
- 348
질문&답변
2022.03.15
레포지토리 검색을 못한다네요 ㅠㅠ
MybatisConfiguration 클래스에 아래 어노테이션이 적용되어있는지 확인해보시구요 @MapperScan(basePackages = "kr.edu.randi.mvc.repository") ArticleRepository 클래스에 아래 어노테이션이 추가되어있는지 확인해보시기 바랍니다. @Repository 예제로 완성된 샘플소스에서는 위에 2개가 들어가있는 상태에요
- 0
- 1
- 6.3K
질문&답변
2022.03.15
주석 단축키가 뭔가요
Eclipse 에디터에서 class 선언전후/ 변수라인 / 메소드라인 에서 SHIFT + ALT + J 누르시면 생겨요
- 0
- 1
- 438
질문&답변
2022.03.15
2강에 setMapperLocations 에 에러
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; factory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/sql/*.xml")) 이렇게 사용하시면 오류가 해결되실거에요.
- 0
- 1
- 651
질문&답변
2022.01.29
E03 영상 관련.
안녕하세요 gksmfwlsgh님, https://youtu.be/groXYLpRndI 위에 영상 링크 클릭하시면 나올거에요 Url로 접근시 잘나오는데요 인프런에서 플레이안나오는 버그가 발생하는거같습니다.
- 0
- 1
- 281
질문&답변
2022.01.18
질문드립니다
안녕하세요 박인규님 문제가 없을거같습니다~^^
- 0
- 1
- 275
질문&답변
2022.01.07
FileController가 어떻게 적혔는지 좀 더 확인해보고싶습니다.
안녕하세요 koyoungil97 개발자님, 제가 가지고 있는 소스를 올려드릴게요. 조금 달라졌을수도 있지만, 아마 비슷한 소스일거에요, 만약에 다른부분이있거나 컴파일 에러나는 소스가 있다면 처음엔 힘들지만, 응용해서 수정하시거나 추가하셔서 해결해보시면 스킬업에 도움이되실수도있어요 package kr.co.songjava.mvc.controller; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.UUID; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import kr.co.songjava.configuration.GlobalConfig; import kr.co.songjava.configuration.exception.BaseException; import kr.co.songjava.configuration.http.BaseResponse; import kr.co.songjava.configuration.http.BaseResponseCode; import kr.co.songjava.mvc.parameter.UploadFileParameter; import kr.co.songjava.mvc.service.UploadFileService; @RestController @RequestMapping("/file") @Api(tags = "파일 API") public class FileController { Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private GlobalConfig config; @Autowired private UploadFileService uploadFileService; /** * 업로드 리턴. * * @return */ @PostMapping("/save") @ApiOperation(value = "업로드", notes = "") public BaseResponse save(@RequestParam("uploadFile") MultipartFile multipartFile) { logger.debug("multipartFile : {}", multipartFile); if (multipartFile == null || multipartFile.isEmpty()) { throw new BaseException(BaseResponseCode.DATA_IS_NULL); } // 날짜폴더를 추가 String currentDate = new SimpleDateFormat("yyyyMMdd").format(Calendar.getInstance().getTime()); String uploadFilePath = config.getUploadFilePath() + currentDate + "/"; logger.debug("uploadFilePath : {}", uploadFilePath); String prefix = multipartFile.getOriginalFilename().substring( multipartFile.getOriginalFilename().lastIndexOf(".") + 1, multipartFile.getOriginalFilename().length()); String filename = UUID.randomUUID().toString() + "." + prefix; logger.info("filename : {}", filename); File folder = new File(uploadFilePath); // 폴더가 없다면 생성 if (!folder.isDirectory()) { folder.mkdirs(); } String pathname = uploadFilePath + filename; String resourcePathname = config.getUploadResourcePath() + currentDate + "/" + filename; File dest = new File(pathname); logger.debug("dest : {}", dest); try { multipartFile.transferTo(dest); // 파일업로드 된 후 DB에 저장 UploadFileParameter parameter = new UploadFileParameter(); // 컨텐츠 종류 parameter.setContentType(multipartFile.getContentType()); // 원본파일명 parameter.setOriginalFilename(multipartFile.getOriginalFilename()); // 저장파일명 parameter.setFilename(filename); // 실제파일 저장경로 parameter.setPathname(pathname); // 파일크기 parameter.setSize((int) multipartFile.getSize()); // static resource 접근 경로 parameter.setResourcePathname(resourcePathname); uploadFileService.save(parameter); } catch (IllegalStateException | IOException e) { logger.error("e", e); } return new BaseResponse(true); } } globals-local.properties 는 로컬환경에서 필요한 프로퍼티 정보를 정의한것이며, 만약에 개발서버 운영서버등 환경이 추가되는경우는 globals-dev, globals-prod 등으로 만들어서 local과 동일한 key에 값을 넣어서 사용하시면 됩니다. 영상을 중간중간 편집하다보니 소스가 잘린거같네요, 이 영상과 소스가 기초이해하는데 도움이 되시길 바랍니다.^^
- 0
- 1
- 214