달력

11

« 2020/11 »

  • 29
  • 30
  •  
  •  
  •  
  •  
  •  
반응형


 

AspectJ Weaver 라이브러리 설치

 

Maven 리포지토리 사이트에 접속

http://mvnrepository.com/

 

 

"aspectj weaver"으로 검색

aspectj weaver


 

 

첫번째 항목 선택

https://mvnrepository.com/search?q=aspectj+weaver


 

 

RELEASE 버전번호 클릭

https://mvnrepository.com/artifact/org.aspectj/aspectjweaver


 

 

Maven항목의 dependency 정보 복사

https://mvnrepository.com/artifact/org.aspectj/aspectjweaver/1.9.3


 

 

pom.xml 파일의 <dependencies> 태그안에 붙여넣기 하여 추가합니다.

pom.xml

<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->

<dependency>

    <groupId>org.aspectj</groupId>

    <artifactId>aspectjweaver</artifactId>

    <version>1.9.3</version>

</dependency>

 

Project Explorer [Maven Dependencies]항목을 펼치면 라이브러리가 추가된 것을 확인할 있습니다.


 



반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형

 

 

PointCut 표현식 예시 - execution

"execution(* aspects.trace.demo.*.*(. . ))"

 

execution

execution 표현식

*

Any return type

aspects.trace.demo

package

.*

class

.*

method

(. . )

Any type and number of arguments

 

 

표현식

설명

execution(public void get*(..))

public void 모든 get메소드

파라미터는 모든 종류를 허용합니다.

execution(* com.codelab.ex.*.*())

com.codelab.ex 패키지에 파라미터가 없는 모든 메소드

execution(* com.codelab.ex..*.*())

com.codelab.ex 패키지 com.codelab.ex 하위 패키지에 파라미터가 없는 모든 메소드

execution(* com.codelab.ex.Worker.*())

com.codelab.ex.Worker클래스안에 있는 파라미터가 없는 모든 메소드

execution(* hello(..))

·         hello라는 이름을 가진 메서드를 선정합니다.

·         파라미터는 모든 종류를 허용합니다.

execution(* hello())

·         파라미터 패턴이 () 되어 있으므로 hello 메서드 중에서 파라미터가 없는 것만 선택합니다.

execution(* com.codelab.service.UserServiceImpl.*(..))

·         com.codelab.service.UserServiceImpl 클래스를 직접 지정하여 클래스가 가진 모든 메서드를 선택합니다.

execution(* com.codelab.service.UserServiceImpl.*.*(..))

·         com.codelab.service 패키지의 모든 클래스에 적용됩니다.

·         하지만 서브패키지의 클래스는 포함되지 않습니다.

execution(* com.codelab.service..*.*(..))

·         com.codelab.service 패키지의 모든 클래스에 적용됩니다.

·         '..' 사용해서 서브패키지의 모든 클래스까지 포함합니다.

execution(* *..Target.*(..))

·         패키지에 상관없이 Target이라는 이름의 모든 클래스에 적용됩니다.

·         다른 패키지에 같은 이름의 클래스가 있으면 모두 적용이 되므로 유의해야 합니다.

 

 



반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형

 

 

Maven Repositories View 표시하기 - eclipse

 

메뉴: [Windows] >> [Show View] >> [Other…]


 

 

[Maven] > [Maven Repositories] 선택 >> [OK]


 

 

기본적으로 Maven리포지토리 폴더는 사용자명\.m\repository폴더 안에 위치하고 있습니다.

폴더 안에 다운받은 jar파일이 위치하게 됩니다.


 


반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형



 

 

Spring 설정 메타정보 XML 파일 생성하기 - eclipse/STS

"Spring 설정 메타정보 XML 파일" "스프링 프로퍼티 설정 파일"이라고도 합니다.

 

 

"src/main/resources" 폴더 >> 마우스 우클릭 >> [New ] >> [Other…] >>


 

 

[Spring] 카테고리에서  [Spring Bean Configuration File] 선택 >> [Next]


 

 

 

파일명 입력(beans.xml) >> [Finish]


 

 

 

파일이 생성 되어 졌으며 xml 루트태그는 <beans> 되어 있는 것을 확인할 있습니다.


 


<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

 

 

</beans>

 

 

하단의 [Namespaces]탭을 클릭하면 beans 네임스페이스가 체크되어져 있는 것을 확인할 있습니다.


 


반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형


 

MyBatis 라이브러리 검색 설치 - 3.5.1

 

http://mvnrepository.com/

 

"mybatis"으로 검색

mybatis


https://mvnrepository.com/search?q=mybatis

 

 

첫번째 항목 선택


 

 

버전번호 클릭

https://mvnrepository.com/artifact/org.mybatis/mybatis


 

 

 

 

Maven항목의 dependency 정보 복사

https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.1


 

 

 

pom.xml 파일의 <dependencies> 태그안에 붙여넣기 하여 추가합니다.

pom.xml

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->

<dependency>

    <groupId>org.mybatis</groupId>

    <artifactId>mybatis</artifactId>

    <version>3.5.1</version>

</dependency>

 

 

Project Explorer [Maven Dependencies]항목을 펼치면 라이브러리가 추가된 것을 확인할 있습니다.


 


반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형


 

 

Bean 의존관계 주입 Annotation

