일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 그리디알고리즘
- 개발자
- mongoDB
- Spring
- 클린코드
- 알고리즘
- JPA
- 코딩테스트
- database
- 백준
- 스프링
- spring boot
- 개발
- 코드
- 애자일기법
- 그리디
- 자바
- 데이터베이스
- 읽기쉬운코드
- 프레임워크
- cleancode
- API
- 코딩
- 애자일프로그래밍
- 엘라스틱서치
- ES
- Elasticsearch
- framework
- Baekjoon
- Java
- Today
- Total
목록framework (16)
튼튼발자 개발 성장기🏋️

HTTP method 중에 가장 기본이 되는 것은 GET과 POST이다. HTTP method에 대해서는 HTTP RFC를 참고하자. 그 중에 GET과 POST일 때, Client가 전달한 데이터를 가지고 오는 방법을 알아보자. - GET method HttpServletRequest는 java EE API를 참고하자. 간단하게 이야기 하면 client가 요청한 데이터 뿐만 아니라 header 정보도 함께 알 수 있다. GET method 이므로 http://localhost:8080/dotori/?id=abc123&userName=dotori 로 요청하면 query의 id값와 userName이 출력되는 것을 볼 수 있다. 다른 방법으로, 어노테이션을 사용하는 방법이 있다. 동일한 동작을 하지만 어노테이..
Client의 요청이 들어오게되면 Controller에서 가장 먼저 로직이 실행되게 된다. 컨트롤러 작업이 마췬 뒤, 컨트롤러의 return된 view 페이지로 데이터가 전달됩니다. 기본 생성되는 컨트롤러를 살펴보자. @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); /** * Simply selects the home view to render by returning its name. */ @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Loc..

java를 공부했다면 OOP(Object Oriented Programming : 객체지향 프로그래밍)에 대해서 공부했을 것이다. AOP는 Aspect Oriented Programming으로 직역하면 관점지향 프로그램으로써 어떤 프로세스에서 어느 시점을 바라보고 있느냐에 따라 다르게 프로그래밍이 되는 것이다. 어렵다. AOP가 나온 계기를 살펴보자. 우리는 개발하다보면 항상 공통적인 기능이 많이 나온다. 이런 기능을 하나로 묶기위해 상속을 사용한다. 하지만 다중상속이 불가능하고 코어기능과 공통기능이 섞여있는 등 효율성이 떨어질 수 있다. 이러한 문제점들을 보완하여 나온 것이 AOP이다. 코어 기능과 공통 기능을 완벽하게 불리시켜놓고 코어 기능에서 공통기능이 필요할 때마다 가져다 사용하는 방식이다. sp..

bean을 설정하는 방법은 여러가지가 있다. 우리는 때때로 개발이 아닌 정보 변경을 필요로 할 때가 있다. 예를 들어서 DB 이전 혹은 서버 이전, 계정 변경 등과 같이 개발 건이 아니지만 개발자가 필요할 때가 있을 수 있다. 이러한 상황에서 굳이 개발 소스를 건드리지 않고서도 변경을 할 수 있다면 굉장히 좋을 것이다. - Environment 객체를 사용하여 설정하는 방법 ApplicationContext에서 Environment를 가지고오는 방법. logger.PREFIX=[PRE] logger.POSTFIX=[POST] public static void main(String[] args) { String config = "classpath:appContext.xml"; ConfigurableAppl..

생명주기가 그렇다고 한다면 과련 bean의 scope는 어떻게 될까. 개발자가 어떤 공부를 할 때에 scope는 빠짐없이 등장하는 것 같다. scope는 직역하면 "범위"로써 어디까지 영향을 미치는지에 대해 정의를 할 수 있다. public static void main(String[] args) { String config = "classpath:appContext.xml"; GenericXmlApplicationContext appContext = new GenericXmlApplicationContext(config); LoggerUtil logger1 = appContext.getBean("loggerUtil", LoggerUtil.class); logger1.log(); LoggerUtil lo..

스프링 컨테이너의 생명 주기에 대해 알아보자. 이전에 작성했던 코드를 다시 한 번들여다 보자. public static void main(String[] args) { String config = "classpath:appContext.xml"; GenericXmlApplicationContext appContext = new GenericXmlApplicationContext(config);// 컨테이너 생성 LoggerUtil logger = appContext.getBean("loggerUtil", LoggerUtil.class);// 컨테이너 설정 logger.log();// 컨테이너 사용 appContext.close();// 컨테이너 종료 } 컨테이너는 [생성 -> 설정 -> 사용 -> 종료]..

DI는 여러가지로 활용할 수 있다. 이전 글에서는 기본적인 DI의 설명이 있었으나 이번에는 여러가지 주입방법을 소개한다. - xml을 이용한 또 다른 주입 방법 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> String config = "classpath:appContext.xml"; GenericXmlApplicationContext appContext = new GenericXmlApplicationContext(config); LoggerUtil logger = appContext.getBean("loggerUtil", ..

spring은 한국 내에서는 표준 framework가 되었다. 개발 툴 또한 표준화가 되어있는 것 같다. 여기서 framework란 특정 목적에 맞게 만들기 쉽게 갖춰진 틀이라고 보고있다. spring에서 잘 알아야하는 것들 중 가장 기본이 되는 것이 DI(Dependency Injection)이다. DI란 일반 java프로그래밍에서 new 연산자를 사용하여 객체를 만들었다면, 외부에서 주입해주는 방법을 말한다. 여기서 외부는 주로 xml파일을 일컫는다. loggerUtil이라고하는 LoggerUtil bean을 만들어준다. 생성자는 constructor-arg 태그를 사용하여 실행하며 setter는 property 태그를 사용하는 것을 볼 수 있다. 나는 테스트 이다. public class Logge..