본문 바로가기
반응형

IT/Java318

@ColumnDefalut Annotation 이전 포스팅에서 lombok 에서 제공하는 Builder.Default 에 대해서 다룬적이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 이번 포스팅에서는 @ColumnDefalut annotation이다. Builder.Default 와 비슷하게 사용이 되고, 사용위치는 entity에서 사용이된다. entity 는 ORM 에서 사용되고 자세한 내용은 참고 포스팅 참고 바란다. @ColumnDefault("원하는값") 처럼 사용한다. @ColumnDefault("test") private String id; 이렇게 해주면 entity 를 DDL 시킬 경우 CREATE TABLE tablename( ... ... ... id varchar(...) default "test" not null ..... 2023. 12. 27.
@Builder.Default [lombok] 자바에서 Dto 생성시 Builder를 자주 사용한다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 이번엔 이 builder를 사용하게 될때 값을 default로 셋팅할수 있는 annotation을 가져왔다. 만약 코드에서 TestBuilderInDto newdto = TestBuilderInDto.builder().id("dtoid").build(); 이렇게 되어있고, TestBuilderInDto 가 @Data @Builder @AllArgsConstructor public class TestBuilderInDto { private String id; private String name; } 이렇게 되어있다면 newdto 는 id 값만 설정이 되어서 객체가 생성이 된다. name에 default로.. 2023. 12. 24.
marshalling / unmarshalling (직렬화와의 차이 feat. 코드베이스) marshalling의 단어 뜻은 정렬시키기, 순위 결정 이라는 뜻을 갖고 있다. 컴퓨터 에서 말하는 마샬링은 한 객체의 메모리에서 표현방식을 저장 또는 전송에 적합한 다른 데이터 형식으로 변환하는 과정 이라고 한다. https://ko.wikipedia.org/wiki/%EB%A7%88%EC%83%AC%EB%A7%81_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99) 마샬링 (컴퓨터 과학) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 컴퓨터 과학에서 마셜링(marshalling, l을 하나만 사용하여 marshaling이라고도 표기)이란 한 객체의 메모리에서 표현방식을 저장 또는 전송에 적합한 다른 데이터 형 ko.wikipedia.org .. 2023. 12. 20.
JSONObject 에 대해서 자바에서 String 을 json으로 변환을 하기 위해서는 JsonObject 를 알아야한다. 사용을 위해서 기본적인 dependency와 import는 아래와 같다. cohttp://m.googlecode.json-simple json-simple 1.1.1 import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; 먼저 코드를 살펴보면 public static void Test() throws ParseException{ String jsonstr = "{\"id\":\"test\", " + "\"pw\":\"test\"" + "}"; JSONParser jsonParser = new JSONParser(); Object .. 2023. 12. 19.
Java 에서 Redis 사용하기 (@RedisHash , ValueOperations) 레디스에 대한 내용과 셋팅은 아래 참고 포스팅 참고 바란다. Java 에서 Redis 를 사용하기 위해서는 2가지 방법이 있다. (물론 이 밖에도 방법은 있다.) @RedisHash 사용 일반 ORM 프로젝트에서 Entity 를 사용하듯이 @Entity 대신에 @Getter @RedisHash( timeToLive = 30) @NoArgsConstructor public class Person { ...이하 생략 이렇게 사용이 가능하다. 그럼 @Id 기준으로 key 값이 설정되어 redis를 사용할수 있다. 그리고 @configuration 등 으로 Bean에 @EnableRedisRepository 를 설정해줘야 Repository 를 Redis로 읽을수 있다. 참고로 pom.xml 의존성은 아래와 같.. 2023. 12. 6.
java.util.Date / java.sql.Date 차이 자바에서 항상 Date를 사용할 경우 import 에서 잠깐 고민이 되고 머뭇거릴때가 있다. 이유는 제목에서 처럼 Date 가 두가지가 존재하기 때문이다. 의미상이라면 어떤 클래스를 사용하든 상관없지만, 둘의 차이는 엄연히 존재한다. java.util.Date 유닉스 시간(1970년 1월 1일 00:00:00 GMT)으로 부터 지정된 시간(milliseconds)을 년/월/일/시/분/초의 형태로 갖고 있다. 자바 11기준으로는 아래와 같이 생성자들이 존재한다. Date() Date(long date) Date(int year, int month, int date) Date(int year, int month, int date, int hrs, int min) Date(int year, int month,.. 2023. 12. 5.
[AOP] JoinPoint / ProceedingJoinPoint 차이 이전 포스팅에서 AOP에 대해 다룬 포스팅도 있고, pointcut에 대해 다룬 글들이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 예제에서는 대부분 JoinPoint 로만 설명을 했으나 ProceedingJoinPoint 에 대해서 잠시 다루려고 한다. JoinPoint JoinPoint 는 테스트 코드로도 많이 다뤘었고 메서드에 대해서는 아래와 같다. (인터페이스는 호출되는 대상 객체, 메서드, 전달 파라미터 목록에 접근 할 수 있는 메소드 제공) 메서드 접근하는 영역 Signature getSignature() 호출되는 메서드에 대한 정보 Object getTarget() 대상 객체 Object[] getArgs() 파라미터 목록 Signature에 대해서도 아래와 같다. (인터페이스는 .. 2023. 12. 2.
Boolean, boolean 차이 이전 포스팅에서 비슷한 내용으로 int 와 long 에 대해서도 다룬적이 있었다. 자세한 내용은 참고 포스팅 참고 바란다. 이번 포스팅은 boolean 형에 대해서 다뤄볼 것이다. 결론 먼저 말하면 boolean 과 Boolean 은 결과는 같으나, dto에서 값을 가져오는 방식이 다르다. boolean 의 경우엔 public boolean isStatus() { return isStatus; } 으로 가져올수 있고 Boolean 의 경우엔 우리가 아는 getter 방식인 public boolean getStatus() { return isStatus; } 으로 가져올 수 있다. 참고 포스팅 https://thenicesj.tistory.com/77 Long,long / int,Integer 차이 자료형.. 2023. 11. 19.
추가 설정 파일 사용하기(properties / yml) 이전 포스팅에서 properties / yml 에 대해서 다룬적이 있다. 자세한 내용은 아래 참고포스팅 참고 바란다. 기본적으로 spring 을 생성하면 하나의 파일이 존재하는데 환경에 따라서 다르게 참고포스팅처럼 설정할순 있지만 메인 yml은 관리자가 관리하며 다른 개발자들에게 열어주지 못하는데, 추가로 설정을 넣어야 할 경우 필요한 방법이다. application.yml 과 동일한 위치에 자유롭게 이름을 선택하여 abc.yml 파일을 생성한다. 그리고 application.yml 메인에서 abc 를 import 만 해주면 된다. spring: config: import: abc.yml properties도 동일하게 해주면 된다. spring.config.import=abc.properties 참고 .. 2023. 11. 17.
반응형