분류 전체보기77 [spring] 스프링 어노테이션 및 메소드 정리 Java Annotation Detail @interface - 어노테이션 클래스에 선언 - 이 파일을 어노테이션 클래스로 선언 - 해당 클래스명을 가진 어노테이션이 생성되었다고 보면 됨! 1 2 3 4 @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface LoginUser{ } @Target - 어노테이션 클래스에 선언 - 이 어노테이션이 위치할 수 있는 곳을 결정한다 - ElementType.PARAMETER의 경우, 메소드의 파라미터로 선언된 객체에서만 사용가능 @Retention - 어노테이션 클래스에 선언 - 이 어노테이션이 어떤 시점까지 유지될 수 있는지 결정한다 - 값 미지정 시 default .. 2020. 5. 10. [spring] 스프링 부트에서 Spring Data JPA 사용하기 ORM Object Relational Mapping Object와 Relation을 맵핑할 때 발생하는 개념적 불일치에 대한 솔루션을 제공하는 프레임워크 객체지향 클래스는 primitive type / reference type의 멤버 필드와 메소드를 가질 수 있다. 객체는 담고 있는 필드, 메소드에 따라 크기가 다양하다. 객체는 hashCode(), equlas(), == 로 비교될 수 있다. Relational Database 테이블은 컬럼만 가질 수 있다. 테이블은 크기가 한정적이다. 예상될 수 있다. 레코드의 식별자는 id로 단순하다. 이렇게 많은 차이를 보이는 객체와 RDB를 ORM이 연결해준다. Spring Data JPA org.springframework.boot:spring-boot-s.. 2020. 5. 7. [spring] 스프링 부트에서 MySQL과 PostgreSQL 사용하기 DBCP DataBase Connection Pool DB Connection을 만드는 과정은 훨씬 복잡한데 내부 처리 해줌 커넥션을 미리 만들어놓고, 필요할 때 가져다 쓰는 방식 최소 유지 개수 / 유지 시간 / 타임아웃 시간 설정 등 어플리케이션의 성능에 많은 영향을 줌 스프링 부트의 DBCP HikariCP (기본) Tomcat CP Commons DBCP2 DBCP 설정 변경하기 spring.datasource.hikari.* spring.datasource.tomcat.* spring.datasource.dbcp2.* 다른 자동 설정과 유사하게 HikariConfig에 정의되어 있다. spring.datasource.hikari.maximum-pool-size 이와 유사하게 auto-commit.. 2020. 5. 6. [spring] 스프링 부트에서 JDBC와 In-memory DB 사용하기 의존성 추가 (gradle) implementation "org.springframework.boot:spring-boot-starter-jdbc" runtimeOnly "com.h2database:h2" 사용할 수 있는 In-memory DB의 종류 h2 HSQL Derby spring-jdbc의 자동설정 jdbc가 classpath에 존재하면 해당 빈을 등록하고 자동 설정 DataSource JdbcTemplate 아무런 DataSource 설정이 없으면, 스프링 부트는 자동으로 In-memory DB 사용 확인해보자! Runner 클래스 생성 DataSource 객체를 @Autowired로 주입받기 @Override run 구현 DataSource 객체에서 JDBC Connection 객체 가져오기.. 2020. 5. 5. [spring] 스프링 웹 MVC의 CORS 지원 CORS? Cross-Origin Resource Sharing SOP(Single-Origin Policy)를 우회하기 위한 기술 SOP는 같은 오리진에만 요청을 보낼 수 있는 정책 CORS는 다른 오리진끼리 리소스를 공유할 수 있는 방법을 제공하는 표준 아무 설정 없으면 SOP 적용 Origin? URI Schema + HostName + Port URI Schema = http / https HostName = localhost / kkambi.me / comic.naver.com의 comic Port = 8080 / 8090 / 80 / 443 SOP가 적용되어 있는 경우 localhost:80에서 구동되는 웹 어플리케이션이, localhost:8080에서 구동되는 REST API를 호출할 수 없.. 2020. 5. 3. 이전 1 ··· 3 4 5 6 7 8 9 ··· 16 다음