반응형

분류 전체보기 201

[EC2] mysql 설치시 conflicting requests 발생 해결방법

0. 문제 상황 EC2: Amazon Linux 2023 환경에서 mysql을 설치하려고 하니 에러문구 Error: Problem: conflicting requests 이라는 문구와 함께 아래처럼 에러가 발생했습니다. 1. 해결방법 지원하지 않는 버전의 설치를 진행했기 때문입니다. 아래의 명령어로 다시 설치 진행해보시면 정상 진행됩니다. 해결방법 sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm sudo dnf install mysql-community-server

Back-end 2024.01.29

[Spring] Access-Control-Allow-Origin header is present 해결방법

"Access-Control-Allow-Origin" 헤더가 브라우저에서 발생하는 보안 정책 중 하나입니다. 이 헤더는 웹 페이지가 다른 도메인에서 리소스를 요청할 때 CORS(Cross-Origin Resource Sharing) 정책을 적용하도록 브라우저에 지시합니다. 로컬 테스트 서버에서 이 에러가 발생한다면, 보통은 서버 측에서 CORS를 허용하지 않아서 발생합니다. 해결하기 위해서는 서버에서 CORS 정책을 설정해야 합니다. Spring Boot에서는 아래와 같은 방법들로 해결할 수 있습니다. Spring Boot에서 CORS를 허용하려면 다음과 같이 설정할 수 있습니다. application.yml 설정 @CrossOrigin 애노테이션 사용 1. application 설정 예를 들어, 모든 ..

Back-end/Spring 2024.01.27

[Spring] 시큐리티 Security Form Login 인증 기본 설정 (스프링 3.0 버전 이상, 시큐리티 6.0 버전 이상, WebSecurityConfigurerAdapter 대체)

websecurityconfigureradapter 대체되는 방식으로 form login을 사용하는 기본 예제를 알려드립니다. 스프링 3.0 이상 버전은 스프링 시큐리티 6.0 버전 이상만 사용가능하게 되면서, 기존의 방식으로는 사용불가능합니다. 스프링 3.0 버전 이상부터는 websecurityconfigureradapter deprecated 됨에 따라서, @Bean을 사용하고 SecurityFilterChain를 리턴하는 함수로 사용해야합니다. 해당 함수는 아래 예제들에서 자세히 설명드리겠습니다. 1. Form Login 인증 아래 예제를 통해서 어떻게 동작하는지 살펴보도록 하겠습니다. 1-1. formLogin 기본적인 내용 입력하기 @Bean public SecurityFilterChain fi..

Back-end/Spring 2024.01.10

[Spring] 시큐리티 Security 의존성 추가 방법

1. 의존성 추가 1-1. build.gradle에 의존성 추가 dependencies{ implementation 'org.springframework.boot:spring-boot-starter-security' } 가장 먼저 해야할 것은 의존성을 추가하는 것입니다. 의존성을 추가하고, 스프링을 실행하게 되면 아래와 같이 패스워드를 제공해주는 로그를 확인 할 수 있습니다. 1-2. 정상적으로 의존 됐는지 확인하는 방법 그리고 크롬으로 localhost:8080/ 을 접속해보면 아래와 같이 로그인 창으로 바로 접속되는 것을 확인 할 수 있습니다. id는 user, password는 위에서 공유된 내용을 입력하면 본인이 만든 api를 사용할 수 있습니다. 2. 사용자 정의 보안 기능 구현 2-1. app..

Back-end/Spring 2024.01.10

[Spring] mybatis에서 카멜케이스로 자동 변환 옵션(application.yml)

1 사용해야하는 이유 보통 디비에서는 스네이크 표기법 credit_limit 자바에서는 카멜케이스 표기법 creditLimit 이런식으로 자주 사용하게 되는데 Mybatis에서 아무런 설정을 하지 않으면, 아래 처럼 select 문에 alias를 사용해서 직접 매핑해줘야한다. select credit_limit as 'creaditLimit' from customer 하지만, 몇개 변수라면 상관없지만 무수히 많은 변수가 존재한다면 정말 귀찮은 일이다. 2 . 설정 방법 application.yml에서 옵션으로 쉽게 변경가능하다. mybatis: configuration: map-underscore-to-camel-case: true #db는 스네이트 표기법, dto는 카멜케이스 사용 시 다른 블로그에서는..

