목록Spring (82)
충분히 쌓여가는
스프링 컨테이너 빈을 생성하고 관리 빈이 생성되고 소멸되기까지의 생명주기를 스프링 컨테이너가 관리 @Autowired와 같은 애너테이션을 사용해 빈을 주입받을 수 있게 DI를 지원 빈 스프링에서 제공해주는 객체 스프링 컨테이너가 생성하고 관리하는 객체 public class A { @Autowired B b; } 코드에서 B가 빈 스프링은 빈을 스프링 컨테이너에 등록하기 위해 XML 파일 설정, 애너테이션 추가 등의 방법을 제공 즉, 빈을 등록하는 방법은 여러 가지가 있다는 뜻 MyBean이라는 클래스에 @Component 애터테이션을 붙이면 MyBean 클래스가 빈으로 등록되고 스프링 컨테이너가 MyBean 클래스르 관리함 이때 빈의 이름은 클래스 이름의 첫 글자를 소문자로 바꿔 관리함, MyBean ..
제어의 역전 IoC Inversion of Control 다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에서 관리하는 객체를 가져와 사용하는 것 객체를 관리하기 위해 IoC 사용 기존의 코드는 객체가 필요한 곳에서 직접 생성하였다 B 객체를 사용하기 위해 클래스 A에서 객체를 직접 생성 public class A { b = new B(); } IoC 적용 B 객체를 직접 생성하는 것이 아니라, 어딘가에서 받아와 사용 public class A { private B b; } DI Dependency Injection IoC를 구현하기 위해 사용하는 방법이 DI 어떤 클래스가 다른 클래스에 의존한다는 뜻 @Autowired라는 애너테이션은 스프링 컨테이너에 있는 빈이라는 것을 주입하는 역할 빈은 스프..
서버 클라이언트의 요청을 받아 처리하는 주체 클라이언트가 데이터를 요청했다면 데이터를, 단지 서버 내에서 처리만 해달라는 요청을 했다면 해당 요청만 처리 웹 브라우저에 주소를 입력하는 것은 데이터 요청에 해당함 클라이언트 서버로 요청하는 프로그램 모두 웹 브라우저가 대표적인 클라이언트 중 하나 데이터베이스 여러 사람이 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소 클라이언트에서 SQL, 즉 데이터베이스를 조작하기 위한 언어로 데이터베이스 관리 시스템에 데이터를 요청하면 데이터베이스 관리 시스템은 데이터베이스에서 데이터를 꺼내 응답함 MySQL, oracle, postgreSQL 등은 데이터베이스보다는 데이터베이스를 관리하기 위한 시스템이 좀 더 정확함 데이터베이스는 RD..
고유 인덱스 또는 기본키 위반 Unique index or primary key violation src > main > resources에서 data.sql이라는 더미 데이터가 생성되어 있기 때문에 발생한 문제 서버를 재시작할 때마다 더미 데이터를 생성 새로운 게시글을 작성할 때 id를 1번부터 넣게해서 에러가 발생함 => 즉, id가 중복되었기 때문에 발생한 문제 // data.sql INSERT INTO article(id, title, content) VALUES(1, '가가가가', '1111'); INSERT INTO article(id, title, content) VALUES(2, '나나나나', '2222'); INSERT INTO article(id, title, content) VALUE..