FrameWork 56

FrameWork/Spring
ComponentScan

오늘은 컴포넌트 스캔에 대해서 알아보도록 한다.   @ComponentScan컴포넌트 스캔이란 스프링이 @Configuration 에너테이션이 붙은 설정 클래스를 찾은 뒤, 빈을 등록하는 과정에서 @Component 에너테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록해 주는 것을 의미한다.  AutoAppConfig.javaimport org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.FilterType;import static org.springframework.con..

FrameWork/Spring
싱글톤 패턴과 컨테이너

오늘은 싱글톤 패턴과 스프링 컨테이너의 상관관계에 대해서 알아보고자 한다.   싱글톤 패턴디자인패턴 중 하나로, 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴을 의미한다. 아래는 싱글톤 패턴을 구현하는 방법을 코드로 작성한 모습이다.  SingletonPatterns.javapublic class SingletonPatterns { // 1. static 영역에 객체를 딱 1개만 생성한다. private static final SingletonPatterns instance = new SingletonPatterns(); // 2. public으로 열어 객체 인스턴스가 필요하면 이 static 메서드를 통해서만 조회하도록 허용한다. public static ..

FrameWork/Spring
컨테이너에 빈 등록 및 조회

오늘은 스프링 컨테이너에 빈 등록, 조회를 하는 방법에 대해 알아보자. 컨테이너에 빈 등록하기스프링 컨테이너에 빈을 등록하는 방법은 2가지가 있다. @Bean을 통해 직접 등록하는 방법@Configurationpublic class AppConfig { @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); }} @Configuration 구성 정보에 @Bean 어노테이션을 통해 스프링 컨테이너에 직접 빈을 등록할 수 있다. 빈 객체로 등록하고 싶은 메서드 위에 @Bean 어노테이션을 추가해 사용한다.  @ComponentScan을 이용하여 자동으로 빈 등록하는 방법@Confi..

FrameWork/Spring
IoC, DI 컨테이너

오늘은 IoC, DI 컨테이너에 대해서 알아보고자 한다.  IoC, DI 컨테이너를 보기 전, 객체지향부터 확인하기일단 IoC, DI 컨테이너를 보기 전 좋은 객체 지향 설계의 5가지 원칙에 대해 보는 것이 살펴보고 가자.  디자인 패턴과 SOLID 원칙최근 객체 지향 프로그래밍을 자주 하게 되면서 해당 로직이 어떻게 더 깔끔하게 작성할지, 또는 코드의 유지보수성이 잘 되었으면 하는 생각에 여러 주제를 찾아보다가 디자인 패턴을 접하jheaon.tistory.com 객체지향으로 코드를 작성하기 위해서는 다음과 같은 규칙을 따르는 것이 좋다. 역할과 구현을 분리한다.클라이언트는 역할(인터페이스만 알면 된다)클라이언트는 내부 구조와 구조의 변경이 일어나도 영향을 받지 않는다. 클라이언트는 구현 대상 자체를 변..

FrameWork/Spring
Thymeleaf

오늘은 Spring에서 Thymeleaf 라이브러리를 사용하는 방법에 대해 알아보고자 한다.   Thymeleaf타임리프란 템플릿 엔진의 일종으로 html 태그에 속성을 추가하여 페이지를 동적으로 값을 추가하거나 처리 할 수 있도록 만들어주는 Spring 라이브러리를 말한다.  해당 라이브러리를 사용하기 위해서는 Gradle에 아래처럼 라이브러리를 추가해준 다음 빌드 한다.implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'  사용 방법사용예시를 들기 위해 HelloController와 templates폴더 아래 hello.html 파일을 만들어 작동시켜 보았다. 주의 : 스프링부트는 템플릿 의존성 라이브러리를 추가하게 되면 자동..

FrameWork/Spring
JDBC (내용 추가 예정)

오늘은 JDBC에 대해서 알아보고자 한다.  JDBC JDBC(Java Database Connectivity)로 DB에 접근할 수 있도록 Java에서 제공하는 API을 말한다.JDBC에 연결해야하는 DB의 JDBC 드라이버를 제공하면 DB연결 로직을 변경할 필요없이 DB변경이 가능하다.     JDCB Template JDBC의 등장으로 손쉽게 DB교체가 가능해졌지만 아직도 DB에 연결하기 위해 여러가지 작업 로직들을 직접 작성해야한다는 불편함을 해결하기 위해 커넥션 연결, statement 준비 및 실행, 커넥션 종료 등의 반복적이고 중복되는 작업들을 대신 처리해주는 JdbcTemplate이 만들어 졌다.

FrameWork/Spring
Controller

오늘은 Spring Controller을 다루는 법에 대해서 정리해보고자 한다.   ControllerMVC 패턴과 내용이 이어집니다 참고하세요 :) MVC Pattern오늘은 Spring MVC 패턴에 대해 알아보고자 한다.    Spring MVC흔히 말하는 MVC 패턴이란 Model-Veiw-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나를 의미한다.    Model : 데이터와 비즈니스 로jheaon.tistory.com Spring Controller에서 정적페이지와 동적페이지를 처리할 수 있다.  정적페이지정적페이지 같은 경우 말 그대로 html을 그대로 클라이언트에게 넘겨주는 경우이다. SpringBoot서버에 html파일을 요청하면 해당 html 파일을 static 폴더에서 ..

FrameWork/Spring
MVC Pattern

오늘은 Spring MVC 패턴에 대해 알아보고자 한다.    Spring MVC흔히 말하는 MVC 패턴이란 Model-Veiw-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나를 의미한다.    Model : 데이터와 비즈니스 로직을 담당하며, 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행한다. View : 사용자 인터페이스를 담당한다. 사용자가 보는 화면과 버튼, 폼 디자인을 하고 구현한다. Controller : Model과 View 사이의 상호작용을 조정하고 제어한다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트한다. 여기서 Spring Web MVC는 Servlet API기반으로 구축된 웹 프레임워크로 중앙에 있는..

FrameWork/Unity
Unity Cinemachine

이번에는 유니티의 카메라 라이브러리 시네머신을 다루는 방법에 대해서 정리해보고자 한다. 준비 일단 시네머신을 사용하기전에, Unity에서 기본으로 제공하는 starter pack 사용해서 진행하였다. 해당 에셋을 설치하게 되면, 시네머신도 의존성에 의해 같이 설치되어 있으므로 시네머신 카메라를 함께 사용할 수 있다. Freelook 일반적인 자유 카메라를 의미하며, Follow, LookAt에 따라서, 카메라가 따라다닐 오브젝트와, 바라보는 오브젝트를 설정할 수 있다. BlendList 블랜드리스트 카메라는 자연스러운 카메라 회전이 필요할 때 사용된다. 블랜드리스트 카메라를 생성하게 되면 여러 가상카메라들이 생기는데 오른쪽에 있는 BlendIn 옵션에 따라서, 카메라 전환을 자유롭게 하게 만들 수 있다...