목록전체 글 (82)
호비시의 끄적끄적
Bean 은 Spring Container에 의해 생명주기가 관리된다. Container 시작 Bean 인스턴스화 Dependenceis Injection 의존성 주입 Custom Init Method Custom Destory Method END 1, 2 ,3 과정을 통해 Bean 이 Container에 등록되고 Bean을 사용 할 수 있게 된다. 4 에서 우리가 만든 메소드에서 빈을 이용할 수 있고 5 우리의 프로그램이 끝나게 되면 Bean 의 LifeCycle도 끝나게된다. Bean Lifecycle 을 고려하지 않고 Bean을 등록해놓고 @Autowired로 주입받아 사용하다 보면 아직 등록하지 않은 Bean들을 사용 할 수 없다는 메시지를 받는다고한다. 스프링이 알아서 순서를 바꿔 참조되는 Be..
Client → DispatcherServlet 가장 앞 단에서 요청을 받아 FrontController 라고도 불림 DispatcherServlet → Controller API 를 처리해 줄 Controller 를 찾아 요청을 전달 Handler mapping 에는 API path 와 Controller 함수가 매칭되어 있음 GET /hello/html/dynamic → HomeController 의 helloHtmlFile() 함수 GET /user/login → UserController 의 login() 함수 GET /user/signup → UserController 의 signup() 함수 POST /user/signup → UserController 의 registerUser() 함수 함수..
Spring Framework 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다. 장점 의존성 주입 DI 제어의 역전 IOC 관점지향 프로그래밍 AOP Spring Framework에는 이러한 장점들이 있지만, 최소한의 기능으로 Spring MVC를 사용하여 기본 프로젝트를 세팅하는데 너무 많은 시간이 걸리는 문제가 있었다. 이러한 문제를 해결하기 위해 나온것이 Spring Boot Spring Boot의 장점 Embedde..
JPA는 무엇인가? JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다. 그렇다면 ORM이란? ORM(Object-Relational Mapping)은 객체와 관계형 DB를 매핑한다는 뜻 다시말해 JPA는 자바 ORM에 대한 API 표준 명세이고, 인터페이스의 모음이다. 따라서 구현체가 없고, 사용하기 위해서는 ORM프레임워크를 선택해야한다. 다양한 프레임워크가 존재하지만 가장 대중적인 것은 Hibernate이다. ORM을 만든 이유는 SQL 작성을 편하게 하기 위해서이다. ORM이 없이도 충분히 개발은 가능하다. 하지만 단순하고 반복적인 SQL 작성에 시간이 많이 들고, 실수하기 쉽기 때문에 ORM을 사용한다. 이 ORM 의 표준이 되는것이 JPA이다. JPA가 없었을 때..
5/28 ~ 6/3 실전 프로젝트를 마치고 쓰는 회고 길고 길었던 실전 프로젝트가 끝이 났다. 마지막 주에는 잔 오류들을 수정, 발표 준비, Slack 알림을 구현하였다. 1차 발표자료를 만들고 피드백을 받은 후 수정한 2차 발표자료 중 일부분이다. 1차 배포를 하고 신규 유저를 받으면서 유저 관리의 불편함을 느껴 slack에 알림이 오게 끔 코드를 작성하였다. @Slf4j @Component public class SlackAlert { @Value("${logging.slack.webhook-uri}") private String slackUrl; public void joinAlert(User user) { log.info("joinAlert"); HttpHeaders headers = new Ht..