단축키  동작
Eclipse IntelliJ IDEA
Ctrl + 1 Alt + Enter import 되지 않은 Class import 도움
Alt + Shift + O Ctrl + Alt + O import 정리
Ctrl + H Shift + Shift 통합찾기
Ctrl + Shift + T Ctrl + N Class 찾기
Ctrl + Shift + R Ctrl + Shift + N Resource 찾기
Ctrl + Shift + O Ctrl + Alt + O 사용되지 않는 import 제거
Ctrl + Shift + F Ctrl + Alt + L 코드 포멧(자동 정렬)
Alt + Shift + M Ctrl + Alt + M 선택된 영역 Method 분리 리팩토링(Extract Method)
Ctrl + Shift + y, x Ctrl + Shift + u 대소문자 변경
Alt + Shift + Z Ctrl + Alt + T 선택된 코드 둘러 싸기(if, while )
Alt + Shift + L Ctrl + Alt + V 선택된 내용 지역변수로
리팩토링(Extract Local Variable)
Ctrl + Shift + G Alt + F7 사용위치 찾기
Ctrl + L Ctrl + G 라인이동
Alt + Shift + R Shift + F6 이름변경
  Ctrl + Alt + V 변수 추출하기
Ctrl + Alt + K Shift + Alt + u 카멜케이스(CamelCase플러그인 설치)
Alt + Shift + S Alt + Insert 코드 삽입(Constructor, get/setter, toString ), java DOC 플러그인
Ctrl+NumberPad (*,/) Ctrl + Shift + - 메서드 모두 접기, 펴기
  Alt + J 찾은 항목 여러 개 선택
  F11 , Shift + F11 북마크 등록, 북마크 목록
sysout, syserr sout, serr System.out.println, System.err.println(Code Templetes)
  Ctrl + Shift + T Class 에 대한 TestCase 파일 생성 및 이동
Ctrl + k Ctrl + F3 이후 F3, Shift + 3 선택된 단어 다음/이전 찾기
  Ctrl + Tab 이전 소스
  Ctrl + p 메소드 내부 파라미터 정보 확인
  Alt + Shift + Insert 컬럼모드(Column) 진입
  Ctrl + Alt + Ctrl 마우스 클릭으로 이동 된 경우 뒤로 돌아오기
Ctrl + E Ctrl + E
Ctrl + Shift + E
eclipse = 열린 파일
idea = 최근 열린 파일
F4 Ctrl + H eclipse = 선택된 단어에 대한 Hierarchy
idea = 열려 있는 Editor 소스에 대한 Hierarchy
Ctrl + delete
Ctrl +
Ctrl + delete
Ctrl +
단어 단위 삭제
     
     
     
     
있었던거 같은데 읍어졌네.. Ctrl + Alt + F 지역 변수 전역변수로 리팩토링(Convert local variable to field)
     
Shift + Enter
 Ctrl + Shift + Enter

Shift + Enter
Ctrl + Alt + Enter
Ctrl + Shift + Enter
어느 커서에 있던 한줄 밑에서 시작
어느 커서에 있던 한줄 위에서 시작
어느 커서에 있던 줄끝에 ; 붙이기
  Ctrl + Alt + , 왼쪽, 오른쪽 에디터 이동
Ctrl + Shift + L
(Spring STS Plugin)
  모든 문서 내에서 Text 검색
Alt + Shift + z Ctrl + Alt + t try cache, if, loop 등 코드 감쌓기
     
마우스 컨텍스트 메뉴 Ctrl + Alt + Shift + c 풀 패키지 + 클래스 복사(import 문자열?)
Ctrl + 마우스 대면 나옴 Ctrl + Alt + b 구현체 찾기
  Ctrl + Shift + Enter if, loop, ; 등 문장 자동완성

 

소스는 돌아가지 않아요.. ^^ 대략적으로 이렇다~

// 파일정보 전달 Class
public class FileCommand {
    private String originalFileNm;
    private String storedFileNm;
    private Long fileSize;
    private String fileExtension;
    private byte[] fileInfo;
}

// MultipartFile 형식으로 업로드 받은 메서드
public void fileUpload(MultipartFile uploadFile) {

	FileCommand fileCommand = new FileCommand();

    // 확장자
    String fileExtension = "." + FilenameUtils.getExtension(uploadFile.getOriginalFilename());

    // 저장파일명
    String localDateTimeNow = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
    String storedFileNm = localDateTimeNow + fileExtension;
    agreeFileCommand.setOriginalFileNm(uploadFile.getOriginalFilename()); // 원본 파일명
    agreeFileCommand.setStoredFileNm(storedFileNm); // 저장파일명
    agreeFileCommand.setFileSize(uploadFile.getSize()); // 파일 사이즈
    agreeFileCommand.setFileExtension(fileExtension); // 파일 확장자
    agreeFileCommand.setFileInfo(uploadFile.getBytes()); // 파일정보

    // @PostMapping - api 호출 공통
    uploadApi(@RequestBody FileCommand command);
}


// 파일 수신 API
@PostMapping("fileSave")
public void fileSave(@RequestBody FileCommand file) {
    File file = fileSave(file.getFilePath(), file.getFileNm(), file.fileInfo() );
}


/** 파일 업로드 */
public File fileSave(String filePath, String fileNm, byte[] fileInfo) {

    // 파일업로드 처리
    File tmpFile = new File(filePath + fileNm);
    try {
        FileUtils.copyToFile(new ByteArrayInputStream(fileInfo), tmpFile);
    } catch (IOException e) {
        log.error("동의서파일 저장실패 : " + filePath + storedFileNm);
    }
    return new File(filePath + storedFileNm);
}

+ Recent posts