@Autowired, @Resource 어노테이션은 의존하는 객체를 자동으로 주입해 주는 어노테이션입니다.

@Autowired 타입(Type)으로, @Resource 이름(Name)으로 연결한다는 점이 다릅니다.

 

어노테이션

설명

@Autowired

·         스프링DI에서 사용되는 어노테이션입니다.

·         해당 참조 변수에 자동으로 Bean 객체를 매핑해 줍니다.

·         스프링 Bean 설정 파일을 읽기 위해 GenericXmlApplicationContext 사용할 필요가 없습니다.

·         정밀한 의존관계 주입 (Dependency Injection) 필요한 경우에 적용합니다.

·         @Autowired 프로퍼티(필드), setter 메서드, 생성자, 일반메서드에 적용 가능합니다.

·         의존하는 객체를 주입할 주로 Type 이용합니다.

·         @Autowired <property>, <constructor-arg> 태그와 동일한 역할을 합니다.

@Resource

·         어플리케이션에서 필요로 하는 자원을 자동 연결할 사용합니다.

·         @Resource 프로퍼티, setter 메서드에 적용 가능합니다.

·         의존하는 객체를 주입할 주로 Name 이용합니다.

@Value

·         단순한 값을 주입할 사용되는 어노테이션입니다.

·         @Value(Spring) <property .. value=Spring /> 동일한 역할을 합니다.

@Qualifier

·         @Qualifier @Autowired 어노테이션과 같이 사용되어 집니다.

·         @Autowired 타입으로 찾아서 주입하므로, 동일한 타입의 Bean객체가 여러 존재할 특정 Bean 찾기 위해서는 @Qualifier 같이 사용해야 합니다.

 

 



반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형



 

 

 

에러 메시지

Project configuration is not up-to-date with pom.xml. Select: Maven->Update Project... from the project context menu or use Quick Fix.        SpringProject                line 1        Maven Configuration Problem

 


 

 

 

 

 

오류 원인

pom.xml에서 설정한 해당 library 없어서 발생하는 에러로 업데이트를 하면 에러가 사라집니다.

 

 

 

 

해결방법

프로젝트 선택 >> 마우스 우클릭 >>  [Maven] >> [Update Project…] 클릭

 


 

 

[OK]


 

 

업데이트 ...


 

 

 

에러가 사라졌습니다.


 



반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형


 

 

Servlet Context

·         Servlet에서만 이용되는 Context입니다.

·         설정파일을 이용해서 ServletContext 로딩합니다.

·         Servlet 공유하기 위한 Bean들은 Root WebApplication Context 등록해 놓고 사용해야 합니다.

·         DispatcherServlet 자신만의 Context 생성, 초기화하고  동시에 Root Application Context 찾아서 자신의 부모 Context 사용합니다.

·         요청시 DispatcherServlet 모든 요청을 받으면 DispatcherServlet 최초로 Spring Container 만들게 됩니다. 생성된  Spring Container 관련된 Bean들을 담아서 사용합니다.

·         Spring-MVC 관련 있는 Bean 설정합니다. (Web 관련된 Bean 설정)

·         DispatcherServlet 여러 사용할 경우 DispatcherServlet 끼리는 서로 데이터를 공유할 없습니다.

 


반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형



 

STS 설치하기

·         STS 설치파일 압축 풀기

·         STS 실행하기

 

 

 

 

 

STS 설치파일 압축 풀기

 


 

 

CodeLab 폴더에 다운로드 받은 압축파일을 압축해제합니다.

C:\CodeLab\


 

 

 

 

 

 

STS 실행하기

압축을 RELEASE 폴더 안으로 이동합니다.

 

C:\CodeLab\sts-4.2.0.RELEASE


 

 

 

SpringToolSuite4.exe 파일 실행


 

 

 

프로그램 실행 중…


 

 

 

workspace 폴더 지정 >>

C:\CodeLab\workspace_spring

 

[OK]


 



 

 

 

STS 실행 완료!!!


 


 




반응형
Posted by codedragon codedragon

댓글을 달아 주세요

반응형


 

 

JoinPoint 인터페이스의 메소드

메소드

설명

getArgs()

조인포인트의 메서드 아규먼트를 반환합니다

getThis()

조인포인트의 프록시 객체를 반환합니다

getTarget()

대상 객체를 반환합니다

getSignature()

어드바이즈 되는 메서드의 설명(description) 반환합니다

toString()

어드바이즈 되는 메서드의 설명을 출력합니다.

 

 

 


org.aspectj.lang Interface JoinPoint

http://www.eclipse.org/aspectj/doc/next/runtime-api/org/aspectj/lang/JoinPoint.html

 

 

org.aspectj.lang Interface ProceedingJoinPoint

http://www.eclipse.org/aspectj/doc/next/runtime-api/org/aspectj/lang/ProceedingJoinPoint.html

 



반응형

'Development > Spring' 카테고리의 다른 글

Servlet Context  (0) 2020.03.08
STS 설치하기  (0) 2020.03.03
JoinPoint 인터페이스의 메소드  (0) 2020.02.26
pom.xml  (0) 2020.02.20
@RequestBody  (0) 2020.02.15
Spring AOP 라이브러리 설치  (0) 2020.02.08
Posted by codedragon codedragon

댓글을 달아 주세요