MapleStory Cookie With Halo

전체 글 514

[SpringBoot]BeanFactory와 ApplicationContext

스프링 컨테이너BeanFactory와 ApplicationContext BeanFactory스프링 컨테이너의 최상위 인터페이스.빈을 관리하고 조회 getBean().ApplicationContextBeanFactory 기능을 모두 상속 받아 제공한다.빈 조회 외에도 편리한 부가 기능을 제공한다.MessageSource 를 활용한 국제화 기능→ 각 나라에 맞게 번역해 출력한다.EnviromentCapable 환경변수→ 로컬/개발/운영 등을 구분해서 처리한다.ApplicationEventPublisher 애플리케이션 이벤트→ 이벤트를 발행하고 구독하는 모델을 편리하게 지원한다.ResourcePatternResolver 편리한 리소스 조회→ 파일/클래스패스/외부 소스를 편리하게 조회  💡 따라서 부가기능이 ..

[SpringBoot]스프링 빈 조회

기본 조회ac.getBean(빈이름, 타입)   💡 오류 테스트빈이 없으면 NoSuchBeanDefinitionException 예외가 발생한다.assertThrows를 사용하여 해당 예외가 발생 시 테스트 성공이 뜨게끔 코드가 짜였다.  동일한 타입이 두개 이상일 경우    💡 특정 타입 모두 조회하기  ac.getBeansOfType(타입);   상속관계 부모 타입(Interface)으로 조회하면, 자식 타입도 함께 조회된다.그래서 모든 자바 객체의 최고 부모인 Object타입으로 조회하면, 모든 스프링 빈을 조회할 수 있다.     평상 시에는 이러한 빈 조회를 사용할 일이 없지만, 순수 자바 코드를 Spring으로 변환 시 사용된다. ※ 참조 : https://www.inflearn.com/r..

[SpringBoot]스프링으로 전환

스프링 컨테이너 ApplicationContext   인터페이스 이다.구현체  new AnnotationConfigApplicationContext(AppConfig.class);스프링 컨테이너를 생성할 때 구성 정보(AppConfig)를 지정해주어야 한다.AppConfig에 @Bean 이 붙은 클래스들을 스프링 컨테이너에 담아서 관리해준다.스프링 컨테이너는 XML 기반으로 만들 수도 있고, 애노테이션 기반 자바 설정 클래스로 만들 수 있다.※ 요즘은 xml로 잘 사용하지 않는다.AC.getBean("클래스명", 타입);  @Configuration@Bean   스프링 빈 등록 @Bean  Bean 애노테이션이 붙은 클래스들을 스프링 컨테이너가 빈으로 등록한다.이 때 함수명 그대로 사용한다.빈 이름을 지..

IoC, ID, 그리고 컨테이너(Assembler)

IoCInversion of Control제어의 역전 interface와 같은 추상 클래스의 여러 구현 객체 중 어떤 것을 사용할 지 AppConfig에게 맡기는 것을 말한다.AppConfig가 제어를 맡게 되는데, 이를 제어의 역전이라 한다.  💡 프레임워크 vs 라이브러리@어노테이션을 사용하면 프레임워크는 이것을 제어해준다.반면에 작성한 코드가 클래스를 import하는 식으로 직접 제어한다면 라이브러리이다.  DIDenpendency Injection의존관계 주입 의존관계Denpendency는 정적인 클래스 의존관계와 실행 시점에 결정되는 동적인 객체(인스턴스) 의존관계 둘을 분리해서 생각해야 한다.정적인 클래스 의존관계→ 실행하지 않고도 의존관계를 알 수 있다. (클래스 다이어그램)동적인 의존관계..

[SpringBoot][Maven][RestAPI]MyBatis, JPA사용하기

※ 이전 편2025.01.26 - [🍃 Spring/🍃 Spring Boot] - [SpringBoot][RestAPI]Get/PostMapping(+json)  DB 연결 pom.xml에 DB 의존성추가application.properties의 형식을 application.yml로 바꿔주면 가독성과 호환성이 좋아진다.DB연결 코드를 적어준다.(강의 코드에서 좀 더 추가해줘야 실행됐다)브라우저로 http://127.0.0.1:8080/h2-console 에 접속하면 이런 창이 뜬다.JDBC URL 만 application.yml 에서 지정한 대로 적어준다.접속하면 이러한 h2에서 제공하는 화면이 보인다.쿼리로 테이블을 만들고 값을 넣어줬다.  MyBatis 사용하기 메이븐 리포지토리에서 Mybatis..

[SpringBoot][RestAPI]Get/PostMapping(+json)

※ 이전 편2025.01.26 - [🍃 Spring/🍃 Spring Boot] - [SpringBoot][RestAPI]환경설정(의존성 추가-web, swagger, lombok)   @GetMapping  QuickController에 get메서드를 두개 추가했다. @RequestParam  : 일반적인 매개변수를 받을 때 사용합니다. @PathVariable : Path로 값을 받을 수 있다.  @PostMapping   Post 메서드는 Body를 반환하기 때문에 매개변수를 받을 때  @RequestBody 를 사용한다.스웨거에서 실행.URL 에 쿼리스트링이 대신 mapping명이 적혀 있다.  -d : body란이다. 이곳에 입력한 값이 담긴 걸 확인할 수 있다.  json타입 사용하기→ Dt..

[SpringBoot][Maven][RestAPI]환경설정(의존성 추가-web, swagger, lombok)

SpringBoot 다운로드 https://start.spring.io/에서 아래 캡처대로 입력 후 GENERATE 버튼을 누른다.다운로드 받은 파일 압축을 풀고 VScode에 불러옵니다.git에 올리고 시작하겠습니다.2025.01.02 - [😼 Git] - [Git]초간단 로컬 워크스페이스 repository에 올리기 프로젝트를 Run을 눌러 실행했을 때 아래처럼 뜨면 잘 진행된 겁니다.pom.xml의존성 spring-boot-starter를 찾아 복사합니다.아래 붙여넣기해서 -web을 끝에 붙여줍니다.다시 프로젝트를 실행해보면 Tomcat 등이 설치 되고 http://127.0.0.1:8080/ 로 들어가보면 기본페이지가 생성된다. Swagger 추가: 인터넷창으로 메서드 테스트하기 controll..

반응형