봄 / 봄 부팅이 시작하는 법을 배워야

우회의 많은 주변의 엔트리 봄 / 봄 부팅 나, 나가 우회하는 전형적인 우회의 경우 :

나는이 프로그램까지 실행하는 방법을 정확하게 이해할 수 있도록 다양한 구성 파일과 노트, 특히,을 통해 실행 후 코드를 이해하지 못하는, 다시 코드 쳤 다운로드, 스프링 부팅 항목의 경우를 찾을 수 있습니다. @Autowired, 그것이 내가 그들이 관련 지식 학습 할 사항이 없음을 의심처럼, 자사의 업무 프로세스를 의미하므로 메모를 파고 무엇 결국 이러한 주석 @Controller 작품 -> 동적 프록시 -> 반사 - -> 클래스로드 -> 어떻게 클래스 로더. 이러한 설정 후 나는 혼란 클래스 로더, 반사, 동적 프록시, 주석을 이해에도 불구하고, 아래로 가고, 나는 아직도 이해할 수없는 작업의 이러한 주석의 봄, 실제로 사용하는 방법을 알고하지 않는 방법이다.

봄이 주석을 사용하는 이유는 많은 입문 튜토리얼, 다수의 구체적인 동작은하지만, 어떤 역할을 한 후 그와 함께이 주석뿐만 아니라 내가 말하는거다 이러한 주석 (의 워크 플로우를 우리 프로세스의 사용되지 않는 말하지 않는다 원칙 기본).

여기 내 자신의 학습 반사의 일부입니다.

첫째, 우리는 가장 기본적인 욕구에서 시작합니다.

자바는 각 개체는 특정 조작에 바인딩 할 수있는 여러 개체를 통해, 우리는 작업에 필요한 모든 작업을 완료 할 수 있습니다, 객체 지향 언어입니다.

"{"이름 ":"밥을 "}"8080 / 사용자가 사용자의 브라우저 사용자 데이터가 포함 된 JSON 데이터 문자열을 반환하기 위해,이 링크 요청을 얻을 예를 들어, 우리의 작업이 사용자의 로컬 호스트를받을 수 있음을 가정한다. 우리는이 작업을 참조하는 것은 달성하기 위해 복수의 객체로 분할된다 : 데이터 액세스 DAO 사용자 이름 밥을 획득하기 위해 상기 데이터베이스를 쿼리하는 데 사물 제어기는 외부 제어 오브젝트 요청을 수신하고, 모델 객체는 데이터를 조립하기 위해 사용되며, 예컨대 개별 개체 완료하기로 이 작업은, 우리는 데이터의 전송을 완료하기 위해 결합 될 필요가있다. 우리는 데이터가 들어있는 개체 모델은 프론트 데스크에 반환하기 때문에, 컨트롤러 객체 모델 객체에 포함 할 필요가; 모델을 생성하는 데 필요한 데이터가 데이터베이스를 확인하는 데 필요한 때문에 객체 모델에, 우리는 DAO 객체를 포함해야합니다. 객체를 결합하는 것은 실제로 다양한 작업의 조합입니다, 우리는 데이터 전송을 완료 한 작업을 완료합니다.

상기 방법에서, 우리는 객체가 객체 클래스의 현재 작업의 하류에 제공되는 객체를 포함 필요한 것을 발견했다. DAO 객체 모델 하류 대상체 같이 같은 동작 모델 데이터의 목적은 우리가 물체 모델의 DAO 개체의 구성원으로 DAO 객체 모델을 포함 할 수 있도록,지지 DAO 객체를 제공하는데 필요하다. 문제는 DAO 객체가 어디에서라는 것이다?

직접적인 아이디어는 개체 모델은 DAO 객체에 대한 참조를 얻을 수있을 것입니다, 그래서 모델 객체를 생성 할 때 생성자에서 직접 DAO 객체를 제공하는 것입니다. 그것에 어떻게 DAO 객체? 물론,도로 구성된 (신규), 다운 스트림 객체의 DAO 객체는 또한 작업을 수행하는 방법을 포함해야하는 경우는? DAO를 개체의 회원은 반드시 건설시 직접 커넥터를 제공하는 데이터베이스 연결 객체 커넥터, 모델 객체와 같은 간단한 아이디어를 필요로한다. 그러나, 이와 같이 재귀 호출의 층을 형성 .... 추가적인 커넥터 부재를 필요로 할 수있다. 최상위 객체 관계의 계층의 포함을 구성 할 때, 우리는 모든 재귀 하류 계층 개체를 구성해야합니다. 해의 생산에 재귀 쉽게 OOM 즉, 자기 분명하다. 그럼 어떻게이 문제를 해결하기 위해? 자연 아이디어는 우리가 다운 스트림 객체가 가지고있는 사전에 알고있는 경우 객체의 상단에 직접 사용 등의 사용을 인수 할 때, 우리가 소유 할 필요는 없습니다, 다음 이러한 개체 하류의 환경 전에 시작됩니다 사전에 구축하고,이다 재귀 건설. 은 "게으른"유형 전에 연습 (마지막 순간에이 필요로하는 대상에 가기 전에 준비하는) 경우, 본 방법은 모든 나는 앞서의 다운 스트림 대상을 가지고, 당신은 뒷면에 원하는 "하드"유형에 상관없이입니다 준비. 음, 생각하기 때문에, 그래서 우리는 그것을 어떻게이 원하는가? 첫째, 당신은 어떻게 다운 스트림있는 개체를 알 수 있습니까? 둘째, 이러한 다운 스트림 객체 생성을 넣어 일시적으로 어디를 넣어합니까? 당신이 상류에서 이러한 개체를 사용하는 경우 마지막으로, 어떻게 그것을 사용하는 얻을 수 있습니까?

3 봄 / 봄 부팅 솔루션이 문제 리드. 의존성 삽입 (Dependency Injection) .

첫 번째 질문 : 당신은 어떻게 다운 스트림있는 개체를 알 수 있습니까?

XML 구성 또는 주석 구성 : 두 가지 방법으로 봄 / 봄 부팅 솔루션입니다.

 

두 번째 질문의 문제 : 만든이 다운 스트림 객체는 어디에 넣어?

콩 관리

 

세 번째 질문 : 데리러 객체가 다운 스트림 객체 상류?

@Autowired

@Resouce

추천

출처www.cnblogs.com/greatLong/p/11896911.html