- ORM
- 스프링
- Docker
- 1차원 배열
- Django
- AWS
- SSL
- java
- DI
- PYTHON
- sql
- jpa
- 프로그래머스
- spring boot
- mysql
- spring
- 자바
- 데이터베이스
- hibernate
- static
- spring mvc
- @transactional
- nginx
- string
- 문자열
- springboot
- join
- 스프링부트
- select
- spring security 6
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록static (3)
개발하는 자몽
일반적으로 Spring 애플리케이션에서 application.yml에 정의된 값을 static 변수에서 사용할 수 없다. 따라서 Spring에서 제공하는 `@Value` 애노테이션으로 설정 파일에 정의된 값을 static 변수에 주입하면 에러가 발생한다. Java의 static 변수는 아래 시점에 메모리에 저장된다. 스프링 컨테이너(Application Context)가 로드되기 전 == 객체 생성 이전 == 의존성 주입을 받기 전 하지만 `@Value`는 의존 관계 주입 시점(인스턴스 수준)에서 동작한다. 이로 인해 의존성 주입을 받기 전에 메모리에 저장되는 static 변수에는 값을 주입할 수 없다. 이는 더 나아가서 클래스 레벨에도 동일하게 적용할 수 있다. `@Component` 애노테이션이..
인프런 김영한 님의 스프링 인강을 보며 코딩을 하다가 궁금한 점이 생겨서 정리해본다. public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SameBeanConfig.class); ... @Configuration static class SameBeanConfig { @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public MemberRepository memberRepository2() { return ..
static static 키워드를 사용하여 static 변수와 static 메서드를 만들 수 있다. 각각 정적 필드와 정적 메서드라고도 하며 둘 모두를 정적 멤버(클래스 멤버)라고 말한다. 이 둘은 객체(instance)에 소속된 멤버가 아닌 클래스에 고정된 멤버로, 클래스 로더(classloader)가 클래스를 로딩해서 메서드 메모리 영역에 로드할 때 클래스별로 관리된다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용이 가능하다. static 키워드로 생성된 정적 멤버는 heap이 아닌 static 영역에 메모리가 할당된다. static 영역에 할당된 메모리는 모든 객체가 공유할 수 있어서(같은 곳의 메모리 주소만 바라봄) 어디서든지 참조할 수 있다는 장점을 갖는다. 그러나 Garbage Collect..