반응형 IT/Java394 jdbc URL 직접 개발을 하면서 다양한 DBMS 에 붙어서 사용을 하다보니 databaseconnect URL 주소가 너무 헷갈려서 직접 적어서 나중에 참고하려고 작성하는 포스팅이다. (계속 수정 예정) dbms class.forName jdbc urk oracle Class.forName("oracle.jdbc.driver.OracleDriver"); jdbc:oracle:thin:@127.0.0.1:1521:DBname mysql Class.forName("com.mysql.cj.jdbc.Driver"); jdbc:mysql://127.0.0.1:3306/DBname 2022. 7. 15. JAVA 에서 Date 형식(Date, LocalDateTime) 자바에서는 다양하게 날짜를 표현할수 있는 자료형이 존재한다. 그중 대표적으로 사용되는 것들은 다음과 같다. Java 8 이전 Date, Calendar / 포맷터 SimpleDateFormat Java 8 이후 LocalDate, LocalTime, LocalDateTime / 포맷터 DateTimeFormatter 이제는 자바 8 이 기본이 안된지도 꽤 시간이 지났으나 아직은 java8 이 익숙했던 기억이 있는지 아직도 sdf 가 편하지만 DateTimeFormatter를 적응해야 할때가 되었다. String 에서 날짜 형식으로 변환하는 코드를 비교해보면 아래와 같다. 먼저 sdf (SimpleDateFormat) 이다. import java.text.ParseException; import java... 2022. 7. 6. OCJP > OCAJP, OCPJP (자바 관련 자격증) OCJP란 Java관련 자격증 중 기초입문 단계에 해당하는 자격 시험으로, Java 프로그래밍 언어 활용 능력을 검증 Java 기술을 개발한 선마이크로시스템즈를 오라클이 인수하면서 자격 시험 명칭도 SCJP에서 Oracle이 들어간 OCJP로 변경 현재는 OCJP라는 이름이 OCAJP와 OCPJP로 명칭이 변경, 분화되었으며, 두 과목 모두 Java SE8 버전으로만 시험 응시가 가능하다. OCAJP Java 프로그래밍 언어의 활용 능력을 검증하는 자격 시험 (시험 코드 1Z0-808) 별도의 응시자격 제한 요건이 없음, 65점 이상 합격 (70문항 150분) - Java 명령어 중심 출제 - Java Basics (Java 기초) - Working With Java Data Types (Java 데이터.. 2022. 7. 3. null 관련 (Null, isEmpty(), null관련 annotation) 먼저 자바에서 null과 isEmpty 의 차이를 알아보면 null 인스턴스가 생성되지 않은 상태, list변수가 메모리에 아무런 주소값도 참조하지 않은 상태이다. list에 값이 없을 경우 null로 체크를 하면 안된다. isEmpty() size()=0 자바 SE1.6이상에서부터 사용가능하다. 리스트는 생성이 되었으나 값이 없는 빈 상태를 뜻한다. 그럼 리스트에서 말고 변수로써 null은 값이 있거나 null이거나 둘중 하나이다. 하지만 코딩을 하다보면 항상 필수 required 되어야하는 값들이 존재하는데 유효성 검사를 하는 방법은 많지만 annotation을 소개해보려고 한다. @NotNull null만 허용 안함 "" 이나 " " 는 허용 @NotEmpty null과 "" 둘다 허용 안함 " ".. 2022. 7. 1. swagger-ui 사용법 스웨거란 RESTAPI 개발시 문서를 자동으로 만들어주는 프레임워크이다. 대부분 API 를 Request 날릴때 사용을 하곤 한다. 저번에 다뤘던 내용인 postman을 사용해도 되고 이 swagger를 사용해도 좋다. postman 사용은 아래 참고 포스팅을 확인해보면 된다. 자바 뿐 아니라 python이나 nodejs 에서도 사용은 가능하지만 자바 스프링에서 사용할수 있는 좋은 기능이기에 자바 카테고리로 분류를 하였다. 사용을 하려면 먼저 라이브러리를 추가해야한다. maven 경우 gradle 경우 그리고 자바 소스로 와서 swaggerconfig 파일을 생성해준다. 기존에는 여기서 되었는데 좀더 확인을 해보니 configuration 파일에 추가 설정을 해줘야했다. 그래서 변경된 코드는 아래와 같다.. 2022. 6. 30. ROOT CONTEXT 스프링을 사용하여 controller 에서 url 을 파싱하게 될때 @PostMapping("/test-controller") 이렇게 지정을 할 경우에 기본적으로는 127.0.0.1:8080/test-controller 라고 된다. (localhost, tomcat8080 기준) 근데 만약 MSA를 사용하거나 또는 다양하게 다른 패키지를 사용할 경우 이름이 겹칠수도 있어서 대분류를 설정 해줘야한다. 그럴 경우엔 properties에서 WebProject Settings에서 Context root 를 지정해줄수 있다. 이렇게 될 경우엔 URI의 최 상단 앞에 지정해준 값이 설정이 되어 127.0.0.1:8080/mvc/test-controller 경로로 되게 된다. 2022. 6. 28. 스프링 스케줄러(@Scheduled) 반복적인 작업을 하기 위해서 다양한 방법들이 있다. 리눅스 상에서의 crontab이나 코드내부라면 while문과 sleep 를 합쳐서 만들수도 있을것이고 방법은 다양하겠지만 이번 포스팅에서는 스프링에서 crontab을 내장하여 사용하는것과 비슷한 스프링 스케줄러에 대해서 소개를 해볼것이다. 사용을 하기 위해서는 스키마를 먼저 등록하고 하단에 task:annotation-drive 태그를 입력한다. 그리고 메서드에 어노테이션을 설정한다. 방식은 다양하다. fixed방식 @Scheduled(fixedDelay=1000) public void test(){ System.out.println("스케줄러입니다."); } fixedDelay 의 어노테이션 옵션의 1000은 ms단위이고 종료된 시간부터 이 시간이 지.. 2022. 5. 4. 빌드 관리도구 Maven / Gradle Spring 을 사용하게 되면 프로젝트 생성시 빌드 도구를 maven이나 gradle 중에 하나를 선택하게 된다. 나의 경험으로는 안드로이드 앱을 관리할때는 gradle을 주로 사용해왔고, 웹이나 스프링 등의 프로젝트를 관리할때는 maven을 주로 사용해왔다. 어떤걸 써야한다의 정답도 없고 뭐가 더 많이쓰이니 미래를 위해서 어떤걸 써야 도움이 된다의 그런 것도 없지만 사람마다, 기업마다, 프로젝트마다 maven과 gradle을 사용하는데 둘의 차이를 작성해보려고 포스팅을 작성하게 되었다. 우선 앞서 빌드 관리를 한다는 것에 대한 정의를 알아보도록 할것이다. 빌드 관리 도구 우리가 프로젝트에서 작성한 java 코드와 프로젝트 내에 필요한 기타 파일들을 WAS, JVM등에서 인식을 할수 있도록 패키징 하는 .. 2022. 5. 1. 스프링부트 동작 원리 스프링부트에 대한 설명은 아래 참고 사이트를 확인해보도록 한다. 이번 포스팅에서는 전체적인 설명보다는 스프링부트에서 동작하는 과정에 대해서 기술해볼것이다. 일단 내장 톰캣을 갖는 스프링부트는 jar파일로 배포를 하여 톰캣으로 실행할수가 있다. 서블릿컨테이너를 통해서요청을 받고 url 주소를 받으면 먼저 frontController 패턴으로 넘어간다. 이 패턴에서는 해당 요청에 알맞는 응답이 있는 코드로 값을 넘겨준다. 요청에 의한 값이 2번바뀌게 되는데 이때 요청한 값을 유지하기 위해서는 requestDispatcher를 사용하게 된다. requestDispatcher를 사용하여 요청과 응답을 그대로 유지 시키고 dispatcher로 인해서 생긴 수많은 객체들은 ApplicationContext에서 관리.. 2022. 4. 30. 이전 1 ··· 36 37 38 39 40 41 42 ··· 44 다음 반응형