반응형

SpringBoot 52

[springBoot] 인터셉터를 통해 메뉴 접근 관리

시스템에서는 보안 때문에 로그인한 사용자의 메뉴 접근 범위를 제한해야 한다. 예를 들어 시스템관리자는 시스템관리 메뉴만 접근할 수 있어야 하고 급여관리자는 급여메뉴에만 접근할 수 있어야 한다. 인터셉터를 통해 아래처럼 구현했다. package kr.dev.common.interceptor; import kr.dev.cmmn.mapper.CmmnMapper; import kr.dev.cmmn.model.MenuVo; import kr.dev.cmmn.service.CmmnService; import kr.dev.user.model.EmpVO; import kr.dev.user.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springf..

IT/development 2023.09.24

[springBoot] 엑셀파일 읽기(feat. ajax)

목차 프로세스: 화면에서 엑셀 업로드 시 엑셀의 내용을 읽어서 테이블에 저장 의존성 추가(gradle) //springBoot ver: 2.7.7 //poi 의존성 추가 implementation 'org.apache.poi:poi:5.1.0' implementation 'org.apache.poi:poi-ooxml:5.1.0' service @Service @Slf4j @RequiredArgsConstructor @Transactional(readOnly = true) public class ExcelService { private final ExcelMapper excelMapper; /** * 엑셀업로드 화면 * @param mv * @return */ @Override public ModelAnd..

IT/development 2023.08.23

[springBoot] daum SMTP 메일 발송

daum의 SMTP를 이용해서 메일 발송하는 예제 개발환경: springBoot 2.7.14, gradle 선행조건(daum smtp 활성화) 설정 > IAMP/POP3(저기의 정보를 프로퍼티에 기입) 의존성 추가(gradle) implementation 'org.springframework.boot:spring-boot-starter-mail' application.yml에 smtp 설정 추가 spring: mail: host: smtp.daum.net port: 465 username: #송신메일주소(보내는 메일 주소) password: #송신메일 주소의 비밀번호(여기선 2차 인증 앱 비밀번호 입력함) properties: #tls 설정 mail: smtp: auth: true ssl: enable:..

IT/development 2023.08.22

[springBoot] 서로 다른 branch를 동시에 띄우려면?

거창한 방법은 아니고 매우 간단하다. 쉬운 이해를 위해 소설을 써 보겠다. A라는 branch는 springBoot, thymeleaf, javascript/jQuery로 개발 되어 있는 상태이고 B라는 branch는 A branch에서 새로 branch를 딴 브랜치다. B branch에서 클라이언트 사이드를 javascript/jQuery를 Vue.js로 전환하는 작업을 하기 위해서다. A branch에서 기존에 되던 기능은 유지하면서 환경만 변화되는 상황이다. 이 때 A branch의 화면을 보면서 개발하는게 당연히 편하다. 이런 상황이라고 가정 했을 때 몇 가지 방법이 있겠지만 내 경우는 아래처럼 했다. A branch는 port 변경 후 build 해서 jar파일로 로컬에서 띄우고 B branch..

IT/development 2023.08.12

[springBoot/thymeleaf] ajax 페이지네이션 sample(feat. study용)

목차 ddl(Oracle) /* 게시판 */ CREATE TABLE "BOARD_INFO" ("BOARD_NO" NUMBER NOT NULL ENABLE, "TITLE" VARCHAR2(50) NOT NULL ENABLE, "CONTENT" VARCHAR2(4000) NOT NULL ENABLE, "USER_ID" VARCHAR2(20) NOT NULL ENABLE, "USE_YN" CHAR(1) DEFAULT 'Y' NOT NULL ENABLE, "REG_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE, "MOD_DATE" DATE, CONSTRAINT "BOARD_INFO_PK" PRIMARY KEY ("BOARD_NO") ); COMMENT ON COLUMN BOARD_..

IT/development 2023.06.04

[spring] springBoot ajax json과 file 전송

controller /** * 게시글 등록 처리(비동기) * @param boardVo * @param files * @return */ @PostMapping(value = "/regAjax") @ResponseBody public Integer regAjax(@RequestPart(value = "boardVo") BoardVo boardVo, @RequestPart(value = "files", required = false) List files, HttpSession session) throws IOException, Exception { //테스트니까 try catch로 예외처리 하지 않고 그냥 throws로 던졌다. UserVo userInfo = getUserSessionInfo(sessio..

IT/development 2023.06.03
반응형