일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디알고리즘
- 애자일프로그래밍
- 엘라스틱서치
- 애자일기법
- framework
- Elasticsearch
- spring boot
- 프레임워크
- 개발자
- Baekjoon
- 읽기쉬운코드
- 코드
- ES
- mongoDB
- API
- Spring
- 그리디
- database
- 스프링
- 백준
- 알고리즘
- 클린코드
- 코딩
- 데이터베이스
- 자바
- 개발
- JPA
- Java
- 코딩테스트
- cleancode
- Today
- Total
목록프레임워크 (15)
튼튼발자 개발 성장기🏋️
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..