InfoQ에 나온 "Building Microservices with Spring Boot"글 링크


Spring-boot에 대한 2015년 2월 10일자 따끈따끈한 자료입니다.

이거 보고 웹서비스 도입해봐야할듯 

Buy me a coffeeBuy me a coffee

요즘 떠오르는 "스프링 부트(Spring Boot)"에 대한 스크린캐스트.

"Building 'Bootiful'­ Applications with Spring Boot" by Josh Long


Buy me a coffeeBuy me a coffee
Buy me a coffeeBuy me a coffee

2011년도말 슬라이드이지만 아직도 Spring Framework3를 사용하는 곳이 많으므로 아직도 볼만한 자바 웹개발 시작하기 슬라이드 모음

(현재 2013년 12월경에 Spring Framework 4.0이 나왔지만 아직 4.0대로 완전히 넘어가지 않았고 3.0과 비슷한 점이 많으니 3.0쪽을 많이 보면 됨. 2.0에서 3.0으로 넘어갈때 @(annotation)으로 바뀌면서 완전 바뀌고 3.0에서 4.0으로 넘어갈때엔 xml를 가급적 피하고 java단에서 처리하려는 느낌이 많이 듦)


Buy me a coffeeBuy me a coffee

[Hello world 오픈세미나]spring upgrade


스프링 어플리케이션의 문제해결사례와 안티패턴



Buy me a coffeeBuy me a coffee

Spring Framework Known Vulnerabilities and Issues


Spring Framework

Spring MVC

Spring Security


스프링 프레임워크(Spring Framework)의 알려진 취약점 정리들중 필요한 내용만 찾음.

Buy me a coffeeBuy me a coffee

이전에 만들어진 스프링 웹 소스를 분석하고 있었다.

소스를 받아서 Tomcat으로 웹 소스를 실행하려니 에러 발생. 아래와 같은 에러가 발생했다.

2012. 7. 9 오후 5:59:38 org.apache.catalina.core.ContainerBase addChildInternal
심각: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/***]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:142)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5274)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 11 more
2012. 7. 9 오후 5:59:38 org.apache.catalina.startup.HostConfig deployDescriptor
심각: Error deploying configuration descriptor C:\***\***.xml
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/***]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)


위의 문제는 웹 검색을 한 결과 "라이브러리 충돌이 났다"라는 답이 나왔다.


아래의 라이브러리는 M2로서 메이븐 버전입니다. 문제가 있는건 아니지만 아마도 라이브러리 충돌이 나는것 같습니다.  대신 다른 버전의 라이브러리로 사용을 해보시던가 아니면 첨부파일에 있는 예제로 다시 한번 확인 부탁드리겠습니다.


웹 소스에선 org.springframework-3.1.0.M2 를 사용하고 있었고 위의 에러가 주르륵 나왔었고, 위의 글을 보고 나서 최신 버전인 org.springframework-3.1.1.RELEASE 로 변경하였더니 정상적인 코드라고 잘 돌아갔음.


라이브러리 충돌이 왜 났을까? 저장소에 저장된 라이브러리가 최종 소스니, 예전에 문제 없었던것 같은데 왜?

원인을 모르고 문제를 해결한 셈이 되니 정말 찜찜했다.

하루종일 위의 에러때문에 머리 깨지는줄 알았는데 ㅠㅠ


Buy me a coffeeBuy me a coffee

스프링 프레임워크(Spring Framework)에서 빈(Bean)의 생활 주기(Life Cycle)


Java Bean을 자바섬의 커피콩으로 생각하면...... -ㅁ-

Buy me a coffeeBuy me a coffee

+ Recent posts