본문 바로가기

STUDY/Spring

(79)
Spring Boot | Spring Security OAuth2 (3) JDBC방식으로 바꾸기 이전까지 inMemory방식이었지만, 이제 JDBC방식으로 바꿔본다.. 0. DB설정 및 테이블 생성 application.yml혹은 application.properties파일에서 설정해주기! Spring Boot | MyBatis 연동 저번엔 Spring Framwork에 연동을 해봤고.. 이번엔 부트에... 해보자... 아자아자... 1. 라이브러리 추가 원하는 버전으로다가 넣어주십쇼 // Maven org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 /.. gaemi606.tistory.com 아래 링크의 sql을 참고해서 만들면 되는데, 일단 oauth_client_details 테이블(클라이언트 정보가 담길 테이블)만 생성해주었다. sprin..
Spring Boot | Spring Security OAuth2 (2) grant_type password, postman / Curl로 테스트 grantType을 다르게(password) 해서 토큰을 받아보자 1. SecurityConfig 수정 @Bean @Override public AuthenticationManager authenticationManagerBean() throws Exception { return super.authenticationManagerBean(); }2. Oauth2AuthorizationConfig 수정 endpoints에 authenticationManager설정해주고, authorizedGrantTypes에 "password"항목을 추가했다. @AllArgsConstructor @Configuration @EnableAuthorizationServer // OAuth2 권한 서버 public class O..
Spring Boot | Spring Security OAuth2 (1) 설정 및 테스트 (inMemory) 프로젝트 기본 사항 Java 11 Spring Boot 2.4.3 Gradle 1. build.gradle spring security와 oauth2를 등록해줬다. spring-boot-:spring-boot-starter-oauth2-resource-server를 사용하고 싶었으나 포기.. Spring WebFlux방식을 사용한다고 한다.. jaxb관련 라이브러리들은 Java9버전? 이상에서 발생하는 오류 때문에 넣어주었다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' // Sprint Security implementation 'org.springframework.boot:spri..
Spring Boot | Swagger2 사용 (springfox-boot-starter:3.0.0) 1. 의존성 추가 Gradle사용할 경우 dependencies { implementation "io.springfox:springfox-boot-starter:3.0.0" } Maven사용할 경우 io.springfox springfox-boot-starter 3.0.0 2. 설정 @EnableSwagger2어노테이션 사용하지 않아도 됨 @Configuration public class SpringFoxConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelector..
Spring Boot | MyBatis 연동 저번엔 Spring Framwork에 연동을 해봤고.. 이번엔 부트에... 해보자... 아자아자... 1. 라이브러리 추가 원하는 버전으로다가 넣어주십쇼 // Maven org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 // Gradle dependencies { compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4") } 2. MyBatis 사용 설정 yaml에서 설정한 dataSource를 등록.. setMapperLocations는 말그대로 매퍼 위치 지정 setTypeAliasePackage는 패키지 좌라라락 적는 것을 생략할 수 있게 해준다. @Configuration publ..
Spring Boot | REST API 만들기 ( + IntelliJ Lombok추가) REST API 맨 처음에 프로젝트 생성하는 건 안 해봐서 해보기로 한다! 0. 인텔리제이에 롬복 사용 설정 File -> Settings -> Plugins -> Lombok검색 후 install 1. 스프링 부트 프로젝트 생성 및 설정 Spring Boot | 프로젝트 생성, 실행하기 Spring Boot | 프로젝트 생성, 실행하기 1. 스프링 부트 스타터 사이트 이용 - start.spring.io/ spring initializr - 스프링 부트 프로젝트를 만들어주는 스프링에서 운영하는 사이트 Project: Gradle 선택 (과거에는 Maven을 많이 사용했지만, 요즘은 G. gaemi606.tistory.com 뭐 똑같다.. 그런데 이번엔 Maven(pom.xml)로 만들어봤음.. grad..
Spring Boot | S3 Pre-Signed URL 생성 📌S3 연동 Spring Boot | S3 파일 업로드 1. gradle 설정 프로젝트 생성 후 AWS 의존성을 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-.. gaemi606.tistory.com Pre-SignedURL? S3 버킷에 업로드된 컨텐츠는 기본적으로 비공개인데, 미리 서명된 URL을 사용하게 되면 설정해둔 시간동안 URL을 통해 모두 접근이 가능하도록 할 수 있다. ✔️fileName은 key와 동일 ✔️expire는 2분으로 설정해 두었음 밀리세컨단위임 ✔️am..
Spring Boot | Kafka를 이용한 채팅 (3) 메시지 주고받기 + ReactJS 1. Controller작성 ✔️kafkaTemplate.send메서드를 통해 메시지가 전송됨 @Slf4j @CrossOrigin @RestController @RequestMapping(value = "/kafka") public class ChatController { @Autowired private KafkaTemplate kafkaTemplate; @PostMapping(value = "/publish") public void sendMessage(@RequestBody Message message) { log.info("Produce message : " + message.toString()); message.setTimestamp(LocalDateTime.now().toString()); t..