백기선(인프런 강의)
-
Validation 추상화백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 23. 22:37
org.springframework.validation.Validator 스프링에서는 Validator 인터페이스를 지원하여 어플리케이션에서 사용하는 객체를 검증할 수 있는 기능을 제공한다. 이 Validator 인터페이스는 어떤 특정 계층에 사용하는 기능이 아닌 모든 계층에서 사용할 수 있다. Validator는 Java EE Spec인 Bean Validation의 어노테이션을 이용하여 객체가 제대로 요구사항에 맞추어 생성 됬는지 검증할 수 있다. 특징 어떤한 계층과도 관계가 없다. => 모든 계층(웹, 서비스, 데이터)에서 사용해도 좋다. 구현체 중 하나로, JSR-303(Bean Validation 1.0)과 JSR-349(Bean Validation 1.1)을 지원한다. (LocalValidat..
-
Resource 추상화백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 23. 12:22
특징 java.net.URL을 추상화 한 것. java.net.URL을 resource라는 클래스로 감싸서 실제 low레벨에 접근하는 기능을 추상화 스프링 내부에서 많이 사용하는 인터페이스. 추상화 한 이유 클래스패스 기준으로 리소스 읽어오는 기능 부재 ServletContext를 기준으로 상대 경로로 읽어오는 기능 부재 새로운 핸들러를 등록하여 특별한 URL 접미사를 만들어 사용할 수는 있지만 구현이 복잡하고 편의성 메소드가 부족하다. Resouce 상속받은 인터페이스 public interface Resource extends InputStreamSource { /** * Return whether this resource actually exists in physical form. * This me..
-
IoC 컨테이너와 빈(5) - ResourceLoader백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 22. 18:16
@Controller public class HomeController { @Autowired ResourceLoader resourceloader; //ApplicationContext resourceLoader; // 이것도 가능 @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) throws Exception { Resource resource = resourceloader.getResource("classpath:test.txt"); System.out.println(resource.exists()); System.out.println(resource.getFile..
-
IoC 컨테이너와 빈(4) - 프로퍼티백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 18. 12:29
프로퍼티 다양한 방법으로 정의할 수 있는 설정값 Environment의 역할은 소스 설정 및 프로퍼티 값 가져오기 프로퍼티에는 우선 순위가 있다. StanddardServietEnvironment의 우선순위 ServletConfig 매개변수 ServletContext 매개변수 JNDI (javacomp/env/) JVM 시스템 프로퍼티(-Dkey="value") 키와 value로 존재 JVM 시스템 환경 변수(운영 체제 환경 변수) @PropertySource Environment를 통해 프로퍼티 추가하는 방법 스프링 부트의 오부 설정 참고 기본 프로퍼티 소스지원(application.properties) 프로파일까지 고렿나 계층형 프로퍼티 웃너 순위 제공 스프링 부트를 공부하고 오자
-
IoC 컨테이너와 빈 (3) - Enviornment - 프로파일백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 17. 13:10
EnvironmentCapable - 프로파일 ApplicationContext 가 아래와같은 인터페이스를 상속 받고 있다. public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePatternResolver { /** * Return the unique id of this application context. * @return the unique id of the context, or {@code null} if none */ String getId(); /** * Retur..
-
IoC 컨테이너와 빈(2) - 컴포넌트 스캔백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 16. 08:56
@Component @controller @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Controller { /** * The value may indicate a suggestion for a logical component name, * to be turned into a Spring bean in case of an autodetected component. * @return the suggested component name, if any */ String value() default ""; } @Service @Target({ElementType.TYPE..
-
IoC 컨테이너와 빈(1) - 빈설정, @autowired백기선(인프런 강의)/스프링 프레임워크 핵심 기술 2020. 3. 15. 18:37
스프링 IoC 컨테이너와 빈 IoC(Inversion of Control) 의존관계주입(Dependecy Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용하는 방법 스프링 IoC컨테이를 사용하는 이유 여러 개발자들이 스프링 커뮤니티에서 만들어낸 여러가지 DI(Dependecy Injection)방법과 노하우가 쌓여있는 프레임워크 스프링 IoC 컨테이너 애플리케이션 컨포넌트의 중앙 저장소 빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. PoJo(Plain Old Java Obejct) 객체를 빈으로 등록하고, 등록된 빈들을 주입받아서 사용가능 BeanFactory 빈 스프링 IoC 컨테이너가 관리하는 객체 장점 의존성 관..