spring java config transaction

spring java config transaction 저번 포스팅에서 rollback이 안되는 문제 있었다. rollback도 안됐지만 service 계층의 영속성도 안됐다(물론 당연한 얘기지만) 해결은 했는데 잘 모르겠다. RootContext를 버리니 잘 된다. 그래서 다시 책을 봤다. 하지만 안보인다.(대충 봐서) 다시 생각이 나서 김영한님의 github를 봤다. RootContext가 없다. 솔직히 아직 잘 모르겠다. root와 servlet context의 대해.. 토비님 책을 다시 읽어야 겠다. servlet이 하나라면 굳이 분리할 필요도 없다고 하는거 같기도 하고.. 아무튼 지금은 잘모르겠다. 일단 나중에 다시 살펴보겠다… Read More

spring java config

spring java config 맨날 스프링부트로 공부 하다 보니 자바 config가 기억이 잘 안난다. 그래서 대충 한번 해봤다. 일반 스프링과 jpa 구현체는 하이버네이트로 했다. maven 프로젝트 webapp으로 만들었다. pom.xml에 다음과 같이 추가를 했다. <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.5.RELEASE</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.2.5.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.16</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>1.7.16</version> </dependency>.. Read More

spring @bean

spring @Bean 스프링에 자주 사용되는 어노테이션으로 @Bean에 대해 살짝 맛만 볼라고 한다. 저번에 한번 얘기를 했는데 ConfigurationClassParser클래스 doProcessConfigurationClass 메소드에 여러 메타 어노테이션을 파싱하는 부분이 있다. … // Process individual @Bean methods Set<MethodMetadata> beanMethods = sourceClass.getMetadata().getAnnotatedMethods(Bean.class.getName()); for (MethodMetadata methodMetadata : beanMethods) { configClass.addBeanMethod(new BeanMethod(methodMetadata, configClass)); } … doProcessConfigurationClass 메소드의 Bean을 파싱하는 부분이다. 하지만 메타 정보만 갖고 있고 이때 인스턴스는 하지 않는다.(이 부분은 저번에도 얘기 한듯 하다) 그럼 우리가 흔히 쓰는 @Bean.. Read More