분류 전체보기
@Component , @Autowired ?? 사용하는 이유
😕 @Component를 사용하는 이유? ● 첫번째 : Class 를 일반생성 하게되면 bean을 스캔하지못하며 스프링컨테이너에서 등록하지 못합니다. 따라서 @Component (like @Service@Controller)등을 사용하여 bean을 스캔하여 등록할수 있도록 합니다. ● 따라서 PASS 와같은 프로젝트에서는 Spring 을 사용하고 있기때문에 스프링 컨테이너에서 WAS시작시에 bean을 생성하고 요청이 들어오더라도 같은 bean을 주입만 해주고 다시 생성하지않기에(singleton) 서버성능에 좋습니다. ★ 반면 일반클래스에서 생성할때 요청하나당 5개의 객체를 생성한다고 가정시 요청이 500개가 올경우 2500개의 객체를 생성하게 되므로 서버의 성능이 저하됩니다. 또한 aop에서 compo..
Spring] AOP LOG 파일에 저장하기
aop로 logging을 할때 단순히 로그만 콘솔에 띄우지않고 파일로도 저장이 가능하다. 파일로 저장하는 설정을 공유해보겠다. 환경: 전자정부 프레임워크 3.10 : spring 4.3.25 1. 의존성 추가 org.apache.logging.log4j log4j-api 2.13.0 org.apache.logging.log4j log4j-core 2.13.0 # pom.xml 에 의존성을 추가해준다 2. log4j2.xml 작성 C:/log/mylog.txt C:/log/%d{yyyy-MM-dd-hh-mm}/mylog.zip %d{yyyy-MM-dd HH:mm:ss} %5p [%c] %m%n C:/log/mylog_error.txt C:/log/%d{yyyy-MM-dd-hh-mm}/mylog_error...
Spring mvc 환경에서 aop : logging 적용예제
Spring mvc 환경에서 aop 를 이용해 logging을 컨트롤러에서 함수실행시 request와 결과값을 log로 남겨주었다. >환경 : 전자정부프레임워크 3.10 , Spring 4.3.25 1. AOP를 위한 설정 # IN pom.xml org.springframework spring-aop 4.3.25.RELEASE org.aspectj aspectjrt 1.8.14 org.aspectj aspectjtools 1.9.9 aop 와 aspectj 언어를 사용하기위해 의존성을 추가한다. # IN dispatcher-servlet.xml 2. AOP 구현 # loggingAspect class 작성 : 이곳에서 aop 함수를 작성한다. package idmcs.api.pub.rrc.provider..
Spring Mvc 기반 api 예외처리
Spring MVC 기반 api 예외처리입니다. api 작성시 컨트롤러로 값이 넘어오기전에 미디어타입이 맞지 않거나 잘못된 형식으로인해 bad 404 에러가 나는 경우가 있습니다. 따라서 web.xml 및 설정파일등을 통해 예외를 잡겠습니다. 환경 : 전자정부프레임워크 3.10 / spring 4.3.25 @Controller public class ExceptionController { @Autowired RequestRrcQrError qrError; RequestRrcQrRetData empty = new RequestRrcQrRetData(); @RequestMapping(value = "/error", method = RequestMethod.POST) @ResponseBody public Re..
[MYSQL(mariadb) 무한 로딩] 프로세스kill 하는법
1. Mysql 사용시 sql 프로세스중 하나가 동작하지 않으며 무한로딩이 걸리는 상황이 발생하였다. process를 확인후 해당 프로세스를 직접 kill 하는 쿼리문을 통해 정상동작하도록 하였다. 1. 쿼리문 작성 1. SHOW PROCESSLIST; 2. 해당 프로세스 KILL 1. KILL 42; 해결완료.
[Java] 예제 네이버 파파고 api 이용해서 번역해보기
본문에서는 간단하게 스프링이나 다른 프레임워크를 사용하거나 같이쓰지 않고 자바 단독으로 application run 을이용하여 실습해보았습니다. 1. Naver 오픈 api 신청하기 https://developers.naver.com/apps/#/register?defaultScope=translate 위 주소에서 신청한다. 2. api 연동 코드 제작 - 네이버에 있는 예제소스를 그대로 붙여넣었습니다. 프로젝트와 클래스를 하나 만들어서 그대로 복사 import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; imp..
Spring ajax , list <map> 으로 데이터 넘기기
View 핵심코드만 넣었습니다. let idList = []; let listdata = {"id" : this.id ,"seq" : '1'}; idList.push(listdata); 이런 식으로 리스트에 키쌍값을 대입해 넘겨주고 $.ajax({ contentType:'application/json', type: "POST", url: "ajax/syncOrderDelete.do", data: JSON.stringify(idList), dataType: "json", success: function (res) { if (res) { window.location.reload(); //페이지 새로고침 alert("작업 삭제 요청이 수행되었습니다."); } else { alert("작업 삭제 요청이 실패되었..
[MySql] SEQUENCE 생성
사용이유 mysql 에서 sequence를 이용하기위해 생성한다 정의된 전체 시퀀스 조회...? SELECT * FROM USER_SEQUENCES 본인의 경우 이 명령어가 제대로 수행되어지지는 않았다. 버전의 차이같다. 시퀀스 생성 CREATE SEQUENCE test_seq ---시퀀스명 : test_seq-EQ INCREMENT BY 1 --- 증감수 1. default : 1 START WITH 1 --- 시작수 1 MINVALUE 1 --- 최소값 1 MAXVALUE 999999 --- 최대값 99999 NOCYCLE --- CYCLE : 최대값 후 다시 최소값부터 시작. NOCYCLE : 최대값 후 사용중지. CACHE; --- CACHE : 설정시 메모리에 미리할당. NOCACHE: 할당 않..