gitextract_cu4xnx12/ ├── README.md ├── chapter02 -- boot/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── config/ │ │ │ └── Swagger2Config.java │ │ ├── product/ │ │ │ ├── api/ │ │ │ │ └── ProductEndpoint.java │ │ │ ├── dto/ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ └── ProductDto.java │ │ │ ├── entity/ │ │ │ │ ├── Product.java │ │ │ │ └── ProductComment.java │ │ │ ├── repository/ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ └── ProductRepository.java │ │ │ └── service/ │ │ │ ├── ProductService.java │ │ │ └── impl/ │ │ │ └── ProductServiceImpl.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ └── UserEndpoint.java │ │ │ ├── dto/ │ │ │ │ └── UserDto.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ └── UserRepository.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ ├── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ └── webapp/ │ └── swagger/ │ ├── css/ │ │ ├── print.css │ │ ├── reset.css │ │ ├── screen.css │ │ ├── style.css │ │ └── typography.css │ ├── index.html │ ├── lang/ │ │ ├── ca.js │ │ ├── el.js │ │ ├── en.js │ │ ├── es.js │ │ ├── fr.js │ │ ├── geo.js │ │ ├── it.js │ │ ├── ja.js │ │ ├── ko-kr.js │ │ ├── pl.js │ │ ├── pt.js │ │ ├── ru.js │ │ ├── tr.js │ │ ├── translator.js │ │ └── zh-cn.js │ ├── lib/ │ │ ├── backbone-min.js │ │ ├── es5-shim.js │ │ ├── handlebars-4.0.5.js │ │ ├── highlight.9.1.0.pack.js │ │ ├── highlight.9.1.0.pack_extended.js │ │ ├── marked.js │ │ ├── object-assign-pollyfill.js │ │ └── swagger-oauth.js │ ├── o2c.html │ └── swagger-ui.js ├── chapter03 -- hello-cloud/ │ ├── README.md │ ├── hello-consumer/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ └── consumer/ │ │ │ ├── api/ │ │ │ │ └── HelloConsumerEndpoint.java │ │ │ └── service/ │ │ │ ├── HelloService.java │ │ │ └── HelloServiceFallback.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── hello-provider/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ └── provider/ │ │ │ └── api/ │ │ │ └── HelloProviderEndpoint.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ └── service-discovery/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ └── Application.java │ └── resources/ │ ├── application.properties │ └── banner.txt ├── chapter04 -- eureka/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ └── repository/ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ └── ProductRepository.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter04 -- eureka-cluster/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application-sdpeer1.properties │ │ ├── application-sdpeer2.properties │ │ ├── application-sdpeer3.properties │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter04 -- eureka-feign/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application-sdpeer1.properties │ │ ├── application-sdpeer2.properties │ │ ├── application-sdpeer3.properties │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter04 -- eureka-ribbon/ │ ├── .project │ ├── .settings/ │ │ ├── org.eclipse.core.resources.prefs │ │ └── org.eclipse.m2e.core.prefs │ ├── README.md │ ├── parent/ │ │ ├── .project │ │ ├── .settings/ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ └── org.eclipse.m2e.core.prefs │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ ├── org.eclipse.jdt.core.prefs │ │ │ └── org.eclipse.m2e.core.prefs │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ └── repository/ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ └── ProductRepository.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── .classpath │ │ ├── .project │ │ ├── .settings/ │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ ├── org.eclipse.jdt.core.prefs │ │ │ └── org.eclipse.m2e.core.prefs │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── .classpath │ ├── .project │ ├── .settings/ │ │ ├── org.eclipse.core.resources.prefs │ │ ├── org.eclipse.jdt.core.prefs │ │ └── org.eclipse.m2e.core.prefs │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter04 -- eureka-ribbonex/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ ├── clouddemo/ │ │ │ │ ├── Application.java │ │ │ │ ├── product/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ │ └── UserDto.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── Product.java │ │ │ │ │ │ └── ProductComment.java │ │ │ │ │ └── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── util/ │ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ │ └── ribbon/ │ │ │ ├── RibbonConfiguration.java │ │ │ └── UserRibbonConfiguration.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application-sdpeer1.properties │ │ ├── application-sdpeer2.properties │ │ ├── application-sdpeer3.properties │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter04 -- eureka-security/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter05 -- hystrix/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── banner.txt │ │ └── logback.xml │ ├── turbine-server/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ └── logback.xml │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── repository/ │ │ │ └── UserRepository.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── bootstrap.properties │ ├── data.sql │ ├── logback.xml │ └── schema.sql ├── chapter05 -- hystrix-feign/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceFallback.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ └── repository/ │ │ │ └── UserRepository.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── bootstrap.properties │ ├── data.sql │ └── schema.sql ├── chapter06 -- zuul/ │ ├── README.md │ ├── hystrix-dashboard/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── hystrix/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── user-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── user/ │ │ │ │ ├── api/ │ │ │ │ │ ├── UserDto.java │ │ │ │ │ └── UserEndpoint.java │ │ │ │ ├── entity/ │ │ │ │ │ └── User.java │ │ │ │ ├── repository/ │ │ │ │ │ └── UserRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ └── zuul-server/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ └── zuul/ │ │ ├── Application.java │ │ └── fallback/ │ │ └── UserServiceFallbackProvider.java │ └── resources/ │ ├── application.properties │ └── banner.txt ├── chapter07 -- config/ │ ├── README.md │ ├── config-server/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── config/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── banner.txt │ │ └── bootstrap.properties │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ConfigTestEndpoint.java │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── bootstrap.properties │ ├── data.sql │ └── schema.sql ├── chapter08 -- sleuth/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ ├── data.sql │ │ ├── logback-spring.xml │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── user-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── user/ │ │ │ │ ├── api/ │ │ │ │ │ ├── UserDto.java │ │ │ │ │ └── UserEndpoint.java │ │ │ │ ├── entity/ │ │ │ │ │ └── User.java │ │ │ │ └── repository/ │ │ │ │ └── UserRepository.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ ├── data.sql │ │ ├── logback-spring.xml │ │ └── schema.sql │ ├── zipkin-server/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── zuul-server/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ └── filters/ │ │ └── TraceIdFilter.java │ └── resources/ │ ├── application.properties │ └── banner.txt ├── chapter09 -- stream/ │ ├── README.md │ ├── config-server/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── banner.txt │ │ └── bootstrap.properties │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── bus/ │ │ │ │ └── MyBusEvent.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ConfigTestEndpoint.java │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── mq/ │ │ │ │ │ ├── SpringCloudBookChannels.java │ │ │ │ │ ├── UserMsg.java │ │ │ │ │ └── UserMsgListener.java │ │ │ │ ├── redis/ │ │ │ │ │ ├── RedisConfig.java │ │ │ │ │ └── repository/ │ │ │ │ │ └── UserRedisRepository.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ ├── UserRemoteClient.java │ │ │ │ ├── UserService.java │ │ │ │ └── impl/ │ │ │ │ ├── MyBusEventListener.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── util/ │ │ │ ├── ApplicationContextHolder.java │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── bootstrap.properties │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── bus/ │ │ │ └── MyBusEvent.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ ├── UserEndpoint.java │ │ │ │ └── UserEventEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ └── UserRepository.java │ │ │ └── service/ │ │ │ ├── UserMsg.java │ │ │ ├── UserMsgSender.java │ │ │ └── UserService.java │ │ └── util/ │ │ ├── ApplicationContextHolder.java │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── bootstrap.properties │ ├── data.sql │ └── schema.sql ├── chapter10 -- security-boot/ │ ├── README.md │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── config/ │ │ │ │ │ └── SecurityConfig.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application-sdpeer1.properties │ │ ├── application-sdpeer2.properties │ │ ├── application-sdpeer3.properties │ │ ├── application.properties │ │ └── banner.txt │ └── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── chapter10 -- security-jwt/ │ ├── README.md │ ├── auth-server/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── authserver/ │ │ │ ├── Application.java │ │ │ ├── config/ │ │ │ │ ├── JWTTokenConfig.java │ │ │ │ ├── OAuthConfig.java │ │ │ │ ├── OAuthWebSecurityConfigurer.java │ │ │ │ └── ServiceConfig.java │ │ │ └── jwt/ │ │ │ └── JWTTokenEnhancer.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── parent/ │ │ └── pom.xml │ ├── pom.xml │ ├── product-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── product/ │ │ │ │ ├── api/ │ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ │ ├── ProductEndpoint.java │ │ │ │ │ └── UserDto.java │ │ │ │ ├── config/ │ │ │ │ │ └── ResourceServerConfiguration.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── Product.java │ │ │ │ │ └── ProductComment.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ │ └── ProductRepository.java │ │ │ │ └── service/ │ │ │ │ ├── UserService.java │ │ │ │ └── impl/ │ │ │ │ └── UserServiceImpl.java │ │ │ └── util/ │ │ │ ├── HibernatePhysicalNamingNamingStrategy.java │ │ │ ├── JWTOAuthTokenInterceptor.java │ │ │ ├── UserContext.java │ │ │ └── UserContextFilter.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ ├── service-discovery/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ └── Application.java │ │ └── resources/ │ │ ├── application-sdpeer1.properties │ │ ├── application-sdpeer2.properties │ │ ├── application-sdpeer3.properties │ │ ├── application.properties │ │ └── banner.txt │ ├── user-service/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cd826dong/ │ │ │ └── clouddemo/ │ │ │ ├── Application.java │ │ │ ├── user/ │ │ │ │ ├── api/ │ │ │ │ │ ├── UserDto.java │ │ │ │ │ └── UserEndpoint.java │ │ │ │ ├── config/ │ │ │ │ │ ├── JWTTokenConfig.java │ │ │ │ │ ├── ResourceServerConfiguration.java │ │ │ │ │ └── ServiceConfig.java │ │ │ │ ├── entity/ │ │ │ │ │ └── User.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── UserRepository.java │ │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ │ └── UserRepositoryImpl.java │ │ │ │ └── service/ │ │ │ │ └── UserService.java │ │ │ └── util/ │ │ │ ├── HibernatePhysicalNamingNamingStrategy.java │ │ │ ├── JWTOAuthTokenInterceptor.java │ │ │ ├── JWTTokenEnhancer.java │ │ │ ├── UserContext.java │ │ │ └── UserContextFilter.java │ │ └── resources/ │ │ ├── .h2.server.properties │ │ ├── application.properties │ │ ├── banner.txt │ │ ├── data.sql │ │ └── schema.sql │ └── zuul-server/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ └── zuul/ │ │ ├── Application.java │ │ ├── config/ │ │ │ └── ServiceConfig.java │ │ └── filters/ │ │ ├── FilterUtils.java │ │ └── JWTTokenFilter.java │ └── resources/ │ ├── application.properties │ └── banner.txt └── chapter10 -- security-oauth/ ├── README.md ├── auth-server/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── authserver/ │ │ │ ├── Application.java │ │ │ └── config/ │ │ │ ├── OAuthConfig.java │ │ │ └── OAuthWebSecurityConfigurer.java │ │ └── security/ │ │ └── InspectHeaderFilter.java │ └── resources/ │ ├── application.properties │ └── banner.txt ├── parent/ │ └── pom.xml ├── pom.xml ├── product-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── product/ │ │ │ ├── Application.java │ │ │ ├── api/ │ │ │ │ ├── ProductCommentDto.java │ │ │ │ ├── ProductEndpoint.java │ │ │ │ └── UserDto.java │ │ │ ├── config/ │ │ │ │ └── ResourceServerConfiguration.java │ │ │ ├── entity/ │ │ │ │ ├── Product.java │ │ │ │ └── ProductComment.java │ │ │ ├── repository/ │ │ │ │ ├── ProductCommentRepository.java │ │ │ │ └── ProductRepository.java │ │ │ └── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql ├── service-discovery/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ └── Application.java │ └── resources/ │ ├── application-sdpeer1.properties │ ├── application-sdpeer2.properties │ ├── application-sdpeer3.properties │ ├── application.properties │ └── banner.txt ├── user-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cd826dong/ │ │ └── clouddemo/ │ │ ├── Application.java │ │ ├── user/ │ │ │ ├── api/ │ │ │ │ ├── UserDto.java │ │ │ │ └── UserEndpoint.java │ │ │ ├── config/ │ │ │ │ └── ResourceServerConfiguration.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ ├── UserRepositoryEx.java │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── util/ │ │ └── HibernatePhysicalNamingNamingStrategy.java │ └── resources/ │ ├── .h2.server.properties │ ├── application.properties │ ├── banner.txt │ ├── data.sql │ └── schema.sql └── zuul-server/ ├── pom.xml └── src/ └── main/ ├── java/ │ └── com/ │ └── cd826dong/ │ └── clouddemo/ │ └── zuul/ │ └── zuulserver/ │ └── Application.java └── resources/ ├── application.properties ├── banner.txt └── logback.xml