Back-end/Spring 2024.01.08

[mySql] 공식 샘플 데이터 (Example Database)

0. 필요성 안녕하세요. 사이드 프로젝트를 진행하다가 보면, 데이터들이 많이 필요합니다. 저는 주로 mySql로 사이드 프로젝트를 진행하는데요. 백엔드 사이드 프로젝트에서 데이터를 만드는 일이 쉬운일이 아닙니다. 엔터티간의 관계도 생각해야하고, 테이블을 생성하게 되면 데이터도 다 넣어야하고... 그럴 때는 mySql 공식 홈페이지에서 제공하는 Sample 데이터를 사용하면 매우 용이합니다. 1. mySql 샘플 데이터 링크 https://dev.mysql.com/doc/index-other.html MySQL :: Other MySQL Documentation Other MySQL Documentation This page provides additional documentation. There's ev..

SQL 2024.01.08

[Error] No serializer found for class 해결방법

0. 현상 cohttp://m.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class 아래 캡쳐로 내가 responsebody로 리턴할 클래스가 없다는 표현이 나오는 에러가 발생했다. 1. 원인 - Controller에서 @ResponseBody를 사용해서 json으로 리턴하는 방식으로 구현했는데, @ResponseBody에서 객체를 json으로 변환하려면 객체의 클래스에 Getter가 존재해야한다. - Setter만 필요해 보였던 클래스라서 Getter를 따로 입력하지 않았는데, 그게 문제가 된 것 같다. 2. 해결방법 2-1. @Getter 추가 - 일반적인 방법은 Getter를 추가하면 됩니다. ..

Back-end/Spring 2024.01.05

[IntelliJ] Database에서 DTO/VO 자동 생성 방법

여러가지 플러그인이 있겠지만, 알고보니 인테리제이에서 기본으로 제공해주는 generater가 있었다. 0. 나의 피시 환경 상태 - Mysql 설치완료 - 인텔리제이에서 db 연결 완료된 상태 먼저 인텔리제이에서 Database가 연결이 되어있는 상태여야한다. 혹시 DB를 연결하지 않았더라면, 인텔리제이 화면 우측 상단에서 데이터 베이스를 연결하면된다. 아래 캡쳐 사진에서 + 버튼을 눌러서 연결하도록 하자 (기본적으로 본인이 사용하는 sql은 설치가 되어있어야 한다.) 1. DB -> DTO 파일 뽑아내기 1-1. 원하는 테이블의 우측을 클릭해서, Tools -> Scripted Extesions -> Generate POJOs.groovy 클릭 - 저장할 위치를 지정하라는 창이 뜨면, 자신이 원하는 위..

Back-end/Spring 2024.01.04

[Error] Could not find mysql:mysql-connector-java:.

Could not find mysql:mysql-connector-java:. 에러 발생 시, 해결방법을 공유드립니다. 0. 현상 아래와 같이 에러가 발생합니다. gradle에서 dependencies를 잘못 입력했다는 것을 직감할 수 있습니다. 1. 해결방법 mysql 버전에 따라서 implementation을 다르게 입력해야합니다. MySQL 8.0.31 이전 버전 implementation 'mysql:mysql-connector-java' MySQL 8.0.31 이후 버전 implementation 'com.mysql:mysql-connector-j' 자신의 버전에 맞게 mysql connector를 입력하시면 됩니다.

Back-end/Spring 2024.01.04

[Error] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

0. 문제 현상 위처럼 에러가 발생한 경우, 해결하는 과정을 작성해봤습니다. 아마 이 문제에 직면한 분들은 모두 새롭게 스프링을 설정하는 상황이라서 발생할 겁니다. application.yml 에 datasource 정보를 입력하지 않아서 발생하는 문제입니다. 1. 해결 방법 application.yml 파일로 들어갑니다. (위치는 resource에 존재합니다.) 아래와 같이 datasource를 입력합니다. (본인의 db정보에 맡게 입력하세요) application.yml spring: datasource: url: jdbc:mysql://localhost:3306 username: root password: 어라? 그렇게 해도 에러가 발생하네요? (아래 에러가 발생하지 않으면, 다음 단계를 진행하실 ..

Back-end/Spring 2024.01.04
반응형