일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 디자인패턴 #싱글톤
- 톰캣
- spring
- Spring Framework
- autocomplete
- LiveTemplate
- Mockito #Reflection #Sigleton #Test #JUnit
- 외장톰캣
- tomcat
- Today
- Total
목록Develop/Spring Boot (35)
자라선

blog.naver.com/tony950620/221679572008 [Mybatis] Mapper Interface 예전에 Spring boot로 챗봇 서버를 만들었을때 잠깐 사용했던 dao의 클래스가 필요없이 인터페이스만으로 ... blog.naver.com 예전에 Spring boot로 챗봇 서버를 만들었을때 잠깐 사용했던 dao의 클래스가 필요없이 인터페이스만으로 Mybatis가 자동적으로 daoImpl를 생성해주었었다. 그때 너무 편해서 나중에 꼭 써먹어야지 했다가 이제야 작성한다. 내가 사용한 JDBC, Mybatis, Mybatis-spring 버전 org.mariadb.jdbc mariadb-java-client 1.5.9 org.mybatis mybatis 3.4.6 org.mybat..
스프링 부트의 상태를 실시간으로 확인할 수 있는 모니터링 의존성 라이브러리 cpu, ram, disk 와 같은 컴퓨터 리소스나 사용되는 bean들의 리스트, 또는classloader에 등록된 클래스 개수 최근 100개 의 Log 나 shutdown 등등 여러가지를 확인할 수 있다.
스프링 부트는 Rest 요청을 보낼수 있도록 클라이언트 라이브러리를 제공함 테스트 용 RestController 하나와 Handler 2개 예제 생성 import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class SampleController { @GetMapping("/hello") public String hello() throws InterruptedException { Thread.sleep(5000l); return "hello"; } @GetMapping("/world") public St..
스프링 부트 시큐리티는 스프링 부트에 적용되는 인증 라이브러리로 여러가지 종류가 있다. · 웹 시큐리티 · 메소드 시큐리티 · 다양한 인증 방법 지원 · LDAP, 폼 인증, Basic 인증, Oauth 등… 적용방식 스프링 부트 시큐리티는 아주 간편하게 사용 할 수 있도록 제공도 해주는데 의존성 라이브러리에 등록만 해줘도 자동설정으로 웹 전체에 적용이 된다. org.springframework.boot spring-boot-starter-security 스프링 부트 시큐리티 의존성을 정의하면 자동설정이 적용되어 모든 페이지에 접근시 인증(로그인)이 필요하다. 인증하지 않고 요청시 로그인 /login 페이지로 리다이렉트 한다. 이떄 로그인 페이지의 로그인 정보는 기본은 user / 이다. 3xx 의 3으..
Neo4j 는 노드간의 영관 관계를 영속화하는데 유리한 그래프 데이터베이스 관계형 데이터베이스보다는 조회가 빠르다는 장점이 있음 Neo4j는 하위호환성이 좋지 않다고 함. # docker 컨테이너 생성 docker run -p 7474:7474 -p 7687:7687 -d --name noe4j_boot neo4j http://localhost:7474/browser 기본 계정은 neo4j / neo4j 의존성 추가 org.springframework.boot spring-boot-starter-data-neo4j VO객체를 만듦 @NodeEntity public class Account { @Id @GeneratedValue private Long id; private String username; p..
MongoDB 는 JSON 기반의 document Database # docker 컨테이너 생성 docker run -p 27017:27017 --name mongo_boot -d mongo # 컨테이너 접속 docker exec -i -t mongo_boot bash # 몽고DB 접속 mongo db use test test.accounts.find({}) { Account account = new Account(); account.setUsername("kong"); mongoTemplate.insert(account); System.out.println("finished"); }; } 다른 JPA와 동일하게 몽고DB도 repository 인터페이스를 정의 후 insert로 객체 넣어주어 사용가능 i..
docker run -p 6379:6379 --name redis_boot -d redis docker exec -i -t redis_boot redis-cli keys * get {key} hgetall {key} hget {key} {column} nosql Redis에 연결 org.springframework.boot spring-boot-starter-data-redis @RedisHash의 이름을 정의 한 VO @RedisHash("accounts") public class Account { @Id private String id; CrudRepository 는 spring-data의 최상위 인터페이스 중 하나 import org.springframework.data.repository.Crud..
개발할때에 DB 환경을 보다 원활하게 할수 있도록 어플리케이션 시작할때 DB를 초기화 전략을 셋팅 할 수 있다. DB 초기화 전략 설정 spring.jpa.hibernate.ddl-auto=update spring.jpa.generate-ddl=false spring.jpa.show-sql=true hibernate.ddl-auto 의 값 스프링은 EntityScan을 사용해 @Entity 어노테이션이 정의된 클래스를 찾고 설정에 맞춰 다음을 실행한다. 1. create = SessionFactory가 시작될때 drop 후 테이블을 생성한다. 2. create-drop = create 작업 후 SessionFactory가 종료될 때 drop를 한다.(인 메모리의 기본값) 3. update : 변경된 스키..
스프링 부트 JPA 연동 스프링 부트는 별도의 datasource 설정을 셋팅하지 않는다면 기본으로 H2를 인메모리 로 띄어준다. 설정 셋팅하면 셋팅한 대로 DB 커넥션 따라감 (물론 기본 H2도 의존성이 있어야함) @Entity 로 vo를 매핑 @Id 식별자 등록 @GeneratedValue 로 auto Increment import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.util.Objects; @Entity public class Account { @Id @GeneratedValue private Long id; private String user..
ORM Object Relational Mapping 객체와 관계를 매핑하기위해 개념적인 불일치를 해결하는 것에 대한 솔루션을 제공하는 프레임워크 자바와 DB를 비교하자면 자바의 객체는 상속, 프로퍼티, 클래스 등 크기가 다양하지만 그에 반해 DB는 스키마와 필드로만 이루어져 있다. 이러한 서로 불일치한 다양한 크기를 매핑을 시킬지.. DB에서는 identity 식별자의 구분이 PK, FK등 명확하지만 자바의 객체는 어떠한 프로퍼티가 식별자인지 정의할 수가 없다. 이렇게 서로 다른 불일치성들을 매핑시키기 위한 솔루션이 담긴 프레임워크이다. JPA Java Persistence API ORM을 근간으로 JAVA EE의 표준 스펙을 정의한 API 대부분의 JPA는 하이버네이트를 기본으로 개발되어있다. JPA..