[ Development ]23 [GCP/MySQL] 구글 클라우드 플랫폼에서 mysql 사용하기 1. GCP 프로젝트의 브라우저 창에서 MySQL 실행하기명령어에 다음과 같이 입력하면 mysql이 실행된다mysql -u root -pmysql 클라이언트 실행하는 명령어로 -u root 를 통해서 서버에 접속할 사용자 이름을 root로 지정하고-p 옵션을 사용해 비밀번호를 입력하도록 한다 명령어를 실행하면 mysql 이 실행되며 비밀번호를 입력하라고 뜨고비밀번호를 바르게 입력하면 바로 실행된다 2. MySQL 에서 데이터베이스 열기mysql> USE {database name};입력한 데이터베이스로 들어갈 수 있다 3. MySQL 에서 데이터베이스의 모든 테이블 조회하기mysql> SHOW TABLES;해당 명령어를 실행하면 데이터베이스가 가지고 있는 모든 테이블의 목록을 볼 수 있다출력 결과는 .. 2024. 6. 6. [Spring/Swagger] SpringBoot의 Spring Security 환경에서 Swagger 적용시 로그인 화면 임시 해결 방법 ( 결론부터 말하자면 로그인 화면의 유저 네임과 패스워드를 모를 때 사용하는 방법 ) 1. WebConfig 파일 수정으로 해결할 수 없는 경우와 그 이유 스프링부트에서 Spring Security를 적용한 프로젝트라면 Swagger를 사용할 때 로그인 화면을 만날 가능성이 매우 높다 해결 방법을 검색하면 build.gradle 에 springfox 관련 dependency 코드를 추가하고 WebConfig 라는 자바 Config 클래스를 생성하는 코드가 나온다 검색했을 때 나오는 대부분의 WebConfig 코드는 WebMvcConfigurer를 상속 받는 클래스인데 WebMvcConfigurer 의 WebMvcConfigurerAdapter 는 spring 5 버전부터 지원되지 않기 때문에 해당 코드들.. 2024. 2. 15. [Spring/Swagger] 스프링부트에서 Swagger 사용하기 :: springdoc-openapi-ui 라이브러리 스프링부트에서 Swagger를 사용하는 방법은 여러 가지가 있다 (일단 swagger를 모르는 분들을 위해 간단하게 설명하자면 API Documentation & Design Tools for Teams 이다 API를 확인하고 정리하기 편하게 돕는 툴...!) 1. spring fox를 사용할 수 없는 SpringBoot.3.n.n 이전 프로젝트에서는 spring fox를 이용했었는데 이제 스프링 부트 이니셜라이저에서 2.nn 버전을 제공하지 않고 3.n.n 버전만 제공하게 되면서 spring fox를 사용할 수 없게 되었다 2. SpringBoot 3.n.n 이상 버전에서의 Swagger 도입 방법 = springdoc 검색해보면 대부분의 Swagger 도입 프로젝트 코드는 springfox를 이용하고.. 2024. 2. 15. [Spring 스프링 기본] 의존관계 자동 주입 다양한 의존 관계 주입 방법 중 지금까지 생성자 주입 방식을 사용했으며 수정자 setter를 주입하는 방법, 필드에 바로 주입하는 방법, 일반 메서드를 통해 주입하는 방법, 자동 주입 대상을 옵션으로 처리하는 방법이 있다. 생성자 주입 방식을 선택하는 이유는 프레임 워크에 의존하지 않고 순수 자바 언어의 특징을 살리기 위함이다 생성자 주입을 사용하는 것이 기본적이며 필수 값이 아닌 경우에는 setter 주입 방식을 옵션으로 부여하는 방식을 사용할 수 있다. 생성자 주입과 수정자 주입을 동시에 사용할 수 있으며 생성자 주입 방식을 추천하는 편이다. Lombok 라이브러리를 제공하면 코드를 비교적 간단하게 정리할 수 있으며 final 키워드가 있는 필드들만 모아 생성자를 자동으로 만들어주는 @Required.. 2023. 12. 26. [Spring 스프링 기본] 컴포넌트 스캔 컴포넌트 스캔(Component Scan) 설정 정보(AppConfig.class) 없이 자동으로 스프링 빈을 등록하는 컴포넌트 스캔 기능을 제공 스프링 빈 등록 ->직접 자바 코드로 등록하는 방법, 컴포넌트 스캔과 자동의존관계를 설정하는 @Autowired 사용 방법 @ComponentScan은 탐색 위치에 @Component가 붙은 모든 클래스를 스프링 빈으로 등록 기본적으로 빈 이름은 맨 앞글자를 소문자로 변경해서 사용하고 어노테이션 뒤에 ("문자열")을 사용해 직접 설정할 수도 있음 탐색범위(basePackages) 필요한 위치부터 탐색할 수 있도록 탐색 시작 위치를 지정할 수 있음 basePackages : 탐색 시작 위치 지정, 해당 패키지부터 하위까지 basePackagesClasses : .. 2023. 12. 5. [Spring 스프링 기본] 싱글톤 컨테이너 순수 의존성 주입 컨테이너 - 클라이언트 요청마다 생성하는 문제 - 메모리 낭비 객체 하나만 생성하고 공유하도록 설계하여 해결 = 싱글톤 패턴 싱글톤 패턴 -> 클래스의 인스턴스가 단 하나만 생성되도록 보장하는 디자인 패턴 -> private 접근지정자로 설정 - new 연산자를 활용한 (동적할당) 외부에서의 접근, 객체 인스턴스 추가 생성을 방어함 private 접근지정자로 선언되었으므로 getter 메서드를 통해서만 조회 가능하고 해당 메서드 호출하면 항상 같은 인스턴스를 반환함 싱글톤 패턴이 언제나 좋기만 한가? - 당연히 NO 구현하는 코드가 길어짐 클라이언트가 구체 클래스에 의존하게 되는데 DIP 위반, OCP 위반 내부 속성 변경 및 초기화 難 (어려울 난) Private 접근지정자로 인해 자.. 2023. 11. 28. 이전 1 2 3 4 다음 728x90