songjava
@songjava
Học viên
6,410
Đánh giá khóa học
53
Đánh giá khóa học
4.7
안녕하세요? 송자바 입니다. 현재 프로젝트에 투입되어서 일하고 있는 실무 개발자 입니다. 경력은 16년차 이상으로 Backend, Frontend 모두 경험하고 개발이 가능합니다. 이 기술과 노하우들을 여러분들에게 알려드리고자, 시간여유가 생길때마다 영상을 올리고 있습니다. Backend Spring BOOT를 시작으로 Frontend Vuejs, React DBMS MariaDB, MySQL, Oracle, MSSQL 등... 등 다양한 기술들의 경험과 노하우 및 지식을 올릴예정입니다. 감사합니다.
멘토링, 초급, 중급, 고급 속성강의 등 다양하게 레슨도 가능합니다.
관련 궁금사항은 연락주시면 자세히 설명드릴게요.
이메일 : dev.songjava@gmail.com
Homepage : https://songjava.co.kr
Blog : http://blog.naver.com/stylehosting
Youtube : https://youtube.com/@songjava?si=KykTqZncKM1WslL2
Khóa học
Đánh giá khóa học
- Java Springboot được sử dụng trong phát triển web thực tế
- Java Springboot được sử dụng trong phát triển web thực tế
- Java Springboot được sử dụng trong phát triển web thực tế
- Java Springboot được sử dụng trong phát triển web thực tế
- Java Springboot được sử dụng trong phát triển web thực tế
Bài viết
Hỏi & Đáp
spring boot version
네 하셔도 상관없어요
- 0
- 1
- 334
Hỏi & Đáp
강사님. 코드관련 질문드립니다.
hmchoi님 강의가 도움이되신다니 다행입니다. 깃으로 e11까지만 관리되어서 e11 브랜치로 공유드려요 https://github.com/stylehosting/example-spring/tree/E11
- 0
- 1
- 379
Hỏi & Đáp
강의 질문드립니다 [ApplicationContext]
안녕하세요 hmchoi님 부족한강의일수도있는데 좋은내용으로 얘기해주셔서 고맙습니다~^^ ApplicationContext는 org.springframewotk.conext 패키지에있는걸 import하셔야해요 현재는 apache 패키지를 import하셔서 오류나는거같아요 그리고 위에스샷에서는 applicationConext 사용안하니 지우셔도될거같아요~^^
- 0
- 1
- 446
Hỏi & Đáp
아무리해봐도 해결이되지않네요 ㅠ
Db board테이블에 Title 컬럼에 not null로 생성되있어요 위오류는 title값이 insert시 값이 null로 들어가서 나는 오류에요 지금 스샷에 get으로 param으로 넘기고있는데 컨트롤러에서 get으로 넘어오는 title의 값을 잘받아지는지 체크하시구 안된다면 그부분을 수정하셔야되요 그 이후에 서비스 레파지토리까지 연결하고 xml 까지 title의 값에 넘기는부분이 잘맵핑되었는지 확인해보셔요
- 0
- 1
- 460
Hỏi & Đáp
레포지토리 검색을 못한다네요 ㅠㅠ
MybatisConfiguration 클래스에 아래 어노테이션이 적용되어있는지 확인해보시구요 @MapperScan(basePackages = "kr.edu.randi.mvc.repository") ArticleRepository 클래스에 아래 어노테이션이 추가되어있는지 확인해보시기 바랍니다. @Repository 예제로 완성된 샘플소스에서는 위에 2개가 들어가있는 상태에요
- 0
- 1
- 6.6K
Hỏi & Đáp
주석 단축키가 뭔가요
Eclipse 에디터에서 class 선언전후/ 변수라인 / 메소드라인 에서 SHIFT + ALT + J 누르시면 생겨요
- 0
- 1
- 547
Hỏi & Đáp
2강에 setMapperLocations 에 에러
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; factory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/sql/*.xml")) 이렇게 사용하시면 오류가 해결되실거에요.
- 0
- 1
- 785
Hỏi & Đáp
E03 영상 관련.
안녕하세요 gksmfwlsgh님, https://youtu.be/groXYLpRndI 위에 영상 링크 클릭하시면 나올거에요 Url로 접근시 잘나오는데요 인프런에서 플레이안나오는 버그가 발생하는거같습니다.
- 0
- 1
- 351
Hỏi & Đáp
질문드립니다
안녕하세요 박인규님 문제가 없을거같습니다~^^
- 0
- 1
- 364
Hỏi & Đáp
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
- 310




