Spring/Spring boot
-
[31] 스프링 시큐리티Spring/Spring boot 2020. 9. 10. 09:04
예제코드: github.com/camel-master/SpringSecurityExample.git 1. 스프링 시큐리티의 정의와 적용을 위한 기본 설정 스프링 시큐리티(Spring Security)란 스프링 시큐리티는 사용자의 필요에 따라 정의하여 사용할 수 있는 인증과 접근 제어를 위한 프레임워크로 인증과 권한 부여를 모두 제공하는데 초점을 맞추고 있습니다. 스프링 시큐리티의 강점은 사용자의 요구사항을 충족시키기 위한 확장성을 제공하는 것입니다. 스프링 부트에서 스프링 시큐리티를 사용의 예 루트 페이지와 hello 페이지는 누구나 접속할 수 있고 my 페이지는 로그인 처리가 되어야 접속할 수 있는 예제를 작성하여 어떻게 스프링 부트에서 스프링 시큐리티를 사용할 수 있는지 살펴보도록 하겠습니다. 먼저 ..
-
[30] 스프링 데이터: NoSQL - Neo4jSpring/Spring boot 2020. 9. 8. 08:58
Neo4j는 node 간의 연관관계(친구의 친구의 친구를 조회하는 등과 같은 작업)를 표현하는 데 있어서 풍부한 기능을 지원하는 graph DB입니다. spring boot에서 Neo4j를 사용하기 위한 의존성을 추가하기 위해 pom.xml에 다음의 내용을 추가합니다. ... org.springframework.boot spring-boot-starter-data-neo4j ... Neo4j는 하위 호환성이 떨어집니다. 과거 버전에서 지원되던 class가 없어진 것들이 많습니다. 기존에 Neo4j 구버전을 사용하던 중이였다면 버전 변경 시 발생할 수 있는 영향을 고려하여 변경해야 합니다. docker에서 Neo4j 컨테이너를 생성함과 동시에 실행해줍니다. docker run -p 7474:7474 -p ..
-
[29]스프링데이터: NoSQL - MongoDBSpring/Spring boot 2020. 9. 7. 10:11
MongoDB는 NoSQL의 일종으로 JSON 기반의 document database이기 때문에 schema가 없습니다. (성숙한 NoSQL은 클러스터를 만들기 쉽습니다.) Spring boot에서 MongoDB를 사용하기 위해서는 관련된 의존성을 추가해야 합니다. 의존성 추가를 위해 pom.xml에 다음 내용을 추가해 줍니다. ... org.springframework.boot spring-boot-starter-data-mongodb ... { Account account1 = new Account(); account1.setEmail("dave@gmail.com"); account1.setUsername("Dave Kim"); //1.MongoTemplate를 사용하여 data insert mong..
-
[28] 스프링데이터: NoSQL - RedisSpring/Spring boot 2020. 9. 5. 08:29
REmote DIctionary Server는 속도가 빠른 오픈소스 in-memory key, value 데이터 구조 스토어입니다. REDIS를 사용하기 위해 spring boot project에 추가해야 할 의존성은 다음과 같습니다. ... org.springframework.boot spring-boot-starter-data-redis ... docker에 redis 이미지를 올립니다. (redis에서 사용하는 기본 port 번호는 6379입니다.) terminal에서 다음과 같은 docker 명령어를 입력하여 redis의 이미지를 docker에 올릴 수 있습니다. docker run -p 6379:6379 --name redis_boot -d redis 이제 redis를 실행하기 위해 termin..
-
[27] Spring Data : Database Migration Tool (FlyWay)Spring/Spring boot 2020. 7. 21. 11:51
FlyWay는 DB schema 또는 data 변경에 대한 SQL script file을 version control처럼 관리할 수 있는 Database Migration Tool 중 하나입니다. 예제는 이전 포스팅에서 작성한 것을 이어서 사용하시면 됩니다. pom.xml file에 FlyWay를 사용하기 위한 의존성을 추가해 줍니다. ... ... org.flywaydb flyway-core ... ... 이전 예제 실행 때 생성된 relation을 모두 삭제해 주세요. (docker container를 삭제 후 새롭게 생성하여 실행하거나 drop table 해주시면 됩니다.) (참고) docker는 container가 사라지면 data도 같이 없어집니다. 따라서 localhost의 특정 directo..
-
[26] Spring Data : Initialization of DatabaseSpring/Spring boot 2020. 7. 17. 08:55
[JPA를 사용한 database 초기화] 예제는 이전 포스팅에서 작성한 것을 이어서 사용하시면 됩니다. JPA에는 DDL생성 기능이 있습니다. 우선 test code를 돌려서 어떤 DDL이 실행되는지 실행창을 통해 확인합니다. 기존에 users table이 있으면 drop하고 새롭게 users table을 생성하도록 되어있군요. 하지만 application을 실행해보면 test code 실행 때와 같은 DDL이 실행되지 않습니다. 실제로 terminal이나 DB관리 tool에서 table이 있는지 확인해보면 역시 어떤 테이블도 생성되지 않은 상태입니다. 그 이유는 test code 실행시에는 JPA에서 DDL을 생성하기 위한 property가 자동으로 제공되지만 application 실행 시에는 DDL..
-
[25] Spring Data : Spring Data - JPA 연동Spring/Spring boot 2020. 7. 15. 08:53
[Spring Data JPA의 사용의 기본] 1. pom.xml file에 org.springframework.boot:spring-boot-starter-data-jpa 의존성을 추가해줍니다. ... ... org.springframework.boot spring-boot-starter-data-jpa ... ... 2. 본 Post에서 db는 docker를 통한 postgresql을 사용합니다. (postgresql 관련 포스트) docker를 통해 postgresql을 먼저 실행해주세요. postgresql을 사용하기 위한 의존성을 pom.xml에 추가해줍니다. ... ... org.postgresql postgresql ... ... application.properties file에 sprin..
-
[24] Spring Data : ORM, JPA, Spring-Data-JPA 개요Spring/Spring boot 2020. 7. 13. 15:53
[Object Relational Mapping] Object Relational Mapping (ORM)은 객체와 DB table을 mapping 할 때 발생하는 다음 표와 같은 개념적 불일치를 해결하기 위한 solution을 제공하는 framework입니다. 구분 Class RDB Data Type Object, primitive type, reference type... Integer, Char... 상속(Inheritance) 개념 있음 없음 Identity hash code, equals method() primary key [Java Persistence API] Java Persistence API는 ORM 구현체(Hibernate, Eclipse Link ...)를 사용할 수 있도록 제공되..