[DI Framework] 개발 환경 세팅

2022. 1. 18. 12:48Project/DI Framework

개발 환경

  • JDK - OpenJDK 11
  • 패키지 관리 - Maven
  • IDE - Intellij IDEA
  • JUnit 4

pom.xml

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

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.wscrg</groupId>
  <artifactId>di</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>di</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.reflections/reflections -->
    <dependency>
      <groupId>org.reflections</groupId>
      <artifactId>reflections</artifactId>
      <version>0.10.2</version>
    </dependency>

  </dependencies>

</project>

reflections 라이브러리는 리플렉션을 쉽게 할 수 있도록 해주는 라이브러리이다. 이 라이브러리를 쓴 이유는 @ComponentScan과 같은 클래스 탐색 기능이 귀찮아서였다. 아마 직접 구현하려면 해당 파일의 디렉터리부터 파일을 스트림으로 읽어서 @Component나 @Configuration이 있는지 탐색하거나 바이트 코드를 분석(이는 필자도 잘 모른다)해야 하기 때문에 여간 귀찮은 것이 아니다. 그래서 핵심 기능이 아닌 것에 오랜 시간을 쓰기 싫어 사용했다.

'Project > DI Framework' 카테고리의 다른 글

[DI Framework] 어노테이션 개발  (0) 2022.01.18
[DI Framework] DI 프레임워크 개발  (0) 2022.01.18