java
Spring 컨테이너 메타 정보 BeanDefinition
스프링 설정은 다양한 형식으로 어떻게 지원할까? 스프링은 kotlin코드 java코드 xml등등 여러가지 방식으로 설정 형식을 지원한다. 이는 BeanDefinition이라는 interface로 추상화 시켜 관리하기에 가능한 방식이다. 코드 구조 AnnotationConfigApplicationContext는 AnnotatedBeanDefinitionReader를 사용해서 appConfig.class를 읽고 BeanDefinition을 생성한다 GenericXmlApplicationContext는 XmlBeanDefinitionReader를 사용해서 AppConfig.xml 설정 정보를 읽고 BeanDefinition을 생성한다. BeanDefinition에 들어있는 메타정보 BeanClassName: ..
스프링 컨테이너 입문 (기본 설정 및 컨테이너 생성, 조회)
사용법 package study.config import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import study.user.application.service.UserAppService import study.user.application.service.impl.UserAppServiceImpl import study.user.domain.service.UserService import study.user.domain.service.impl.UserServiceImpl import study.user.infra.db.UserRepository import..
[Spring]application.yml에서 .env파일과 함께 환경변수 사용하기
일반적으로 javascript 영역에서는 .env파일로 환경변수를 관리하는게 일반화 되어있습니다. 자바 영역에서는 어떠한 방식으로 관리하는지 몰라 .env와 조합으로 application.yml을 작성해보려고 합니다. 1. .application.yml에서 환경변수 불러오기 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: ${DB_URL} username: ${DB_USERNAME} password: ${DB_PASSWORD} 정말 단순합니다 일반적인 yml과 같이 ${환경변수-키}를 사용하여 불러올 수 있습니다. 이제 .env로 환경변수를 주입하려고합니다. 2. .env 작성 DB_URL="jdbc:mysql://:/" DB_U..
[SPRING] spring boot에서 mysql 연동하기
백엔드 어플리케이션의 기초중 하나 MySQL과 연동하는 법을 살펴보겠습니다. 버전정보 id 'java' version '17' id 'org.springframework.boot' version '3.0.3' id 'io.spring.dependency-management' version '1.1.0' gradle 7.6 1. dependencies에 mysql-connector 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-conn..
[JAVA] JAVA 기초
JAVA의 회사 처음 개발한 선마이크로셋을 2009년에 오라클에서 인수하면서 현재 제공 회사는 oracle이다. JDK & JRE JDK(Java Development Kit) 자바 개발도구 JRE(Java Runtime Environment) 자바를 실행시키기 위해 필요한 컴파일된 자바 API(라이브러리라고 인지하면 될듯)와 자바 가상기계를 포함 JDK에 포함된 것들 javac: 자바 컴파일러 java: 자바 실행기 javadoc: 자바 소스로부터 HTML 형식의 API 도큐먼트 생성 jar: 자바 클래스 파일을 압축한 자바 아카이브파일(.jar)를 생성 및 관리 jmod: 자바의 모듈파일(.jmod)을 만들거나 모듈 파일의 내용 출력 jlink: 응용프로그램에 맞춘 맞춤형 JRE todtjd jdb:..
[자료구조] 자료구조란?!
자료구조란? 자료구조란 데이터에 효율적으로 접근하고 수정할 수 있도록 저장/조직/관리하는 방법이론이다. 자료구조,알고리즘,프로그래밍,이산수학 관계도 자료구조를 공부해야 하는 이유 효율적인 데이터 관리와 사용을 위해 자료구조와 알고리즘을 공부해야한다. 자료구조를 도구로 빗대어 표현을 많이 하는데 10keyless 키보드와 일반 키보드를 비교하면 좋을것 같다. 텐키리스 키보드 장점 - 마우스의 움직임이 자유로워진다. 단점 - 숫자칠때 불편하다 일반 키보드 장점 - 숫자칠때 편하다 단점 - 마우스 움직임이 상대적으로 불편해진다. 사람의 팔길이는 제한되기에 마우스와 키보드의 거리를 벌리더라도 사용가능한 영역은 제한되어있다. 마우스를 사용하는 게임을 할때는 텐키리스 키보드를 사용한다면 게임에 도움이되겠지만 키보..