본문 바로가기

자동인식을 이용한 빈등록: 스테레오타입 애노테이션과 빈스캐너 오늘은 스프링의 빈 스캔에 대해서 알아보자. 모든 빈을 XML에 일일이 선언하는 것이 귀찮게 느껴질 수 있다. 이때, XML문서와 같이 한곳에 명시적으로 선언하지 않고도 스프링 빈을 등록하는 방법이 있다. 빈으로 사용될 클래스에 특별한 애노테이션을 부여해주면 이런 클래스를 자동으로 찾아서 빈으로 등록하게 해줄 수 있다. 이렇게 특정 애노테이션이 붙은 클래스를 자동으로 찾아서 빈으로 등록해주는 방식을 빈 스캐닝을 통한 자동인..
자바 클래스패스(classpath)란? 클래스패스란(Class Path)란??클래스패스란 말 그대로 클래스를 찾기위한 경로이다. 자바에서 클래스패스의 의미도 똑같다. 즉, JVM이 프로그램을 실행할 때, 클래스파일을 찾는 데 기준이 되는 파일 경로를 말하는 것이다. 소스 코드(.java로 끝나는 파일)를 컴파일하면 소스 코드가 “바이트 코드”(바이너리 형태의 .class 파일)로 변환된다. java runtime(java 또는 jre)으로 이 .class 파일에 포함된 명령을 실행하려면,..
데이터베이스 Isolation Level 오늘은 데이터베이스의 isolation level이 무엇인지 왜 필요한지에대해 알아 보겠습니다.먼저 isolation level이란 트랜잭션에서 일관성이 없는 데이터를 허용하도록 하는 수준을 의미합니다.트랜잭션에서 일관성이 없는 데이터를 허용하도록 하는 수준을 Isolation Level이라고 합니다. 예를 들어, 한 사용자가 어떠한 데이터를 수정하고 있는 경우 다른 사용자들이 그 데이터에 접근하는 것을 차단함으로써 완전한 데이터만을 사용자..
intellij에서 Spring 4 초기 환경 세팅에서 디비연동까지 한 번에 하기 (Maven & Mysql & Mybatis) 이번 글은 조금 길어 질 수 있겠네요. 항상 레퍼런스 용도로 글을 작성하다보니 최대한 간단하게 포스팅하였는데 초기환경 세팅은 중요하니까요!! spring boot를 이용하여 개발할 때는 초기환경 세팅이 정말 쉬웠는데 spring 4 mvc를 사용하려다 보니 설정해야할 것들이 꽤 있더라구요. 하지만!! 한번 간단하게 따라해보면 절대 어렵지않습니다. 그럼 시작 해봅시다! spring 4!!!일단 여러분의 환경이 jdk1.8, maven이 세팅되어있다고 ..
Spring 4 하나 이상의 Dispatcher Servlet 설정하기 Web.xml<!-- application config --><context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value></context-param><listener> <listener-c..
Spring 4 mvc에서 Restful API dispatcher-servlet.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ..
Spring boot @Annotation으로 AOP적용하기 AOP를 적용하기 전에 AOP가 무엇인지에 대해 먼저 알아보자. AOP란 Aspect Oriented Programming의 약자로써 바라보는 관점을 기준으로 프로그래밍하는 기법을 말한다. 문제를 해결하기 위해 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍 함으로써 공통 모듈을 여러 코드에 쉽게 적용할 수 있도록 도와준다.AOP의 주요 용어Joinpoint : Advice를 적용 가능한 지점을 의미. 메서드 호출, ..
@Bean 과 @Component의 차이 @Beanpublic class RedisConfig { private @Value("${spring.redis.host}") String redisHost; private @Value("${spring.redis.port}") int redisPort; private @Value("${spring.redis.password}") String password; @Bean public JedisPoolConfig jedisP..