본문 바로가기
반응형

spring기초8

[SpringFramework] 스프링 기본 XML파일-<Bean> 저번에 이어 Bean엘리먼트를 알아 보겠습니다. Bean은 클래스를 등록하기 위해 사용하는 엘리먼트 입니다. bean에는 두개의 속성을 사용할수 있는데 id와 class입니다. (여기서 말하는 속성은 클래스를 구별하기 위한 속성 입니다.) class와 id의 차이점은 생략을 할 수 있는지 없는지 차이입니다. id는 생략이 가능하지만 class는 생략이 불가능해요. 예전에 작성한 xml을 살펴 보도록 할께요 위에 보시면 id와 class가 존재합니다. 여기서 하나하나 직접 빼보시면 이해하기 편하실거예요. class를 뺐을때는 오류가 생기지만 id를 뺐을때는 동작을 합니다. 물론 객체 생성할때, 저흰 id를 지정해줬으니 안돌아 갈거예요. 이런식으로 id로 알려줬으닌깐요! 하지만 우리가 작성한 초기코드에서는 .. 2022. 2. 21.
[SpringFramework] 스프링(Spring) AOP가 무엇일까? AOP는 로직을 분리하는 것입니다. 로직을 분리함으로써 응집도를 높이려고 하는거예요. 그럼 응집도는? 쉽게 설명하면 코드가 다른 코드에 의존하지 않고 꽁꽁 묶여있는것을 말합니다. 모듈-모듈 간을 결합도! 모듈내 기능을 응집도! 라고 생각하시면 될거같아요. 저희가 스프링을 배우는 가장큰 이유가 결합도를 낮추고 응집도를 높이려고 사용하는거예요. 복습을 한번 해볼께요! -> DI를 이용해 비즈니스 컴포넌트의 결합도를 떨어트려 의존관계를 변경할수 있게 하는 것은 스프링의 어떤 장점일까요? 정답은 IoC입니다. 우리는 지난번 예제를 통해 IoC를 배웠습니다. 이제는 예제를 통해 AOP를 배워보도록 하겠습니다. 실습을 하기전 AOP를 좀더 살펴보도록 하겠습니다. AOP의 핵심은 관심분리 입니다. 메소드마다 공통으로.. 2022. 2. 16.
[SpringFramework] 스프링(spring) AOP - 관심분리(1) 이번에는 AOP개념을 쉽게 이해하기위해 지난번 사용했던 BoardService를 이용해 보겠습니다. 하나의 클래스를 만들겠습니다. 만들 클래스는 공통 클래스로 로그를 출력하는 클래스 입니다. 이 두줄이 끝입니다. 클래스명은 자신이 원하는대로 지정하시면 됩니다. 여기서 사용한 pringLog()메소드를 다른 컴포넌트에서 사용하려고 합니다. Service컴포넌트에서 사용할거라서 ServiceImpl에 클래스를 수정하도록 하겠습니다. 위 코드를 보시면 BoardServiceImpl객체가 생성될때, 우리가 만든 클래스의 생성자도 같이 생성합니다. public BoardServiceImpl() -> 기본생성자로 객체생성이되고, 이 안에 new라는 키워드로 객체를 생성 하죠? 지금 위에서 작성한 코드는 비즈니스 로.. 2022. 2. 16.
[Springframework] 의존성 주입과 어노테이션 (@Autowired) @AutoWired @Inject @Qualifier @Resource 위 4개의 공통점은 무엇일까요? @라는 녀석이 붙어있습니다. @는 어노테이션을 의미합니다. 즉, 무언가 해주는 녀석입니다. 단순하게 단어앞에 @ 붙어있지만, 히든속성? 히든정보? 가 담겨있습니다. 그럼 각각 무엇인지 살펴보도록 하겠습니다. @AutoWired 주로 변수위에 붙여 설정하며, 자동으로 해당 객체를 찾아 할당한다. 해당 어노테이션의 설명에는 변수 위라고 되어있지만, [주로]입니다. 메소드나 멤버변수 심지어 생성자 위에도 사용할 수 가 있습니다. 하지만 일련의 약속이라고 보시면 될거같아요. 이 어노테이션은 주로 변수 위에 쓴다! 무언의 약속? 과 같습니다. 그럼 어떤식으로 동작하는지 알려드리겠습니다. 스프링에 컨테이너는 @A.. 2022. 2. 8.
반응형