├── .gitignore
├── AOP
├── SpringAOP_AspectJ
│ ├── m05-advice-deep-dive
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ ├── advicedeepdive
│ │ │ │ │ ├── AfterAdvice.java
│ │ │ │ │ ├── AfterReturningAdvice.java
│ │ │ │ │ ├── AfterThrowingAdvice.java
│ │ │ │ │ ├── AroundAdvice.java
│ │ │ │ │ ├── BeforeAdvice.java
│ │ │ │ │ └── SimpleService.java
│ │ │ │ └── configuration
│ │ │ │ │ └── AdviceDeepDiveConfiguration.java
│ │ │ └── resources
│ │ │ │ └── log4j.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── advicedeepdive
│ │ │ ├── AfterAdviceTest.java
│ │ │ ├── AfterReturningAdviceTest.java
│ │ │ ├── AfterThrowingAdviceTest.java
│ │ │ ├── AroundAdviceTest.java
│ │ │ └── BeforeAdviceTest.java
│ ├── m06-pointcut-deep-dive
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── annotation
│ │ │ │ └── Trace.java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ ├── aspect
│ │ │ │ │ ├── BeanNameAspect.java
│ │ │ │ │ ├── ClassNameAspect.java
│ │ │ │ │ └── TraceAnnotationAspect.java
│ │ │ │ │ ├── configuration
│ │ │ │ │ └── SystemConfiguration.java
│ │ │ │ │ ├── repository
│ │ │ │ │ └── SimpleRepository.java
│ │ │ │ │ └── service
│ │ │ │ │ └── SimpleService.java
│ │ │ │ └── mypointcuts
│ │ │ │ └── MyPointcuts.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── aspect
│ │ │ ├── BeanNameAspectTest.java
│ │ │ ├── ClassNameAspectTest.java
│ │ │ └── TraceAnnotationAspectTest.java
│ ├── m07-expressing-architecture-using-pointcut-annotations
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ └── com
│ │ │ │ │ └── ewolff
│ │ │ │ │ ├── aspects
│ │ │ │ │ ├── CallTracker.java
│ │ │ │ │ ├── ExceptionLoggingAspect.java
│ │ │ │ │ ├── PerformanceAspect.java
│ │ │ │ │ └── TracingAspect.java
│ │ │ │ │ ├── repository
│ │ │ │ │ └── MyRepository.java
│ │ │ │ │ └── service
│ │ │ │ │ └── MyService.java
│ │ │ └── resources
│ │ │ │ └── system-configuration.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── aspects
│ │ │ ├── AroundTracingAspectTest.java
│ │ │ ├── ExceptionLoggingAspectTest.java
│ │ │ └── PerformanceAspectTest.java
│ ├── m07-expressing-architecture-using-pointcut-packages
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ └── com
│ │ │ │ │ └── ewolff
│ │ │ │ │ ├── aspects
│ │ │ │ │ ├── CallTracker.java
│ │ │ │ │ ├── ExceptionLoggingAspect.java
│ │ │ │ │ ├── PerformanceAspect.java
│ │ │ │ │ └── TracingAspect.java
│ │ │ │ │ ├── repository
│ │ │ │ │ └── MyRepository.java
│ │ │ │ │ └── service
│ │ │ │ │ └── MyService.java
│ │ │ └── resources
│ │ │ │ └── system-configuration.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── aspects
│ │ │ ├── AroundTracingAspectTest.java
│ │ │ ├── ExceptionLoggingAspectTest.java
│ │ │ └── PerformanceAspectTest.java
│ ├── m08-how-aspects-are-added-to-objects
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ ├── aspects
│ │ │ │ │ ├── CallTracker.java
│ │ │ │ │ └── DemoAspect.java
│ │ │ │ │ └── demo
│ │ │ │ │ ├── DemoClass.java
│ │ │ │ │ └── TxExample.java
│ │ │ │ └── configuration
│ │ │ │ └── SystemConfiguration.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── aspects
│ │ │ ├── DemoTest.java
│ │ │ └── ManuallyAddingAdvice.java
│ ├── m09-spring-aop-vs-aspectj-load-time-weaving
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── ewolff
│ │ │ │ ├── demo
│ │ │ │ ├── CallAdvicedMethod.java
│ │ │ │ └── DemoClass.java
│ │ │ │ └── loadtimeweaving
│ │ │ │ └── DemoAspect.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── aop.xml
│ ├── m10-spring-aspect-library-tracing
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ ├── com
│ │ │ │ │ └── ewolff
│ │ │ │ │ │ └── service
│ │ │ │ │ │ └── PlainService.java
│ │ │ │ └── configuration
│ │ │ │ │ └── SystemConfiguration.java
│ │ │ └── resources
│ │ │ │ └── system-configuration.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── aspects
│ │ │ └── TracingTest.java
│ ├── m10-spring-aspect-library-transactions
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ └── com
│ │ │ │ │ └── ewolff
│ │ │ │ │ ├── service
│ │ │ │ │ └── PlainService.java
│ │ │ │ │ └── transaction
│ │ │ │ │ └── StubPlatformTransactionManager.java
│ │ │ └── resources
│ │ │ │ └── system-configuration.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── aspects
│ │ │ └── TransactionTest.java
│ ├── m11-real-life-aspects-circuitbreaker
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ └── circuitbreaker
│ │ │ │ │ ├── CircuitBreaker.java
│ │ │ │ │ ├── CircuitBreakerAspect.java
│ │ │ │ │ ├── CircuitBreakerService.java
│ │ │ │ │ ├── CircuitBreakerServiceImpl.java
│ │ │ │ │ └── CircuitBreakerServiceImpl2.java
│ │ │ │ └── configuration
│ │ │ │ └── SystemConfiguration.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── circuitbreaker
│ │ │ └── CircuitBreakerTest.java
│ ├── m11-real-life-aspects-datacapture
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ ├── datacapture
│ │ │ │ │ ├── Call.java
│ │ │ │ │ ├── CallContext.java
│ │ │ │ │ └── FirstFailureDataCaptureAspect.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── ErroneousService.java
│ │ │ │ │ └── PlainService.java
│ │ │ │ └── configuration
│ │ │ │ └── SystemConfiguration.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── datacapture
│ │ │ └── DataCaptureTest.java
│ ├── m11-real-life-aspects-exceptions
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ ├── exceptions
│ │ │ │ │ └── ExceptionHandling.java
│ │ │ │ │ └── retry
│ │ │ │ │ ├── ErroneousService.java
│ │ │ │ │ └── RetryAspect.java
│ │ │ │ └── configuration
│ │ │ │ └── SystemConfiguration.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── retry
│ │ │ └── RetryTest.java
│ ├── m11-real-life-aspects-filter
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ ├── aspect
│ │ │ │ │ └── AccountFilterAspect.java
│ │ │ │ │ ├── domain
│ │ │ │ │ ├── Account.java
│ │ │ │ │ └── Customer.java
│ │ │ │ │ └── repository
│ │ │ │ │ └── AccountRepository.java
│ │ │ │ └── configuration
│ │ │ │ └── SystemConfiguration.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── filter
│ │ │ └── FilterTest.java
│ ├── m11-real-life-aspects-jpa
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── jpa
│ │ │ ├── HibernateStateSynchronizer.java
│ │ │ └── JPAStateSynchronizer.java
│ ├── m11-real-life-aspects-retry
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ ├── SystemArchitecture.java
│ │ │ │ ├── com
│ │ │ │ └── ewolff
│ │ │ │ │ ├── retry
│ │ │ │ │ ├── ErroneousService.java
│ │ │ │ │ └── RetryAspect.java
│ │ │ │ │ └── service
│ │ │ │ │ └── PlainService.java
│ │ │ │ └── configuration
│ │ │ │ └── SystemConfiguration.java
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ewolff
│ │ │ └── retry
│ │ │ └── RetryTest.java
│ └── pom.xml
├── Tests
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ ├── App.java
│ │ ├── aspects
│ │ └── TestAspect.java
│ │ ├── initialization
│ │ └── config
│ │ │ └── AppConfiguration.java
│ │ └── services
│ │ ├── MyClass.java
│ │ └── MyOtherClass.java
└── pom.xml
├── DB
├── SpringCache
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ ├── App.java
│ │ ├── config
│ │ └── AppConfig.java
│ │ ├── domain
│ │ └── City.java
│ │ ├── repositories
│ │ └── CitiesRepository.java
│ │ └── services
│ │ └── CitiesService.java
├── SpringData
│ ├── Spring_Data_for_Java_Developers
│ │ ├── 1_configurations
│ │ │ ├── Java_Configuration
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── oreilly
│ │ │ │ │ └── sdata
│ │ │ │ │ ├── Application.java
│ │ │ │ │ ├── BookRepository.java
│ │ │ │ │ ├── BookService.java
│ │ │ │ │ ├── DataConfiguration.java
│ │ │ │ │ └── data
│ │ │ │ │ └── entities
│ │ │ │ │ └── Book.java
│ │ │ ├── Spring_Boot_Configuration
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── BookRepository.java
│ │ │ │ │ │ ├── SpringDataBootApplication.java
│ │ │ │ │ │ └── data
│ │ │ │ │ │ └── entities
│ │ │ │ │ │ └── Book.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ ├── XML_Configuration
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── Application.java
│ │ │ │ │ │ ├── BookRepository.java
│ │ │ │ │ │ ├── BookService.java
│ │ │ │ │ │ └── data
│ │ │ │ │ │ └── entities
│ │ │ │ │ │ └── Book.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ └── pom.xml
│ │ ├── 2_crud
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── oreilly
│ │ │ │ │ └── sdata
│ │ │ │ │ ├── Application.java
│ │ │ │ │ ├── data
│ │ │ │ │ └── entities
│ │ │ │ │ │ └── Book.java
│ │ │ │ │ ├── repositories
│ │ │ │ │ └── BookRepository.java
│ │ │ │ │ └── util
│ │ │ │ │ └── BookUtil.java
│ │ │ │ └── resources
│ │ │ │ ├── init.sql
│ │ │ │ ├── log4j.properties
│ │ │ │ └── spring
│ │ │ │ └── application-context.xml
│ │ ├── 3_derived_query
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── data
│ │ │ │ │ │ └── entities
│ │ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ │ └── Book.java
│ │ │ │ │ │ └── repositories
│ │ │ │ │ │ └── BookRepository.java
│ │ │ │ └── resources
│ │ │ │ │ ├── init.sql
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── sdata
│ │ │ │ └── TestBookRepository.java
│ │ ├── 4_query_techniques
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── data
│ │ │ │ │ │ └── entities
│ │ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ │ └── Book.java
│ │ │ │ │ │ └── repositories
│ │ │ │ │ │ └── BookRepository.java
│ │ │ │ └── resources
│ │ │ │ │ ├── init.sql
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── sdata
│ │ │ │ └── TestBookRepository.java
│ │ ├── 5_advanced_techniques
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── AsyncBookRepositoryApplication.java
│ │ │ │ │ │ ├── CustomAuditorAware.java
│ │ │ │ │ │ ├── data
│ │ │ │ │ │ └── entities
│ │ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ │ └── Book.java
│ │ │ │ │ │ ├── repositories
│ │ │ │ │ │ ├── BaseRepository.java
│ │ │ │ │ │ ├── BookRepository.java
│ │ │ │ │ │ └── ExtendedRepositoryImpl.java
│ │ │ │ │ │ └── util
│ │ │ │ │ │ └── BookUtil.java
│ │ │ │ └── resources
│ │ │ │ │ ├── init.sql
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── sdata
│ │ │ │ └── TestBookRepository.java
│ │ ├── 6_spring_mvc_integration
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── oreilly
│ │ │ │ │ └── sdata
│ │ │ │ │ ├── controllers
│ │ │ │ │ └── BookController.java
│ │ │ │ │ ├── data
│ │ │ │ │ └── entities
│ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ └── Book.java
│ │ │ │ │ └── repositories
│ │ │ │ │ └── BookRepository.java
│ │ │ │ ├── resources
│ │ │ │ ├── init.sql
│ │ │ │ ├── log4j.properties
│ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── spring
│ │ │ │ ├── dispatcher-servlet.xml
│ │ │ │ └── root-context.xml
│ │ │ │ ├── views
│ │ │ │ ├── book.jsp
│ │ │ │ └── books.jsp
│ │ │ │ └── web.xml
│ │ ├── 7_mongo
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── config
│ │ │ │ │ │ └── MongoDBConfig.java
│ │ │ │ │ │ ├── data
│ │ │ │ │ │ └── entities
│ │ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ │ └── Book.java
│ │ │ │ │ │ └── util
│ │ │ │ │ │ └── BookUtil.java
│ │ │ │ └── resources
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── sdata
│ │ │ │ ├── TestMongoJavaConfig.java
│ │ │ │ └── TestMongoXMLConfig.java
│ │ ├── 8_mongo_repository
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ ├── AuthorToDBObjectConverter.java
│ │ │ │ │ │ ├── Book.java
│ │ │ │ │ │ ├── DBObjectToAuthorConverter.java
│ │ │ │ │ │ ├── Library.java
│ │ │ │ │ │ ├── PointDeserializer.java
│ │ │ │ │ │ ├── repository
│ │ │ │ │ │ └── BookRepository.java
│ │ │ │ │ │ └── util
│ │ │ │ │ │ └── BookUtil.java
│ │ │ │ └── resources
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ ├── populate.js
│ │ │ │ │ └── spring
│ │ │ │ │ └── application-context.xml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── sdata
│ │ │ │ └── TestMongoXMLConfig.java
│ │ ├── 9_spring_data_rest
│ │ │ ├── pom.xml
│ │ │ ├── spring-data-course
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ ├── META-INF
│ │ │ │ │ │ └── MANIFEST.MF
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── sdata
│ │ │ │ │ │ ├── Application.java
│ │ │ │ │ │ ├── Author.java
│ │ │ │ │ │ ├── Book.java
│ │ │ │ │ │ ├── BookRepository.java
│ │ │ │ │ │ └── BookService.java
│ │ │ │ │ └── resources
│ │ │ │ │ ├── application-context.xml
│ │ │ │ │ ├── init.sql
│ │ │ │ │ └── log4j.properties
│ │ │ └── spring-data-rest
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── oreilly
│ │ │ │ │ └── sdata
│ │ │ │ │ ├── ClassicProjection.java
│ │ │ │ │ └── CustomRepositoryRestConfigurerAdapter.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── spring
│ │ │ │ └── root-context.xml
│ │ │ │ └── web.xml
│ │ └── pom.xml
│ ├── pom.xml
│ └── ps-guitar-db
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── guitar
│ │ │ │ └── db
│ │ │ │ ├── config
│ │ │ │ └── JpaConfiguration.java
│ │ │ │ ├── model
│ │ │ │ ├── Location.java
│ │ │ │ ├── Manufacturer.java
│ │ │ │ ├── Model.java
│ │ │ │ └── ModelType.java
│ │ │ │ └── repository
│ │ │ │ ├── LocationRepository.java
│ │ │ │ ├── ManufacturerRepository.java
│ │ │ │ ├── ModelRepository.java
│ │ │ │ ├── ModelTypeRepository.java
│ │ │ │ └── spring_data
│ │ │ │ ├── LocationDataJPARepository.java
│ │ │ │ ├── ManufacturerDataJPARepository.java
│ │ │ │ ├── ModelDataJPARepository.java
│ │ │ │ ├── ModelTypeDataJPARepository.java
│ │ │ │ └── custom
│ │ │ │ ├── ModelDataCustomJPARepository.java
│ │ │ │ └── ModelDataJPARepositoryImpl.java
│ │ └── resources
│ │ │ ├── META-INF
│ │ │ ├── persistence.xml
│ │ │ └── spring
│ │ │ │ └── app-context.xml
│ │ │ └── h2
│ │ │ ├── data.sql
│ │ │ └── db.h2.db
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── guitar
│ │ │ └── db
│ │ │ ├── LocationPersistenceTests.java
│ │ │ ├── ManufacturerPersistenceTests.java
│ │ │ ├── ModelPersistenceTests.java
│ │ │ └── ModelTypePersistenceTests.java
│ │ └── resources
│ │ ├── com
│ │ └── guitar
│ │ │ └── db
│ │ │ └── applicationTests-context.xml
│ │ └── log4j.properties
├── SpringJDBC
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── pluralsight
│ │ │ │ ├── controller
│ │ │ │ └── RideController.java
│ │ │ │ ├── model
│ │ │ │ └── Ride.java
│ │ │ │ ├── repository
│ │ │ │ ├── RideRepository.java
│ │ │ │ └── RideRepositoryImpl.java
│ │ │ │ ├── service
│ │ │ │ ├── RideService.java
│ │ │ │ └── RideServiceImpl.java
│ │ │ │ └── util
│ │ │ │ ├── RideRowMapper.java
│ │ │ │ └── ServiceError.java
│ │ ├── resources
│ │ │ ├── db
│ │ │ │ ├── datasource.properties
│ │ │ │ └── schema.sql
│ │ │ ├── jdbc-config.xml
│ │ │ └── log4j.properties
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── config
│ │ │ │ └── servlet-config.xml
│ │ │ └── web.xml
│ │ │ └── index.jsp
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── pluralsight
│ │ └── controller
│ │ └── RestControllerTest.java
└── pom.xml
├── IOC
├── Cert
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ ├── autowire
│ │ │ │ ├── beans
│ │ │ │ │ ├── BeanConstruct.java
│ │ │ │ │ ├── BeanMethod.java
│ │ │ │ │ ├── BeanMethodReturnValue.java
│ │ │ │ │ ├── BeanSetter.java
│ │ │ │ │ └── BeanValue.java
│ │ │ │ └── config
│ │ │ │ │ └── AutowireConfiguration.java
│ │ │ │ ├── factorybean
│ │ │ │ ├── App.java
│ │ │ │ ├── beans
│ │ │ │ │ ├── MainBean.java
│ │ │ │ │ └── factory
│ │ │ │ │ │ └── MainBeanFactory.java
│ │ │ │ └── config
│ │ │ │ │ └── FactoryBeanConfiguration.java
│ │ │ │ ├── initialization
│ │ │ │ ├── App.java
│ │ │ │ ├── beans
│ │ │ │ │ ├── Address.java
│ │ │ │ │ ├── Item.java
│ │ │ │ │ ├── User.java
│ │ │ │ │ └── order
│ │ │ │ │ │ ├── Average.java
│ │ │ │ │ │ ├── Excellent.java
│ │ │ │ │ │ ├── Good.java
│ │ │ │ │ │ └── Rating.java
│ │ │ │ ├── bfpp
│ │ │ │ │ └── UserBeanFactoryPostProcessor.java
│ │ │ │ ├── bpp
│ │ │ │ │ └── UserBeanPostProcessor.java
│ │ │ │ └── config
│ │ │ │ │ └── AppInitConfiguration.java
│ │ │ │ ├── pair
│ │ │ │ ├── App.java
│ │ │ │ ├── beans
│ │ │ │ │ ├── MainBean.java
│ │ │ │ │ └── SecondBean.java
│ │ │ │ └── config
│ │ │ │ │ └── PairConfiguration.java
│ │ │ │ ├── profile
│ │ │ │ ├── MainProfiles.java
│ │ │ │ ├── beans
│ │ │ │ │ ├── ProfileBeanHisto.java
│ │ │ │ │ └── ProfileBeanLive.java
│ │ │ │ ├── config
│ │ │ │ │ ├── TestConfiguration1.java
│ │ │ │ │ ├── TestConfiguration2.java
│ │ │ │ │ └── TestConfiguration3.java
│ │ │ │ └── primary
│ │ │ │ │ ├── MainApp.java
│ │ │ │ │ ├── NoSQLUserService.java
│ │ │ │ │ ├── PostgreUserServiceImpl.java
│ │ │ │ │ ├── PrimaryTestConfiguration.java
│ │ │ │ │ └── UserService.java
│ │ │ │ ├── proxy
│ │ │ │ ├── App.java
│ │ │ │ ├── beans
│ │ │ │ │ ├── Bean1.java
│ │ │ │ │ ├── Bean2.java
│ │ │ │ │ └── Bean3.java
│ │ │ │ └── config
│ │ │ │ │ └── AppProxyConfiguration.java
│ │ │ │ ├── schedule
│ │ │ │ ├── App.java
│ │ │ │ ├── beans
│ │ │ │ │ ├── Bean.java
│ │ │ │ │ ├── BeanChild.java
│ │ │ │ │ └── BeanParent.java
│ │ │ │ └── config
│ │ │ │ │ └── SpringConfig.java
│ │ │ │ └── state
│ │ │ │ ├── App.java
│ │ │ │ ├── beans
│ │ │ │ └── StatefulBean.java
│ │ │ │ └── config
│ │ │ │ └── StateConfiguration.java
│ │ └── resources
│ │ │ └── pair
│ │ │ └── pair.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ └── ProfilesTest.java
├── Courses
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ ├── jb
│ │ │ │ ├── _1_di
│ │ │ │ │ ├── DrawingApp.java
│ │ │ │ │ ├── TriangleAutowiringByConstructor.java
│ │ │ │ │ ├── TriangleAutowiringByName.java
│ │ │ │ │ ├── TriangleAutowiringByType.java
│ │ │ │ │ ├── TriangleCollections.java
│ │ │ │ │ └── beans
│ │ │ │ │ │ ├── Point.java
│ │ │ │ │ │ ├── Square.java
│ │ │ │ │ │ └── Triangle.java
│ │ │ │ ├── _2_scope_lifecycle
│ │ │ │ │ ├── DisplayNameBeanPostProcessor.java
│ │ │ │ │ ├── DrawingApp.java
│ │ │ │ │ ├── MyBeanFactoryPostProcessor.java
│ │ │ │ │ └── beans
│ │ │ │ │ │ ├── Triangle.java
│ │ │ │ │ │ ├── TriangleAware.java
│ │ │ │ │ │ ├── TriangleInheritance.java
│ │ │ │ │ │ ├── TriangleLifecycle.java
│ │ │ │ │ │ ├── autowired
│ │ │ │ │ │ ├── Building.java
│ │ │ │ │ │ ├── Food.java
│ │ │ │ │ │ ├── Item.java
│ │ │ │ │ │ ├── NotExistsBean.java
│ │ │ │ │ │ ├── Person.java
│ │ │ │ │ │ └── Shop.java
│ │ │ │ │ │ ├── dependency
│ │ │ │ │ │ ├── Dependency.java
│ │ │ │ │ │ └── Holder.java
│ │ │ │ │ │ └── qualifier
│ │ │ │ │ │ ├── FactoryMethodComponent.java
│ │ │ │ │ │ └── TestBean.java
│ │ │ │ └── _3_annotation_event
│ │ │ │ │ ├── Circle.java
│ │ │ │ │ ├── DrawingApp.java
│ │ │ │ │ ├── Point.java
│ │ │ │ │ ├── Shape.java
│ │ │ │ │ ├── Triangle.java
│ │ │ │ │ └── event
│ │ │ │ │ ├── DrawEvent.java
│ │ │ │ │ ├── DrawingEventApp.java
│ │ │ │ │ ├── MyEventListener.java
│ │ │ │ │ └── MyEventPublisher.java
│ │ │ │ ├── lmi
│ │ │ │ ├── java
│ │ │ │ │ ├── _1_version_using_proxymode
│ │ │ │ │ │ ├── AppLMI.java
│ │ │ │ │ │ ├── ConfigurationLMI.java
│ │ │ │ │ │ ├── PrototypeService.java
│ │ │ │ │ │ └── SingletonService.java
│ │ │ │ │ ├── _2_version_using_lookup_annotation
│ │ │ │ │ │ ├── App.java
│ │ │ │ │ │ ├── Command.java
│ │ │ │ │ │ ├── CommandManager.java
│ │ │ │ │ │ └── LMIConfiguration.java
│ │ │ │ │ └── _3_version_using_lookup_annotation_and_abstract
│ │ │ │ │ │ ├── App.java
│ │ │ │ │ │ ├── Command.java
│ │ │ │ │ │ ├── CommandManager.java
│ │ │ │ │ │ └── LMIConfiguration.java
│ │ │ │ └── xml
│ │ │ │ │ ├── LmiMain.java
│ │ │ │ │ └── components
│ │ │ │ │ ├── Message.java
│ │ │ │ │ └── MessageService.java
│ │ │ │ ├── pluralsight
│ │ │ │ ├── java
│ │ │ │ │ ├── Application.java
│ │ │ │ │ ├── config
│ │ │ │ │ │ └── AppConfig.java
│ │ │ │ │ ├── domain
│ │ │ │ │ │ └── Customer.java
│ │ │ │ │ ├── repository
│ │ │ │ │ │ ├── CustomRepository.java
│ │ │ │ │ │ └── HibernateCustomRepository.java
│ │ │ │ │ └── service
│ │ │ │ │ │ ├── CustomerService.java
│ │ │ │ │ │ └── CustomerServiceImpl.java
│ │ │ │ └── xml
│ │ │ │ │ ├── Application.java
│ │ │ │ │ ├── domain
│ │ │ │ │ └── Customer.java
│ │ │ │ │ ├── repository
│ │ │ │ │ ├── CustomRepository.java
│ │ │ │ │ └── HibernateCustomRepository.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── CustomerService.java
│ │ │ │ │ └── CustomerServiceImpl.java
│ │ │ │ └── spring_ripper
│ │ │ │ ├── part1
│ │ │ │ ├── Application.java
│ │ │ │ ├── annotations
│ │ │ │ │ ├── DeprecatedClass.java
│ │ │ │ │ ├── InjectRandomInt.java
│ │ │ │ │ ├── PostProxy.java
│ │ │ │ │ └── Profiling.java
│ │ │ │ ├── bean
│ │ │ │ │ ├── Quoter.java
│ │ │ │ │ └── impl
│ │ │ │ │ │ ├── T1000.java
│ │ │ │ │ │ └── TerminatorQuoter.java
│ │ │ │ ├── bean_factory_post_processors
│ │ │ │ │ └── DeprecationHandlerBeanFactoryPostProcessor.java
│ │ │ │ ├── bean_post_processors
│ │ │ │ │ ├── InjectRandomIntAnnotationBeanPostProcessor.java
│ │ │ │ │ └── ProfilingHandlerBeanPostProcessor.java
│ │ │ │ ├── context
│ │ │ │ │ └── PropertyFileApplicationContext.java
│ │ │ │ ├── context_listeners
│ │ │ │ │ └── PostProxyInvokerContextListener.java
│ │ │ │ └── mbean
│ │ │ │ │ ├── ProfilingController.java
│ │ │ │ │ └── ProfilingControllerMBean.java
│ │ │ │ └── part2
│ │ │ │ ├── Application.java
│ │ │ │ ├── bean_post_processors
│ │ │ │ └── CustomScopeRegistryBeanFactoryPostProcessor.java
│ │ │ │ ├── config
│ │ │ │ └── Config.java
│ │ │ │ ├── scope
│ │ │ │ └── PeriodicalScopeConfigurer.java
│ │ │ │ └── screensaver
│ │ │ │ └── ColorFrame.java
│ │ └── resources
│ │ │ ├── jb
│ │ │ ├── _1_di
│ │ │ │ └── spring.xml
│ │ │ ├── _2_scope_lifecycle
│ │ │ │ ├── pointsconfig.properties
│ │ │ │ └── spring.xml
│ │ │ └── _3_annotation_event
│ │ │ │ ├── config.properties
│ │ │ │ └── spring.xml
│ │ │ ├── lmi
│ │ │ └── spring-config.xml
│ │ │ ├── pluralsight
│ │ │ ├── java
│ │ │ │ └── app.properties
│ │ │ └── xml
│ │ │ │ └── spring.xml
│ │ │ └── spring_ripper
│ │ │ ├── context.properties
│ │ │ └── spring.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ ├── MainProfiles.java
│ │ ├── ProfileBeanHisto.java
│ │ ├── ProfileBeanLive.java
│ │ ├── ProfilesTest.java
│ │ ├── TestConfiguration1.java
│ │ ├── TestConfiguration2.java
│ │ ├── TestConfiguration3.java
│ │ └── TestConfiguration4.java
├── IOC.iml
└── pom.xml
├── Integration
├── SimpleJMX
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ ├── client
│ │ ├── Client.java
│ │ └── config
│ │ │ └── ClientJmxConfig.java
│ │ └── server
│ │ ├── Server.java
│ │ ├── beans
│ │ ├── IMBeanExample.java
│ │ └── impl
│ │ │ └── MBeanExample.java
│ │ └── config
│ │ └── ServerJmxConfig.java
├── SimpleRMI
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ ├── client
│ │ ├── Client.java
│ │ └── config
│ │ │ └── RmiClientConfig.java
│ │ └── server
│ │ ├── Server.java
│ │ ├── config
│ │ └── RmiServerConfig.java
│ │ └── services
│ │ ├── UserService.java
│ │ └── UserServiceImpl.java
└── pom.xml
├── LICENSE
├── Notes.md
├── README.md
├── Spring5
├── Reactive
│ ├── .gitignore
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── pluralsight
│ │ │ └── web
│ │ │ └── reactive
│ │ │ ├── ReactiveApplication.java
│ │ │ ├── controller
│ │ │ └── PersonController.java
│ │ │ ├── model
│ │ │ └── Person.java
│ │ │ └── repository
│ │ │ └── PersonRepository.java
│ │ └── resources
│ │ ├── application.properties
│ │ ├── data.sql
│ │ └── schema.sql
├── Tester
│ ├── .gitignore
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── pluralsight
│ │ │ │ └── TesterApplication.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── pluralsight
│ │ ├── TesterAssertionTests.java
│ │ ├── TesterAssumptionTests.java
│ │ ├── TesterExceptionTests.java
│ │ └── TesterRunnerTests.java
└── pom.xml
├── SpringCloud
├── BuildingMicroservicesWithSpring
│ ├── APIGatewayServiceWithZuul
│ │ ├── or-zuul-api-gateway
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ ├── ORZuulFilter.java
│ │ │ │ │ └── ZuulAPIGatewayApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ ├── or-zuul-simple-service
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ ├── java
│ │ │ │ │ └── com.learning.linnyk
│ │ │ │ │ │ └── ZuulSimpleServiceApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ └── target
│ │ │ │ └── classes
│ │ │ │ └── application.properties
│ │ └── pom.xml
│ ├── CircuitBreakingAndMonitoringWithHystrix
│ │ ├── pom.xml
│ │ ├── spring-microservices-hystrix
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ └── HystrixApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ └── spring-microservices-simple-service
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com.learning.linnyk
│ │ │ │ └── SimpleServiceApplication.java
│ │ │ └── resources
│ │ │ └── application.properties
│ ├── LoadBalancingWithRibbon
│ │ ├── or-ribbon-cloud-service-client
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ ├── RibbonServiceConfiguration.java
│ │ │ │ │ └── RibbonSimpleServiceClientApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ ├── or-ribbon-cloud-service-server
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ └── RibbonSimpleServiceServerApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ └── pom.xml
│ ├── ServiceRegistryAndDiscoveryWithEureka
│ │ ├── or-eureka-client
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ └── SpringMicroservicesEurekaClientApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ ├── or-eureka-server
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ └── SpringMicroservicesEurekaServerApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ ├── or-service
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ └── SpringMicroservicesEurekaClient2Application.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ └── pom.xml
│ ├── SpringCloudConfiguration
│ │ ├── or-config-client
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── ConfigClientApplication.java
│ │ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── bootstrap.properties
│ │ ├── or-config-server
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── ConfigServerApplication.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ └── pom.xml
│ ├── SpringCloudSampleProject
│ │ ├── pom.xml
│ │ ├── spring-microservices-library-catalog
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── cloud
│ │ │ │ │ │ ├── Book.java
│ │ │ │ │ │ └── CatalogLibraryMicroservice.java
│ │ │ │ └── resources
│ │ │ │ │ └── bootstrap.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── cloud
│ │ │ │ └── CatalogLibraryMicroserviceTests.java
│ │ ├── spring-microservices-library-config
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── cloud
│ │ │ │ │ │ └── LibraryConfigMicroservice.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── cloud
│ │ │ │ └── LibraryConfigMicroserviceTests.java
│ │ ├── spring-microservices-library-edge
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── cloud
│ │ │ │ │ │ └── GatewayLibraryMicroservice.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── cloud
│ │ │ │ └── SpringMicroservicesLibraryEdgeApplicationTests.java
│ │ ├── spring-microservices-library-registry
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── cloud
│ │ │ │ │ │ └── RegistryLibraryMicroservice.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── cloud
│ │ │ │ └── RegistryLibraryMicroserviceTests.java
│ │ ├── spring-microservices-library-reservation
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── oreilly
│ │ │ │ │ │ └── cloud
│ │ │ │ │ │ ├── Reservation.java
│ │ │ │ │ │ └── ReservationLibraryMicroservice.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── oreilly
│ │ │ │ └── cloud
│ │ │ │ └── ReservationLibraryMicroserviceApplicationTests.java
│ │ └── spring-microservices-library-ui
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── oreilly
│ │ │ │ │ └── cloud
│ │ │ │ │ └── UiLibraryMicroservice.java
│ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ ├── public
│ │ │ │ └── home.html
│ │ │ │ └── static
│ │ │ │ ├── css
│ │ │ │ └── styles.css
│ │ │ │ └── js
│ │ │ │ ├── jquery-3.1.1.min.js
│ │ │ │ └── main.js
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── oreilly
│ │ │ └── cloud
│ │ │ └── UiLibraryMicroserviceTests.java
│ ├── SpringCloudSecurity
│ │ ├── AuthorizationClient
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ ├── OauthClientApplication.java
│ │ │ │ │ └── WebSecurityConfig.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ ├── AuthorizationResource
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ ├── OauthResourceApplication.java
│ │ │ │ │ └── WebSecurityConfig.java
│ │ │ │ └── resources
│ │ │ │ └── application.properties
│ │ ├── AuthorizationServer
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com.learning.linnyk
│ │ │ │ │ ├── AuthorizationServerConfig.java
│ │ │ │ │ ├── OauthServerApplication.java
│ │ │ │ │ └── WebSecurityConfig.java
│ │ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── schema.sql
│ │ └── pom.xml
│ └── pom.xml
├── Microservices
│ ├── currency-conversion-service
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── cloud
│ │ │ │ │ └── currencyconversionservice
│ │ │ │ │ ├── CurrencyConversionBean.java
│ │ │ │ │ ├── CurrencyConversionController.java
│ │ │ │ │ ├── CurrencyConversionServiceApplication.java
│ │ │ │ │ └── CurrencyExchangeServiceProxy.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ └── cloud
│ │ │ └── currencyconversionservice
│ │ │ └── CurrencyConversionServiceApplicationTests.java
│ ├── currency-exchange-service
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── leaning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── cloud
│ │ │ │ │ └── currencyexchangeservice
│ │ │ │ │ ├── CurrencyExchangeController.java
│ │ │ │ │ ├── CurrencyExchangeServiceApplication.java
│ │ │ │ │ ├── ExchangeValue.java
│ │ │ │ │ └── ExchangeValueRepository.java
│ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── data.sql
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── leaning
│ │ │ └── linnyk
│ │ │ └── cloud
│ │ │ └── currencyexchangeservice
│ │ │ └── CurrencyExchangeServiceApplicationTests.java
│ ├── limits-service
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── leaning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── cloud
│ │ │ │ │ └── limitsservice
│ │ │ │ │ ├── LimitsConfiguration.java
│ │ │ │ │ ├── LimitsConfigurationController.java
│ │ │ │ │ ├── LimitsServiceApplication.java
│ │ │ │ │ └── bean
│ │ │ │ │ └── LimitConfiguration.java
│ │ │ └── resources
│ │ │ │ └── bootstrap.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── leaning
│ │ │ └── linnyk
│ │ │ └── cloud
│ │ │ └── limitsservice
│ │ │ └── LimitsServiceApplicationTests.java
│ ├── netflix-eureka-server
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── cloud
│ │ │ │ │ └── netflixeurekaserver
│ │ │ │ │ └── NetflixEurekaServerApplication.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ └── cloud
│ │ │ └── netflixeurekaserver
│ │ │ └── NetflixEurekaServerApplicationTests.java
│ ├── netflix-zuul-api-gateway-server
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── cloud
│ │ │ │ │ └── netflixzuulapigatewayserver
│ │ │ │ │ ├── NetflixZuulApiGatewayServerApplication.java
│ │ │ │ │ └── ZuulLoggingFilter.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ └── cloud
│ │ │ └── netflixzuulapigatewayserver
│ │ │ └── NetflixZuulApiGatewayServerApplicationTests.java
│ ├── pom.xml
│ ├── spring-cloud-config-server
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── leaning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── cloud
│ │ │ │ │ └── springcloudconfigserver
│ │ │ │ │ └── SpringCloudConfigServerApplication.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── leaning
│ │ │ └── linnyk
│ │ │ └── cloud
│ │ │ └── springcloudconfigserver
│ │ │ └── SpringCloudConfigServerApplicationTests.java
│ └── zipkin-distributed-tracing-server
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── cloud
│ │ │ │ └── zipkindistributedtracingserver
│ │ │ │ └── ZipkinDistributedTracingServerApplication.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ └── cloud
│ │ └── zipkindistributedtracingserver
│ │ └── ZipkinDistributedTracingServerApplicationTests.java
├── SpringCloudFundamentals
│ ├── CircuitBreaker
│ │ ├── discovery-server-circuit-breaker
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── DiscoveryServerApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── DiscoveryServerApplicationTests.java
│ │ ├── hystrix-dashboard
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── hystrixdashboard
│ │ │ │ │ │ └── HystrixDashboardApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── hystrixdashboard
│ │ │ │ └── HystrixDashboardApplicationTests.java
│ │ ├── hystrix-datetime-app
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── datetimeapp
│ │ │ │ │ │ ├── DatetimeAppApplication.java
│ │ │ │ │ │ └── DatetimeService.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── datetimeapp
│ │ │ │ └── DatetimeAppApplicationTests.java
│ │ ├── hystrix-datetime-service
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── datetimeservice
│ │ │ │ │ │ └── DatetimeServiceApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── datetimeservice
│ │ │ │ └── DatetimeServiceApplicationTests.java
│ │ ├── hystrix-weather-app
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── weatherapp
│ │ │ │ │ │ ├── WeatherAppApplication.java
│ │ │ │ │ │ └── WeatherService.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── weatherapp
│ │ │ │ └── WeatherAppApplicationTests.java
│ │ ├── hystrix-weather-service
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── weatherservice
│ │ │ │ │ │ └── WeatherServiceApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── weatherservice
│ │ │ │ └── WeatherServiceApplicationTests.java
│ │ ├── pom.xml
│ │ └── turbine
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── turbine
│ │ │ │ │ └── TurbineApplication.java
│ │ │ └── resources
│ │ │ │ └── application.yml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ └── turbine
│ │ │ └── TurbineApplicationTests.java
│ ├── Configuration
│ │ ├── config-client-app
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ ├── ConfigClientAppApplication.java
│ │ │ │ │ │ └── ConfigClientAppConfiguration.java
│ │ │ │ └── resources
│ │ │ │ │ ├── application.properties
│ │ │ │ │ └── bootstrap.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── ConfigClientAppApplicationTests.java
│ │ ├── config-server
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── configserver
│ │ │ │ │ │ └── ConfigServerApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.yml
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── configserver
│ │ │ │ └── ConfigServerApplicationTests.java
│ │ ├── discovery-server-configuration
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── learning
│ │ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ │ └── DiscoveryServerApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── DiscoveryServerApplicationTests.java
│ │ │ └── target
│ │ │ │ ├── classes
│ │ │ │ └── application.properties
│ │ │ │ └── maven-status
│ │ │ │ └── maven-compiler-plugin
│ │ │ │ ├── compile
│ │ │ │ └── default-compile
│ │ │ │ │ └── createdFiles.lst
│ │ │ │ └── testCompile
│ │ │ │ └── default-testCompile
│ │ │ │ └── createdFiles.lst
│ │ └── pom.xml
│ ├── FindingServicesUsingServiceDiscovery
│ │ ├── application-service
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── learning
│ │ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ │ └── ServiceApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── ServiceApplicationTests.java
│ │ │ └── target
│ │ │ │ ├── classes
│ │ │ │ └── application.properties
│ │ │ │ └── maven-status
│ │ │ │ └── maven-compiler-plugin
│ │ │ │ ├── compile
│ │ │ │ └── default-compile
│ │ │ │ │ └── createdFiles.lst
│ │ │ │ └── testCompile
│ │ │ │ └── default-testCompile
│ │ │ │ └── createdFiles.lst
│ │ ├── discovery-client
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── ClientApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── ClientApplicationTests.java
│ │ ├── discovery-server
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── DiscoveryServerApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── DiscoveryServerApplicationTests.java
│ │ └── pom.xml
│ ├── LoadBalancing
│ │ ├── discovery-server-load-balancing
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── learning
│ │ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ │ └── DiscoveryServerApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── DiscoveryServerApplicationTests.java
│ │ │ └── target
│ │ │ │ ├── classes
│ │ │ │ └── application.properties
│ │ │ │ └── maven-status
│ │ │ │ └── maven-compiler-plugin
│ │ │ │ ├── compile
│ │ │ │ └── default-compile
│ │ │ │ │ └── createdFiles.lst
│ │ │ │ └── testCompile
│ │ │ │ └── default-testCompile
│ │ │ │ └── createdFiles.lst
│ │ ├── pom.xml
│ │ ├── ribbon-time-app-with-sd
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ ├── RibbonTimeAppApplication.java
│ │ │ │ │ │ └── RibbonTimeConfig.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── RibbonTimeAppApplicationTests.java
│ │ └── ribbon-time-service-with-sd
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── RibbonTimeServiceApplication.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ └── RibbonTimeServiceApplicationTests.java
│ ├── Routing
│ │ ├── discovery-server-routing
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── learning
│ │ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ │ └── DiscoveryServerApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── DiscoveryServerApplicationTests.java
│ │ │ └── target
│ │ │ │ ├── classes
│ │ │ │ └── application.properties
│ │ │ │ └── maven-status
│ │ │ │ └── maven-compiler-plugin
│ │ │ │ ├── compile
│ │ │ │ └── default-compile
│ │ │ │ │ └── createdFiles.lst
│ │ │ │ └── testCompile
│ │ │ │ └── default-testCompile
│ │ │ │ └── createdFiles.lst
│ │ ├── gateway-service
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── learning
│ │ │ │ │ │ │ ├── config
│ │ │ │ │ │ │ └── AppConfiguration.java
│ │ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ │ ├── GatewayServiceApplication.java
│ │ │ │ │ │ │ └── filter
│ │ │ │ │ │ │ └── AddRequestHeaderFilter.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── GatewayServiceApplicationTests.java
│ │ │ └── target
│ │ │ │ └── maven-status
│ │ │ │ └── maven-compiler-plugin
│ │ │ │ └── testCompile
│ │ │ │ └── default-testCompile
│ │ │ │ └── createdFiles.lst
│ │ ├── pom.xml
│ │ ├── routing-goodbye-service
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── GoodByeServiceApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── GoodbyeServiceApplicationTests.java
│ │ └── routing-hello-service
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ └── HelloServiceApplication.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ └── HelloServiceApplicationTests.java
│ └── pom.xml
└── pom.xml
├── SpringWEB
├── SpringBoot
│ ├── BootDemo
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ ├── CommandLineAppStartupRunner.java
│ │ │ │ ├── DemoConfiguration.java
│ │ │ │ └── SpringMicroservicesApplication.java
│ │ │ └── resources
│ │ │ ├── application.yml
│ │ │ └── simple-context.xml
│ ├── LibraryMicroservices
│ │ ├── CatalogService
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ ├── Book.java
│ │ │ │ │ ├── BookRepository.java
│ │ │ │ │ └── SpringMicroservicesCatalogApplication.java
│ │ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── data.sql
│ │ ├── LibraryComplete
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ └── linnyk
│ │ │ │ │ ├── BookController.java
│ │ │ │ │ └── SpringMicroservicesLibraryApplication.java
│ │ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── static
│ │ │ │ └── book.html
│ │ └── pom.xml
│ ├── ShipWrecks
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── learning
│ │ │ │ │ ├── config
│ │ │ │ │ └── PersistenceConfiguration.java
│ │ │ │ │ └── linnyk
│ │ │ │ │ ├── App.java
│ │ │ │ │ ├── controllers
│ │ │ │ │ ├── HomeController.java
│ │ │ │ │ ├── ShipwreckControllerV1.java
│ │ │ │ │ └── ShipwreckControllerV2.java
│ │ │ │ │ ├── model
│ │ │ │ │ └── Shipwreck.java
│ │ │ │ │ └── repository
│ │ │ │ │ ├── ShipwreckRepository.java
│ │ │ │ │ └── ShipwreckStub.java
│ │ │ └── resources
│ │ │ │ ├── application-prod.properties
│ │ │ │ ├── application-test.properties
│ │ │ │ ├── application.properties
│ │ │ │ ├── db
│ │ │ │ └── migration
│ │ │ │ │ └── V2__create_shipwreck.sql
│ │ │ │ └── static
│ │ │ │ ├── css
│ │ │ │ ├── style.css
│ │ │ │ └── style.min.css
│ │ │ │ ├── images
│ │ │ │ └── shipwreck.jpg
│ │ │ │ ├── index.html
│ │ │ │ ├── js
│ │ │ │ ├── app.js
│ │ │ │ ├── controllers.js
│ │ │ │ ├── nav-controller.js
│ │ │ │ └── services.js
│ │ │ │ ├── lib
│ │ │ │ ├── angular
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── angular-csp.css
│ │ │ │ │ └── js
│ │ │ │ │ │ ├── angular-animate.js
│ │ │ │ │ │ ├── angular-animate.min.js
│ │ │ │ │ │ ├── angular-animate.min.js.map
│ │ │ │ │ │ ├── angular-resource.js
│ │ │ │ │ │ ├── angular-resource.min.js
│ │ │ │ │ │ ├── angular-resource.min.js.map
│ │ │ │ │ │ ├── angular-ui-bootstrap-tpls.js
│ │ │ │ │ │ ├── angular-ui-bootstrap-tpls.min.js
│ │ │ │ │ │ ├── angular-ui-bootstrap.js
│ │ │ │ │ │ ├── angular-ui-bootstrap.min.js
│ │ │ │ │ │ ├── angular-ui-bootstrap.min.js.map
│ │ │ │ │ │ ├── angular-ui-router.js
│ │ │ │ │ │ ├── angular-ui-router.min.js
│ │ │ │ │ │ ├── angular.js
│ │ │ │ │ │ └── angular.min.js
│ │ │ │ ├── assets
│ │ │ │ │ └── js
│ │ │ │ │ │ └── ie10-viewport-bug-workaround.js
│ │ │ │ ├── bootstrap
│ │ │ │ │ ├── css
│ │ │ │ │ │ ├── bootstrap-theme.css
│ │ │ │ │ │ ├── bootstrap-theme.css.map
│ │ │ │ │ │ ├── bootstrap-theme.min.css
│ │ │ │ │ │ ├── bootstrap-theme.min.css.map
│ │ │ │ │ │ ├── bootstrap.css
│ │ │ │ │ │ ├── bootstrap.css.map
│ │ │ │ │ │ ├── bootstrap.min.css
│ │ │ │ │ │ └── bootstrap.min.css.map
│ │ │ │ │ ├── fonts
│ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ │ └── js
│ │ │ │ │ │ ├── bootstrap.js
│ │ │ │ │ │ └── bootstrap.min.js
│ │ │ │ ├── html5shiv
│ │ │ │ │ ├── html5shiv-printshiv.js
│ │ │ │ │ ├── html5shiv-printshiv.min.js
│ │ │ │ │ ├── html5shiv.js
│ │ │ │ │ └── html5shiv.min.js
│ │ │ │ ├── jquery
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── jquery.min.js
│ │ │ │ │ └── jquery.min.map
│ │ │ │ ├── require
│ │ │ │ │ └── require.js
│ │ │ │ └── respond
│ │ │ │ │ ├── respond.matchmedia.addListener.min.js
│ │ │ │ │ ├── respond.matchmedia.addListener.src.js
│ │ │ │ │ ├── respond.min.js
│ │ │ │ │ └── respond.src.js
│ │ │ │ └── views
│ │ │ │ ├── _form.html
│ │ │ │ ├── home.html
│ │ │ │ ├── shipwreck-add.html
│ │ │ │ ├── shipwreck-edit.html
│ │ │ │ ├── shipwreck-view.html
│ │ │ │ └── shipwrecks.html
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── learning
│ │ │ └── linnyk
│ │ │ ├── HomeControllerTest.java
│ │ │ ├── ShipwreckControllerIntegrationTest.java
│ │ │ ├── ShipwreckControllerTest.java
│ │ │ └── ShipwreckRepositoryIntegrationTest.java
│ ├── just-gif-it
│ │ ├── pom.xml
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── linnyk
│ │ │ │ │ │ └── learning
│ │ │ │ │ │ └── justgifit
│ │ │ │ │ │ ├── JustGifItApplication.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── UploadController.java
│ │ │ │ │ │ ├── health
│ │ │ │ │ │ └── JustGiftItIndicator.java
│ │ │ │ │ │ ├── properties
│ │ │ │ │ │ └── JustGifItProperties.java
│ │ │ │ │ │ └── services
│ │ │ │ │ │ ├── ConverterService.java
│ │ │ │ │ │ ├── GifEncoderService.java
│ │ │ │ │ │ └── VideoDecoderService.java
│ │ │ │ └── resources
│ │ │ │ │ ├── application.properties
│ │ │ │ │ └── application.yaml
│ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── linnyk
│ │ │ │ └── learning
│ │ │ │ └── justgifit
│ │ │ │ └── JustGifItApplicationTests.java
│ │ └── video
│ │ │ └── PexelsVideos.mp4
│ ├── pom.xml
│ └── restful-web-services
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── learning
│ │ │ │ └── linnyk
│ │ │ │ └── restfulwebservices
│ │ │ │ ├── RestfulWebServicesApplication.java
│ │ │ │ ├── config
│ │ │ │ ├── InternationalizationConfig.java
│ │ │ │ └── SwaggerConfig.java
│ │ │ │ ├── filter
│ │ │ │ ├── FilteringController.java
│ │ │ │ └── SomeBean.java
│ │ │ │ ├── hello_world
│ │ │ │ ├── HelloWorldBean.java
│ │ │ │ └── HelloWorldController.java
│ │ │ │ ├── user
│ │ │ │ ├── UserJPAController.java
│ │ │ │ ├── UserJPAService.java
│ │ │ │ ├── exception
│ │ │ │ │ ├── CustomizedResponseEntityExceptionHandler.java
│ │ │ │ │ ├── ExceptionResponse.java
│ │ │ │ │ └── UserNotFoundException.java
│ │ │ │ ├── model
│ │ │ │ │ ├── Post.java
│ │ │ │ │ └── User.java
│ │ │ │ └── repository
│ │ │ │ │ ├── PostRepository.java
│ │ │ │ │ └── UserRepository.java
│ │ │ │ └── versioning
│ │ │ │ ├── PersonVersioningController.java
│ │ │ │ └── dto
│ │ │ │ ├── Name.java
│ │ │ │ ├── PersonV1.java
│ │ │ │ └── PersonV2.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ ├── data.sql
│ │ │ ├── messages.properties
│ │ │ └── messages_fr.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── learning
│ │ └── linnyk
│ │ └── restfulwebservices
│ │ └── RestfulWebServicesApplicationTests.java
├── SpringMVC
│ ├── Spring3MVC
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── mvc
│ │ │ │ └── session
│ │ │ │ └── linnyk
│ │ │ │ ├── controllers
│ │ │ │ ├── HelloController.java
│ │ │ │ └── MinutesController.java
│ │ │ │ ├── model
│ │ │ │ ├── Activity.java
│ │ │ │ └── Exercise.java
│ │ │ │ └── service
│ │ │ │ ├── ExerciseService.java
│ │ │ │ └── impl
│ │ │ │ └── ExerciseServiceImpl.java
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── config
│ │ │ │ └── servlet-config-spring3.xml
│ │ │ ├── jsp
│ │ │ │ ├── addMinutes.jsp
│ │ │ │ └── hello.jsp
│ │ │ └── web.xml
│ │ │ ├── index.jsp
│ │ │ └── pdfs
│ │ │ └── ExceptionClassSummary.pdf
│ ├── Spring4MVC
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── spring4
│ │ │ │ └── linnyk
│ │ │ │ └── mvc
│ │ │ │ ├── annotations
│ │ │ │ └── Phone.java
│ │ │ │ ├── configuration
│ │ │ │ ├── WebAppInitializer.java
│ │ │ │ └── WebConfig.java
│ │ │ │ ├── controllers
│ │ │ │ ├── AttendeeController.java
│ │ │ │ ├── EventController.java
│ │ │ │ ├── EventReportRestController.java
│ │ │ │ └── HelloController.java
│ │ │ │ ├── model
│ │ │ │ ├── Attendee.java
│ │ │ │ └── Event.java
│ │ │ │ └── validators
│ │ │ │ └── PhoneConstraintValidator.java
│ │ │ ├── resources
│ │ │ ├── logback.xml
│ │ │ ├── messages_en.properties
│ │ │ └── messages_es.properties
│ │ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── css
│ │ │ │ └── style.css
│ │ │ ├── jsp
│ │ │ │ ├── attendee.jsp
│ │ │ │ ├── event.jsp
│ │ │ │ └── hello.jsp
│ │ │ └── pdf
│ │ │ │ └── ExceptionClassSummary.pdf
│ │ │ └── index.jsp
│ ├── SpringSession
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── mvc
│ │ │ │ └── session
│ │ │ │ └── linnyk
│ │ │ │ ├── SpringTodoApplication.java
│ │ │ │ ├── controllers
│ │ │ │ └── TodoListController.java
│ │ │ │ ├── model
│ │ │ │ ├── Todo.java
│ │ │ │ └── Visitor.java
│ │ │ │ └── service
│ │ │ │ ├── TodoListService.java
│ │ │ │ └── impl
│ │ │ │ └── TodoListServiceImpl.java
│ │ │ └── resources
│ │ │ └── application.yml
│ └── pom.xml
├── SpringSecurity
│ ├── LiveSessions
│ │ ├── Authentication
│ │ │ ├── authentication-provider
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── custom
│ │ │ │ │ │ │ └── AuthenticationProviderApplication.java
│ │ │ │ │ │ │ └── ldap
│ │ │ │ │ │ │ └── LdapAuthenticationApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application-ldap.properties
│ │ │ │ │ │ └── test-server.ldif
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ ├── custom
│ │ │ │ │ ├── AtlassianCrowdAuthenticationProviderTest.java
│ │ │ │ │ └── AuthenticationProviderApplicationTest.java
│ │ │ │ │ └── ldap
│ │ │ │ │ └── LdapAuthenticationApplicationTest.java
│ │ │ ├── login
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ └── LoginApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ ├── hidden.html
│ │ │ │ │ │ ├── layout.html
│ │ │ │ │ │ ├── login.html
│ │ │ │ │ │ └── logout.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── LoginApplicationTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ ├── HiddenPage.java
│ │ │ │ │ │ └── LoginPage.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── password-migration
│ │ │ │ ├── .gitignore
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ └── passwordmigration
│ │ │ │ │ │ │ ├── CustomAuthenticationApplication.java
│ │ │ │ │ │ │ ├── CustomSecurityConfiguration.java
│ │ │ │ │ │ │ ├── CustomUserDetails.java
│ │ │ │ │ │ │ ├── CustomUserDetailsService.java
│ │ │ │ │ │ │ └── GreetingRestController.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── passwordmigration
│ │ │ │ │ └── PasswordMigrationApplicationTests.java
│ │ │ ├── pom.xml
│ │ │ ├── user-details
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ └── AuthenticationApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── schema.sql
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ ├── JdbcUserDetailsServiceTest.java
│ │ │ │ │ ├── MemoryUserDetailsServiceTest.java
│ │ │ │ │ ├── SimpleUserDetailsServiceTest.java
│ │ │ │ │ └── UserDetailsServiceTestBaseClass.java
│ │ │ ├── xauth-app
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ └── custom
│ │ │ │ │ │ │ └── CustomApplication.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ └── application.properties
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ └── custom
│ │ │ │ │ └── GreetingsRestControllerTest.java
│ │ │ └── xauth
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── livelessons
│ │ │ │ │ └── xauth
│ │ │ │ │ ├── TokenUtils.java
│ │ │ │ │ ├── XAuthAutoConfiguration.java
│ │ │ │ │ ├── XAuthConfiguration.java
│ │ │ │ │ ├── XAuthDslConfigurer.java
│ │ │ │ │ ├── XAuthTokenFilter.java
│ │ │ │ │ └── XAuthTokenRestController.java
│ │ │ │ └── resources
│ │ │ │ ├── META-INF
│ │ │ │ └── spring.factories
│ │ │ │ └── application.properties
│ │ ├── Authorization
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── example
│ │ │ │ │ │ └── authorization
│ │ │ │ │ │ └── AuthorizationApplication.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── authorization
│ │ │ │ └── AuthorizationApplicationTests.java
│ │ ├── BootCamp
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── example
│ │ │ │ │ │ └── bootcamp
│ │ │ │ │ │ ├── Bar.java
│ │ │ │ │ │ ├── BootcampApplication.java
│ │ │ │ │ │ ├── Foo.java
│ │ │ │ │ │ ├── IsbnRestController.java
│ │ │ │ │ │ ├── LoggingAspect.java
│ │ │ │ │ │ ├── LoggingFilter.java
│ │ │ │ │ │ └── UuidService.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── bootcamp
│ │ │ │ ├── IsbnRestControllerTests.java
│ │ │ │ └── UuidServiceTest.java
│ │ ├── CommonAttacks
│ │ │ ├── cache
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── CacheControlApplication.java
│ │ │ │ │ │ │ ├── IndexController.java
│ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ ├── static
│ │ │ │ │ │ └── cached.js
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── CacheControlApplicationTests.java
│ │ │ │ │ │ ├── HelloSecurityTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ ├── IndexPage.java
│ │ │ │ │ │ ├── LoginPage.java
│ │ │ │ │ │ └── LogoutPage.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── clickjacking
│ │ │ │ ├── evil
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ └── EvilApplication.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── static
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ └── EvilApplicationTests.java
│ │ │ │ ├── pom.xml
│ │ │ │ └── secure
│ │ │ │ │ └── admin
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── ClickJackingApplication.java
│ │ │ │ │ │ │ ├── IndexController.java
│ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ ├── static
│ │ │ │ │ │ └── cached.js
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── CacheControlApplicationTests.java
│ │ │ │ │ │ ├── HelloSecurityTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ ├── IndexPage.java
│ │ │ │ │ │ ├── LoginPage.java
│ │ │ │ │ │ └── LogoutPage.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── csrf
│ │ │ │ ├── evil
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ └── EvilApplication.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── static
│ │ │ │ │ │ │ ├── automated.html
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── json.html
│ │ │ │ │ │ │ ├── login.html
│ │ │ │ │ │ │ └── manual.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ └── EvilApplicationTests.java
│ │ │ │ ├── pom.xml
│ │ │ │ ├── secure
│ │ │ │ │ ├── bank-json
│ │ │ │ │ │ ├── pom.xml
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── main
│ │ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ │ ├── BankController.java
│ │ │ │ │ │ │ │ │ └── BankJsonApplication.java
│ │ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ └── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── BankApplicationTests.java
│ │ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ │ └── IndexPage.java
│ │ │ │ │ ├── bank
│ │ │ │ │ │ ├── pom.xml
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── main
│ │ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ │ ├── BankApplication.java
│ │ │ │ │ │ │ │ │ └── BankController.java
│ │ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ └── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── BankApplicationTests.java
│ │ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ │ └── IndexPage.java
│ │ │ │ │ └── file-upload
│ │ │ │ │ │ ├── pom.xml
│ │ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ ├── FileUploadApplication.java
│ │ │ │ │ │ │ │ └── FileUploadController.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── FileUploadITests.java
│ │ │ │ │ │ │ ├── FileUploadTests.java
│ │ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ │ ├── IndexPage.java
│ │ │ │ │ │ │ └── LoginPage.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ └── the-file.txt
│ │ │ │ └── victim
│ │ │ │ │ ├── bank-get
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ ├── BankApplication.java
│ │ │ │ │ │ │ │ └── BankController.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── BankApplicationTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ └── IndexPage.java
│ │ │ │ │ ├── bank-json
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ ├── BankController.java
│ │ │ │ │ │ │ │ ├── BankJsonApplication.java
│ │ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── BankApplicationTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ └── IndexPage.java
│ │ │ │ │ ├── bank
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ ├── BankApplication.java
│ │ │ │ │ │ │ │ ├── BankController.java
│ │ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── BankApplicationTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ └── IndexPage.java
│ │ │ │ │ └── credit-card
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── CreditCardApplication.java
│ │ │ │ │ │ │ ├── CreditCardController.java
│ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ ├── CreditCardApplicationTests.java
│ │ │ │ │ └── webdriver
│ │ │ │ │ └── IndexPage.java
│ │ │ ├── https
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── HttpsApplication.java
│ │ │ │ │ │ │ ├── IndexController.java
│ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ ├── static
│ │ │ │ │ │ └── cached.js
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── HelloSecurityTests.java
│ │ │ │ │ │ ├── HttpsApplicationTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ ├── IndexPage.java
│ │ │ │ │ │ ├── LoginPage.java
│ │ │ │ │ │ └── LogoutPage.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── pom.xml
│ │ │ ├── session-fixation
│ │ │ │ ├── pom.xml
│ │ │ │ ├── secure
│ │ │ │ │ └── credit-card
│ │ │ │ │ │ ├── pom.xml
│ │ │ │ │ │ └── src
│ │ │ │ │ │ ├── main
│ │ │ │ │ │ ├── java
│ │ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ │ ├── CreditCardApplication.java
│ │ │ │ │ │ │ │ ├── CreditCardController.java
│ │ │ │ │ │ │ │ └── IndexController.java
│ │ │ │ │ │ └── resources
│ │ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ │ └── templates
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ └── login.html
│ │ │ │ │ │ └── test
│ │ │ │ │ │ └── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── CreditCardApplicationTests.java
│ │ │ │ │ │ └── webdriver
│ │ │ │ │ │ └── IndexPage.java
│ │ │ │ └── victim
│ │ │ │ │ └── credit-card
│ │ │ │ │ ├── pom.xml
│ │ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── CreditCardApplication.java
│ │ │ │ │ │ │ ├── CreditCardController.java
│ │ │ │ │ │ │ ├── IndexController.java
│ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ └── login.html
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ ├── CreditCardApplicationTests.java
│ │ │ │ │ └── webdriver
│ │ │ │ │ └── IndexPage.java
│ │ │ └── xss
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── IndexController.java
│ │ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ │ └── XSSApplication.java
│ │ │ │ └── resources
│ │ │ │ │ ├── application.properties
│ │ │ │ │ └── templates
│ │ │ │ │ └── index.html
│ │ │ │ └── test
│ │ │ │ ├── java
│ │ │ │ └── livelessons
│ │ │ │ │ ├── CacheControlApplicationTests.java
│ │ │ │ │ ├── HelloSecurityTests.java
│ │ │ │ │ └── webdriver
│ │ │ │ │ ├── IndexPage.java
│ │ │ │ │ ├── LoginPage.java
│ │ │ │ │ └── LogoutPage.java
│ │ │ │ └── resources
│ │ │ │ └── logback-test.xml
│ │ ├── MethodSecurity
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── example
│ │ │ │ │ │ └── methodsecurity
│ │ │ │ │ │ ├── MethodSecurityApplication.java
│ │ │ │ │ │ ├── entities
│ │ │ │ │ │ ├── Authority.java
│ │ │ │ │ │ ├── Message.java
│ │ │ │ │ │ └── User.java
│ │ │ │ │ │ ├── repositories
│ │ │ │ │ │ ├── AuthorityRepository.java
│ │ │ │ │ │ ├── MessageRepository.java
│ │ │ │ │ │ └── UserRepository.java
│ │ │ │ │ │ ├── services
│ │ │ │ │ │ ├── AuthService.java
│ │ │ │ │ │ ├── Runner.java
│ │ │ │ │ │ └── UserRepositoryUserDetailsService.java
│ │ │ │ │ │ └── userdetails
│ │ │ │ │ │ └── UserUserDetails.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── methodsecurity
│ │ │ │ └── MethodSecurityApplicationTests.java
│ │ ├── SecurityTesting
│ │ │ ├── method-custom-userdetails
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── HelloSecurityApplication.java
│ │ │ │ │ │ │ ├── message
│ │ │ │ │ │ │ ├── BeanMessageService.java
│ │ │ │ │ │ │ ├── Message.java
│ │ │ │ │ │ │ └── MessageService.java
│ │ │ │ │ │ │ └── user
│ │ │ │ │ │ │ ├── MessageUser.java
│ │ │ │ │ │ │ ├── UserRepository.java
│ │ │ │ │ │ │ └── UserRepositoryUserDetailsService.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── AnnotatedMessageServiceTests.java
│ │ │ │ │ │ ├── WithJosh.java
│ │ │ │ │ │ ├── WithMockCustomUserFactory.java
│ │ │ │ │ │ ├── WithMockMessageUser.java
│ │ │ │ │ │ └── WithRob.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── method-userdetails
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── HelloSecurityApplication.java
│ │ │ │ │ │ │ ├── HelloSecurityMessageService.java
│ │ │ │ │ │ │ ├── MessageService.java
│ │ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── AnnotatedClassMessageServiceTests.java
│ │ │ │ │ │ └── AnnotatedMessageServiceTests.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── method
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ │ ├── main
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── livelessons
│ │ │ │ │ │ │ ├── HelloSecurityApplication.java
│ │ │ │ │ │ │ ├── HelloSecurityMessageService.java
│ │ │ │ │ │ │ └── MessageService.java
│ │ │ │ │ └── resources
│ │ │ │ │ │ ├── application.properties
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ └── index.html
│ │ │ │ │ └── test
│ │ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── AnnotatedClassMessageServiceTests.java
│ │ │ │ │ │ ├── AnnotatedMessageServiceTests.java
│ │ │ │ │ │ ├── ManualMessageServiceTests.java
│ │ │ │ │ │ └── WithAdmin.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── logback-test.xml
│ │ │ ├── pom.xml
│ │ │ └── web
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── livelessons
│ │ │ │ │ │ ├── BankApplication.java
│ │ │ │ │ │ └── BankController.java
│ │ │ │ └── resources
│ │ │ │ │ ├── application.properties
│ │ │ │ │ └── templates
│ │ │ │ │ └── index.html
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── livelessons
│ │ │ │ ├── ManualMockMvcTests.java
│ │ │ │ ├── ManualTests.java
│ │ │ │ ├── MockMvcTests.java
│ │ │ │ ├── WebDriverTests.java
│ │ │ │ └── webdriver
│ │ │ │ └── IndexPage.java
│ │ └── pom.xml
│ ├── SpringSecurityInEasySteps
│ │ ├── SecurityInternal
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── demo
│ │ │ │ └── AuthenticationSample.java
│ │ ├── SimpleSpringMVC
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── RepositoryConfig.java
│ │ │ │ │ ├── RootConfig.java
│ │ │ │ │ ├── WebAppConfigInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ ├── dao
│ │ │ │ │ └── UserDao.java
│ │ │ │ │ ├── daoImpl
│ │ │ │ │ └── UserDaoImpl.java
│ │ │ │ │ ├── to
│ │ │ │ │ └── User.java
│ │ │ │ │ └── web
│ │ │ │ │ ├── HomeController.java
│ │ │ │ │ ├── LoginController.java
│ │ │ │ │ └── SuccessController.java
│ │ │ │ ├── resources
│ │ │ │ └── application.properties
│ │ │ │ └── webapp
│ │ │ │ ├── WEB-INF
│ │ │ │ ├── home.jsp
│ │ │ │ ├── login.jsp
│ │ │ │ ├── register.jsp
│ │ │ │ └── success.jsp
│ │ │ │ └── index.jsp
│ │ ├── SimpleSpringSecurity
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ ├── resources
│ │ │ │ │ └── application.properties
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityAuthenticationTypes
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomUserDetailsService.java
│ │ │ │ │ ├── RepositoryConfig.java
│ │ │ │ │ ├── RootConfig.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ ├── .gitignore
│ │ │ │ ├── application.properties
│ │ │ │ └── dbSchema.txt
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityBasicAndDigestAuthentication
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomBasicAuthenticationEntryPoint.java
│ │ │ │ │ ├── CustomDigestAuthenticationEntryPoint.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityCoreSecurityFilters
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomFilter.java
│ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── accessDenied.jsp
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityHandlingLogouts
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── accessDenied.jsp
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityLocalization
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ └── messages.properties
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── accessDenied.jsp
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityMethodSecurity
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ └── .gitignore
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── accessDenied.jsp
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityMongoDBUserDetailsService
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── demo
│ │ │ │ │ │ ├── config
│ │ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ │ ├── CustomUserDetailsService.java
│ │ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ │ └── WebConfig.java
│ │ │ │ │ │ ├── to
│ │ │ │ │ │ └── UserTo.java
│ │ │ │ │ │ └── web
│ │ │ │ │ │ └── HomeController.java
│ │ │ │ └── webapp
│ │ │ │ │ └── WEB-INF
│ │ │ │ │ ├── accessDenied.jsp
│ │ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ │ ├── home.jsp
│ │ │ │ │ └── login.jsp
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── demo
│ │ │ │ └── InsertIntoMongo.java
│ │ ├── SpringSecurityPasswordEncoding
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── RepositoryConfig.java
│ │ │ │ │ ├── RootConfig.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ ├── dao
│ │ │ │ │ └── UserDao.java
│ │ │ │ │ ├── to
│ │ │ │ │ └── UserTo.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ ├── .gitignore
│ │ │ │ ├── application.properties
│ │ │ │ └── dbSchema.txt
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── home.jsp
│ │ │ │ ├── login.jsp
│ │ │ │ └── signup.jsp
│ │ ├── SpringSecurityRememberMeAuthentication
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── RepositoryConfig.java
│ │ │ │ │ ├── RootConfig.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── dbSchema.txt
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecurityResponseHeaders
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomFilter.java
│ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── accessDenied.jsp
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecuritySecurityFilterChain
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── CustomLogoutSuccessHandler.java
│ │ │ │ │ ├── CustomSpringSecurityFilterChain.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ └── .gitignore
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── accessDenied.jsp
│ │ │ │ ├── chiefUpdate.jsp
│ │ │ │ ├── home.jsp
│ │ │ │ └── login.jsp
│ │ ├── SpringSecuritySessionManagement
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── demo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── RepositoryConfig.java
│ │ │ │ │ ├── RootConfig.java
│ │ │ │ │ ├── SecurityConfig.java
│ │ │ │ │ ├── SecurityWebAppInitializer.java
│ │ │ │ │ ├── WebAppInitializer.java
│ │ │ │ │ └── WebConfig.java
│ │ │ │ │ ├── dao
│ │ │ │ │ └── UserDao.java
│ │ │ │ │ ├── to
│ │ │ │ │ └── UserTo.java
│ │ │ │ │ └── web
│ │ │ │ │ └── HomeController.java
│ │ │ │ ├── resources
│ │ │ │ ├── .gitignore
│ │ │ │ ├── application.properties
│ │ │ │ └── dbSchema.txt
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ ├── home.jsp
│ │ │ │ ├── login.jsp
│ │ │ │ └── signup.jsp
│ │ └── pom.xml
│ └── pom.xml
└── pom.xml
├── Testing
├── EffectiveAutomation
│ ├── pom.xml
│ ├── ps-effective-automated-testing-in-spring-module-3
│ │ ├── pom.xml
│ │ └── room-service-module-3
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── ps
│ │ │ │ │ │ └── bk
│ │ │ │ │ │ └── hotel
│ │ │ │ │ │ └── room
│ │ │ │ │ │ ├── RoomServiceApplication.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── RoomController.java
│ │ │ │ │ │ ├── exception
│ │ │ │ │ │ ├── RoomServiceClientException.java
│ │ │ │ │ │ └── RoomServiceException.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ └── Room.java
│ │ │ │ │ │ ├── repo
│ │ │ │ │ │ └── RoomRepo.java
│ │ │ │ │ │ └── service
│ │ │ │ │ │ ├── RoomService.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ └── RoomServiceImpl.java
│ │ │ │ └── resources
│ │ │ │ │ ├── application.properties
│ │ │ │ │ └── init.sql
│ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── bk
│ │ │ │ └── hotel
│ │ │ │ │ └── room
│ │ │ │ │ └── service
│ │ │ │ │ └── impl
│ │ │ │ │ └── TestRoomServiceImpl.java
│ │ │ │ └── test
│ │ │ │ └── room
│ │ │ │ └── roomservice
│ │ │ │ └── RoomServiceApplicationTests.java
│ │ │ └── target
│ │ │ └── classes
│ │ │ ├── application.properties
│ │ │ └── init.sql
│ ├── ps-effective-automated-testing-in-spring-module-4
│ │ ├── booking-service-module-4
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── ps
│ │ │ │ │ │ └── bk
│ │ │ │ │ │ └── hotel
│ │ │ │ │ │ └── booking
│ │ │ │ │ │ ├── BookingServiceApplication.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── BookingController.java
│ │ │ │ │ │ ├── exception
│ │ │ │ │ │ ├── BookingServiceClientException.java
│ │ │ │ │ │ └── BookingServiceException.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ └── Booking.java
│ │ │ │ │ │ ├── repo
│ │ │ │ │ │ └── BookingRepo.java
│ │ │ │ │ │ └── service
│ │ │ │ │ │ ├── BookingService.java
│ │ │ │ │ │ ├── BookingValidationService.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ └── BookingServiceImpl.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── bk
│ │ │ │ └── hotel
│ │ │ │ └── booking
│ │ │ │ └── bookingservice
│ │ │ │ └── BookingServiceApplicationTests.java
│ │ ├── customer-service-module-4
│ │ │ ├── data
│ │ │ │ └── elasticsearch
│ │ │ │ │ └── nodes
│ │ │ │ │ └── 0
│ │ │ │ │ ├── _state
│ │ │ │ │ └── global-1.st
│ │ │ │ │ └── node.lock
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── ps
│ │ │ │ │ │ └── bk
│ │ │ │ │ │ └── hotel
│ │ │ │ │ │ └── customer
│ │ │ │ │ │ ├── CustomerServiceApplication.java
│ │ │ │ │ │ ├── config
│ │ │ │ │ │ ├── ControllerLoggingAspect.java
│ │ │ │ │ │ ├── CustomBasicAuthenticationEntryPoint.java
│ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── CustomerController.java
│ │ │ │ │ │ ├── exception
│ │ │ │ │ │ └── CustomerSerivceClientException.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ └── Customer.java
│ │ │ │ │ │ ├── repo
│ │ │ │ │ │ └── CustomerRepo.java
│ │ │ │ │ │ └── service
│ │ │ │ │ │ ├── CustomerService.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ └── CustomerServiceImpl.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── ps
│ │ │ │ │ └── bk
│ │ │ │ │ └── hotel
│ │ │ │ │ └── customer
│ │ │ │ │ ├── CustomerServiceApplicationTests.java
│ │ │ │ │ ├── config
│ │ │ │ │ ├── TestAppender.java
│ │ │ │ │ └── TestControllerAspectLoggingWeaving.java
│ │ │ │ │ ├── controller
│ │ │ │ │ ├── TestCustomerController.java
│ │ │ │ │ └── TestCustomerControllerSecurity.java
│ │ │ │ │ ├── model
│ │ │ │ │ └── TestCustomerJsonSerializing.java
│ │ │ │ │ └── repo
│ │ │ │ │ └── TestCustomerRepo.java
│ │ │ │ └── resources
│ │ │ │ ├── logback-test.xml
│ │ │ │ └── validFullCustomer.json
│ │ ├── pom.xml
│ │ └── room-service-module-4
│ │ │ ├── pom.xml
│ │ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── ps
│ │ │ │ │ │ └── bk
│ │ │ │ │ │ └── hotel
│ │ │ │ │ │ └── room
│ │ │ │ │ │ ├── RoomServiceApplication.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── RoomController.java
│ │ │ │ │ │ ├── exception
│ │ │ │ │ │ ├── RoomServiceClientException.java
│ │ │ │ │ │ └── RoomServiceException.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ └── Room.java
│ │ │ │ │ │ ├── repo
│ │ │ │ │ │ └── RoomRepo.java
│ │ │ │ │ │ └── service
│ │ │ │ │ │ ├── RoomService.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ └── RoomServiceImpl.java
│ │ │ │ └── resources
│ │ │ │ │ ├── application.properties
│ │ │ │ │ └── init.sql
│ │ │ └── test
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── bk
│ │ │ │ └── hotel
│ │ │ │ │ └── room
│ │ │ │ │ └── service
│ │ │ │ │ └── impl
│ │ │ │ │ └── TestRoomServiceImpl.java
│ │ │ │ └── test
│ │ │ │ └── room
│ │ │ │ └── roomservice
│ │ │ │ └── RoomServiceApplicationTests.java
│ │ │ └── target
│ │ │ └── classes
│ │ │ ├── application.properties
│ │ │ └── init.sql
│ ├── ps-effective-automated-testing-in-spring-module-5
│ │ ├── booking-service-module-5
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── ps
│ │ │ │ │ │ └── bk
│ │ │ │ │ │ └── hotel
│ │ │ │ │ │ └── booking
│ │ │ │ │ │ ├── BookingServiceApplication.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── BookingController.java
│ │ │ │ │ │ ├── exception
│ │ │ │ │ │ ├── BookingServiceClientException.java
│ │ │ │ │ │ └── BookingServiceException.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ └── Booking.java
│ │ │ │ │ │ ├── repo
│ │ │ │ │ │ └── BookingRepo.java
│ │ │ │ │ │ └── service
│ │ │ │ │ │ ├── BookingService.java
│ │ │ │ │ │ ├── BookingValidationService.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ └── BookingServiceImpl.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── ps
│ │ │ │ │ └── bk
│ │ │ │ │ └── hotel
│ │ │ │ │ └── booking
│ │ │ │ │ └── BaseClass.java
│ │ │ │ └── resources
│ │ │ │ └── contracts
│ │ │ │ └── successfullyBookRoom.groovy
│ │ ├── customer-service-module-5
│ │ │ ├── data
│ │ │ │ └── elasticsearch
│ │ │ │ │ └── nodes
│ │ │ │ │ └── 0
│ │ │ │ │ ├── _state
│ │ │ │ │ └── global-1.st
│ │ │ │ │ └── node.lock
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ │ └── ps
│ │ │ │ │ │ └── bk
│ │ │ │ │ │ └── hotel
│ │ │ │ │ │ └── customer
│ │ │ │ │ │ ├── CustomerServiceApplication.java
│ │ │ │ │ │ ├── config
│ │ │ │ │ │ ├── ControllerLoggingAspect.java
│ │ │ │ │ │ ├── CustomBasicAuthenticationEntryPoint.java
│ │ │ │ │ │ ├── JPAConfig.java
│ │ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── CustomerController.java
│ │ │ │ │ │ ├── exception
│ │ │ │ │ │ └── CustomerSerivceClientException.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ └── Customer.java
│ │ │ │ │ │ ├── repo
│ │ │ │ │ │ └── CustomerRepo.java
│ │ │ │ │ │ └── service
│ │ │ │ │ │ ├── CustomerService.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ └── CustomerServiceImpl.java
│ │ │ │ └── resources
│ │ │ │ │ └── application.properties
│ │ │ │ └── test
│ │ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── ps
│ │ │ │ │ └── bk
│ │ │ │ │ └── hotel
│ │ │ │ │ └── customer
│ │ │ │ │ ├── config
│ │ │ │ │ ├── TestAppender.java
│ │ │ │ │ └── TestControllerAspectLoggingWeaving.java
│ │ │ │ │ ├── controller
│ │ │ │ │ ├── TestCustomerController.java
│ │ │ │ │ └── TestCustomerControllerSecurity.java
│ │ │ │ │ ├── model
│ │ │ │ │ └── TestCustomerJsonSerializing.java
│ │ │ │ │ └── repo
│ │ │ │ │ ├── ITCustomerRepo.java
│ │ │ │ │ └── TestCustomerRepo.java
│ │ │ │ └── resources
│ │ │ │ ├── init_customerdb.sql
│ │ │ │ ├── logback-static-appender.xml
│ │ │ │ ├── logback-test.xml
│ │ │ │ └── validFullCustomer.json
│ │ ├── pom.xml
│ │ └── room-service-module-5
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── ps
│ │ │ │ │ └── bk
│ │ │ │ │ └── hotel
│ │ │ │ │ └── room
│ │ │ │ │ ├── RoomServiceApplication.java
│ │ │ │ │ ├── controller
│ │ │ │ │ └── RoomController.java
│ │ │ │ │ ├── exception
│ │ │ │ │ ├── RoomServiceClientException.java
│ │ │ │ │ └── RoomServiceException.java
│ │ │ │ │ ├── model
│ │ │ │ │ ├── Booking.java
│ │ │ │ │ └── Room.java
│ │ │ │ │ ├── repo
│ │ │ │ │ └── RoomRepo.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── RoomService.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── RoomServiceImpl.java
│ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── init.sql
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── bk
│ │ │ └── hotel
│ │ │ │ └── room
│ │ │ │ └── service
│ │ │ │ └── impl
│ │ │ │ └── TestRoomServiceImpl.java
│ │ │ └── test
│ │ │ └── room
│ │ │ └── room
│ │ │ └── service
│ │ │ └── ContractValidatorRoomService.java
│ └── ps-effective-automated-testing-in-spring-module-6
│ │ ├── acceptance-tests
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── bk
│ │ │ │ └── hotel
│ │ │ │ ├── booking
│ │ │ │ └── model
│ │ │ │ │ └── Booking.java
│ │ │ │ ├── customer
│ │ │ │ └── model
│ │ │ │ │ └── Customer.java
│ │ │ │ ├── room
│ │ │ │ └── model
│ │ │ │ │ └── Room.java
│ │ │ │ └── test
│ │ │ │ └── AcceptanceTestsApplication.java
│ │ │ └── test
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── bk
│ │ │ │ └── hotel
│ │ │ │ └── test
│ │ │ │ ├── RunCucumberTest.java
│ │ │ │ └── steps
│ │ │ │ └── ExistingCustomerBooksRoom.java
│ │ │ └── resources
│ │ │ └── Room_Booking.feature
│ │ ├── booking-service-module-6
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── assembly
│ │ │ └── stub.xml
│ │ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── ps
│ │ │ │ │ └── bk
│ │ │ │ │ └── hotel
│ │ │ │ │ └── booking
│ │ │ │ │ ├── BookingServiceApplication.java
│ │ │ │ │ ├── controller
│ │ │ │ │ └── BookingController.java
│ │ │ │ │ ├── exception
│ │ │ │ │ ├── BookingServiceClientException.java
│ │ │ │ │ └── BookingServiceException.java
│ │ │ │ │ ├── model
│ │ │ │ │ └── Booking.java
│ │ │ │ │ ├── repo
│ │ │ │ │ └── BookingRepo.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── BookingService.java
│ │ │ │ │ ├── BookingValidationService.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── BookingServiceImpl.java
│ │ │ └── resources
│ │ │ │ └── application.properties
│ │ │ └── test
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── bk
│ │ │ │ └── hotel
│ │ │ │ └── booking
│ │ │ │ ├── BaseClass.java
│ │ │ │ └── TestBookingServiceImpl.java
│ │ │ └── resources
│ │ │ └── contracts
│ │ │ └── successfullyBookRoom.groovy
│ │ ├── customer-service-module-6
│ │ ├── pom.xml
│ │ └── src
│ │ │ ├── main
│ │ │ ├── asciidoc
│ │ │ │ └── index.adoc
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── ps
│ │ │ │ │ └── bk
│ │ │ │ │ └── hotel
│ │ │ │ │ └── customer
│ │ │ │ │ ├── CustomerServiceApplication.java
│ │ │ │ │ ├── config
│ │ │ │ │ ├── ControllerLoggingAspect.java
│ │ │ │ │ ├── CustomBasicAuthenticationEntryPoint.java
│ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ ├── controller
│ │ │ │ │ └── CustomerController.java
│ │ │ │ │ ├── exception
│ │ │ │ │ └── CustomerSerivceClientException.java
│ │ │ │ │ ├── model
│ │ │ │ │ └── Customer.java
│ │ │ │ │ ├── repo
│ │ │ │ │ └── CustomerRepo.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── CustomerService.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── CustomerServiceImpl.java
│ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── import.sql
│ │ │ └── test
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── bk
│ │ │ │ └── hotel
│ │ │ │ └── customer
│ │ │ │ ├── config
│ │ │ │ ├── TestAppender.java
│ │ │ │ └── TestControllerAspectLoggingWeaving.java
│ │ │ │ ├── controller
│ │ │ │ ├── TestCustomerController.java
│ │ │ │ └── TestCustomerControllerSecurity.java
│ │ │ │ ├── model
│ │ │ │ └── TestCustomerJsonSerializing.java
│ │ │ │ └── repo
│ │ │ │ ├── ITCustomerRepo.java
│ │ │ │ └── TestCustomerRepo.java
│ │ │ └── resources
│ │ │ ├── init_customerdb.sql
│ │ │ ├── logback-static-appender.xml
│ │ │ ├── logback-test.xml
│ │ │ └── validFullCustomer.json
│ │ ├── pom.xml
│ │ └── room-service-module-6
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── bk
│ │ │ │ └── hotel
│ │ │ │ └── room
│ │ │ │ ├── RoomServiceApplication.java
│ │ │ │ ├── controller
│ │ │ │ └── RoomController.java
│ │ │ │ ├── exception
│ │ │ │ ├── RoomServiceClientException.java
│ │ │ │ └── RoomServiceException.java
│ │ │ │ ├── model
│ │ │ │ ├── Booking.java
│ │ │ │ └── Room.java
│ │ │ │ ├── repo
│ │ │ │ └── RoomRepo.java
│ │ │ │ └── service
│ │ │ │ ├── RoomService.java
│ │ │ │ └── impl
│ │ │ │ └── RoomServiceImpl.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ └── import.sql
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ ├── bk
│ │ └── hotel
│ │ │ └── room
│ │ │ └── service
│ │ │ └── impl
│ │ │ └── TestRoomServiceImpl.java
│ │ └── test
│ │ └── room
│ │ └── room
│ │ └── service
│ │ └── ContractValidatorRoomService.java
└── pom.xml
├── images
├── IOC
│ ├── after_init_method.png
│ ├── bfpp.png
│ └── how_everything_works.png
├── Screenshot.png
├── Screenshot_1.png
├── Screenshot_2.png
├── Screenshot_3.png
├── Screenshot_4.png
├── Screenshot_5.png
├── aop
│ ├── Screenshot.png
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_11.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_15.png
│ ├── Screenshot_16.png
│ ├── Screenshot_17.png
│ ├── Screenshot_18.png
│ ├── Screenshot_2.png
│ ├── Screenshot_3.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ ├── Screenshot_8.png
│ └── Screenshot_9.png
├── core_spring_in_detail
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_11.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_2.png
│ ├── Screenshot_3.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ └── Screenshot_8.png
├── db
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_11.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_15.png
│ ├── Screenshot_16.png
│ ├── Screenshot_17.png
│ ├── Screenshot_18.png
│ ├── Screenshot_19.png
│ ├── Screenshot_2.png
│ ├── Screenshot_20.png
│ ├── Screenshot_21.png
│ ├── Screenshot_22.png
│ ├── Screenshot_23.png
│ ├── Screenshot_24.png
│ ├── Screenshot_25.png
│ ├── Screenshot_26.png
│ ├── Screenshot_27.png
│ ├── Screenshot_28.png
│ ├── Screenshot_3.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ ├── Screenshot_8.png
│ └── Screenshot_9.png
├── handout
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_100.png
│ ├── Screenshot_101.png
│ ├── Screenshot_102.png
│ ├── Screenshot_103.png
│ ├── Screenshot_104.png
│ ├── Screenshot_105.png
│ ├── Screenshot_106.png
│ ├── Screenshot_107.png
│ ├── Screenshot_108.png
│ ├── Screenshot_109.png
│ ├── Screenshot_11.png
│ ├── Screenshot_110.png
│ ├── Screenshot_111.png
│ ├── Screenshot_112.png
│ ├── Screenshot_113.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_15.png
│ ├── Screenshot_16.png
│ ├── Screenshot_17.png
│ ├── Screenshot_18.png
│ ├── Screenshot_19.png
│ ├── Screenshot_2.png
│ ├── Screenshot_20.png
│ ├── Screenshot_21.png
│ ├── Screenshot_22.png
│ ├── Screenshot_23.png
│ ├── Screenshot_24.png
│ ├── Screenshot_25.png
│ ├── Screenshot_26.png
│ ├── Screenshot_27.png
│ ├── Screenshot_28.png
│ ├── Screenshot_29.png
│ ├── Screenshot_3.png
│ ├── Screenshot_30.png
│ ├── Screenshot_31.png
│ ├── Screenshot_32.png
│ ├── Screenshot_33.png
│ ├── Screenshot_34.png
│ ├── Screenshot_35.png
│ ├── Screenshot_36.png
│ ├── Screenshot_37.png
│ ├── Screenshot_38.png
│ ├── Screenshot_39.png
│ ├── Screenshot_4.png
│ ├── Screenshot_40.png
│ ├── Screenshot_41.png
│ ├── Screenshot_42.png
│ ├── Screenshot_43.png
│ ├── Screenshot_44.png
│ ├── Screenshot_45.png
│ ├── Screenshot_46.png
│ ├── Screenshot_47.png
│ ├── Screenshot_48.png
│ ├── Screenshot_49.png
│ ├── Screenshot_5.png
│ ├── Screenshot_50.png
│ ├── Screenshot_51.png
│ ├── Screenshot_52.png
│ ├── Screenshot_53.png
│ ├── Screenshot_54.png
│ ├── Screenshot_55.png
│ ├── Screenshot_56.png
│ ├── Screenshot_57.png
│ ├── Screenshot_58.png
│ ├── Screenshot_59.png
│ ├── Screenshot_6.png
│ ├── Screenshot_60.png
│ ├── Screenshot_61.png
│ ├── Screenshot_62.png
│ ├── Screenshot_63.png
│ ├── Screenshot_64.png
│ ├── Screenshot_65.png
│ ├── Screenshot_66.png
│ ├── Screenshot_67.png
│ ├── Screenshot_68.png
│ ├── Screenshot_69.png
│ ├── Screenshot_7.png
│ ├── Screenshot_70.png
│ ├── Screenshot_71.png
│ ├── Screenshot_72.png
│ ├── Screenshot_73.png
│ ├── Screenshot_74.png
│ ├── Screenshot_75.png
│ ├── Screenshot_76.png
│ ├── Screenshot_77.png
│ ├── Screenshot_78.png
│ ├── Screenshot_79.png
│ ├── Screenshot_8.png
│ ├── Screenshot_80.png
│ ├── Screenshot_81.png
│ ├── Screenshot_82.png
│ ├── Screenshot_83.png
│ ├── Screenshot_84.png
│ ├── Screenshot_85.png
│ ├── Screenshot_86.png
│ ├── Screenshot_87.png
│ ├── Screenshot_88.png
│ ├── Screenshot_89.png
│ ├── Screenshot_9.png
│ ├── Screenshot_90.png
│ ├── Screenshot_91.png
│ ├── Screenshot_92.png
│ ├── Screenshot_93.png
│ ├── Screenshot_94.png
│ ├── Screenshot_95.png
│ ├── Screenshot_96.png
│ ├── Screenshot_97.png
│ ├── Screenshot_98.png
│ └── Screenshot_99.png
├── integration
│ ├── Screenshot_1.png
│ ├── Screenshot_2.png
│ └── Screenshot_3.png
├── pet-sitter
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_11.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_15.png
│ ├── Screenshot_16.png
│ ├── Screenshot_17.png
│ ├── Screenshot_18.png
│ ├── Screenshot_19.png
│ ├── Screenshot_20.png
│ ├── Screenshot_21.png
│ ├── Screenshot_22.png
│ ├── Screenshot_23.png
│ ├── Screenshot_24.png
│ ├── Screenshot_25.png
│ ├── Screenshot_26.png
│ ├── Screenshot_27.png
│ ├── Screenshot_28.png
│ ├── Screenshot_29.png
│ ├── Screenshot_3.png
│ ├── Screenshot_30.png
│ ├── Screenshot_31.png
│ ├── Screenshot_32.png
│ ├── Screenshot_33.png
│ ├── Screenshot_34.png
│ ├── Screenshot_35.png
│ ├── Screenshot_36.png
│ ├── Screenshot_37.png
│ ├── Screenshot_38.png
│ ├── Screenshot_39.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ ├── Screenshot_8.png
│ └── Screenshot_9.png
├── qa
│ ├── Screenshot_1.png
│ ├── Screenshot_2.png
│ ├── Screenshot_3.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ ├── Screenshot_8.png
│ └── Screenshot_9.png
├── result.png
├── spring_cloud
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_11.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_15.png
│ ├── Screenshot_16.png
│ ├── Screenshot_17.png
│ ├── Screenshot_18.png
│ ├── Screenshot_19.png
│ ├── Screenshot_2.png
│ ├── Screenshot_20.png
│ ├── Screenshot_21.png
│ ├── Screenshot_22.png
│ ├── Screenshot_23.png
│ ├── Screenshot_24.png
│ ├── Screenshot_25.png
│ ├── Screenshot_26.png
│ ├── Screenshot_27.png
│ ├── Screenshot_28.png
│ ├── Screenshot_29.png
│ ├── Screenshot_3.png
│ ├── Screenshot_30.png
│ ├── Screenshot_31.png
│ ├── Screenshot_32.png
│ ├── Screenshot_33.png
│ ├── Screenshot_34.png
│ ├── Screenshot_35.png
│ ├── Screenshot_36.png
│ ├── Screenshot_37.png
│ ├── Screenshot_38.png
│ ├── Screenshot_39.png
│ ├── Screenshot_4.png
│ ├── Screenshot_40.png
│ ├── Screenshot_41.png
│ ├── Screenshot_42.png
│ ├── Screenshot_43.png
│ ├── Screenshot_44.png
│ ├── Screenshot_45.png
│ ├── Screenshot_46.png
│ ├── Screenshot_47.png
│ ├── Screenshot_48.png
│ ├── Screenshot_49.png
│ ├── Screenshot_5.png
│ ├── Screenshot_50.png
│ ├── Screenshot_51.png
│ ├── Screenshot_52.png
│ ├── Screenshot_53.png
│ ├── Screenshot_54.png
│ ├── Screenshot_55.png
│ ├── Screenshot_56.png
│ ├── Screenshot_57.png
│ ├── Screenshot_58.png
│ ├── Screenshot_59.png
│ ├── Screenshot_6.png
│ ├── Screenshot_60.png
│ ├── Screenshot_61.png
│ ├── Screenshot_7.png
│ ├── Screenshot_8.png
│ ├── Screenshot_9.png
│ └── diagram-distributed-systems.svg
└── web
│ ├── boot
│ ├── Screenshot_1.png
│ ├── Screenshot_10.png
│ ├── Screenshot_11.png
│ ├── Screenshot_12.png
│ ├── Screenshot_13.png
│ ├── Screenshot_14.png
│ ├── Screenshot_15.png
│ ├── Screenshot_16.png
│ ├── Screenshot_17.png
│ ├── Screenshot_18.png
│ ├── Screenshot_19.png
│ ├── Screenshot_2.png
│ ├── Screenshot_20.png
│ ├── Screenshot_3.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ ├── Screenshot_8.png
│ └── Screenshot_9.png
│ ├── mvc
│ ├── Screenshot.png
│ ├── Screenshot_1.png
│ ├── Screenshot_2.png
│ ├── Screenshot_3.png
│ ├── web_services.png
│ └── workflow.png
│ ├── rest
│ └── The-Richardson-Maturity-Model-Nordic-APIs.png
│ └── security
│ ├── Screenshot_1.png
│ ├── Screenshot_2.png
│ ├── Screenshot_3.png
│ ├── Screenshot_4.png
│ ├── Screenshot_5.png
│ ├── Screenshot_6.png
│ ├── Screenshot_7.png
│ └── security_unders_the_hood.png
├── materials
├── Core-Spring-5.0-Certification-Study-Guide.pdf
├── SpringFrameworkNotesForProfessionals.pdf
├── Spring_3_Certification_Study_Notes.pdf
├── core-spring-4.3.b-RELEASE-student-handout.pdf
├── core-spring-4.3.b.RELEASE-labdocs.pdf
└── spring-certification-4_2-mock-exam-antoine.pdf
├── pet-sitter
├── 00-ps-core
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ ├── CleanUp.java
│ │ ├── base
│ │ ├── AbstractEntity.java
│ │ ├── PetType.java
│ │ ├── RequestStatus.java
│ │ ├── ResponseStatus.java
│ │ ├── ReviewGrade.java
│ │ └── UserType.java
│ │ ├── ents
│ │ ├── Pet.java
│ │ ├── Request.java
│ │ ├── Response.java
│ │ ├── Review.java
│ │ └── User.java
│ │ └── util
│ │ ├── DateFormatter.java
│ │ ├── JsonDateSerializer.java
│ │ ├── Pair.java
│ │ └── RecordBuilder.java
├── 01-ps-start-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── repos
│ │ │ ├── AbstractRepo.java
│ │ │ ├── PetRepo.java
│ │ │ ├── RequestRepo.java
│ │ │ ├── ResponseRepo.java
│ │ │ ├── ReviewRepo.java
│ │ │ └── UserRepo.java
│ │ │ └── services
│ │ │ ├── AbstractService.java
│ │ │ ├── OperationsService.java
│ │ │ ├── PetService.java
│ │ │ ├── RequestService.java
│ │ │ ├── ResponseService.java
│ │ │ ├── ReviewService.java
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ ├── SimpleAbstractService.java
│ │ │ ├── SimpleOperationsService.java
│ │ │ ├── SimplePetService.java
│ │ │ ├── SimpleRequestService.java
│ │ │ ├── SimpleResponseService.java
│ │ │ ├── SimpleReviewService.java
│ │ │ └── SimpleUserService.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── repo
│ │ ├── services
│ │ ├── SimpleOperationsServiceTest.java
│ │ └── SimpleServiceTestBase.java
│ │ └── stub
│ │ ├── StubAbstractRepo.java
│ │ ├── StubPetRepo.java
│ │ ├── StubRequestRepo.java
│ │ ├── StubResponseRepo.java
│ │ ├── StubReviewRepo.java
│ │ └── StubUserRepo.java
├── 01-ps-start-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── repos
│ │ │ ├── AbstractRepo.java
│ │ │ ├── PetRepo.java
│ │ │ ├── RequestRepo.java
│ │ │ ├── ResponseRepo.java
│ │ │ ├── ReviewRepo.java
│ │ │ └── UserRepo.java
│ │ │ └── services
│ │ │ ├── AbstractService.java
│ │ │ ├── OperationsService.java
│ │ │ ├── PetService.java
│ │ │ ├── RequestService.java
│ │ │ ├── ResponseService.java
│ │ │ ├── ReviewService.java
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ ├── SimpleAbstractService.java
│ │ │ ├── SimpleOperationsService.java
│ │ │ ├── SimplePetService.java
│ │ │ ├── SimpleRequestService.java
│ │ │ ├── SimpleResponseService.java
│ │ │ ├── SimpleReviewService.java
│ │ │ └── SimpleUserService.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── repo
│ │ ├── services
│ │ ├── SimpleOperationsServiceTest.java
│ │ └── SimpleServiceTestBase.java
│ │ └── stub
│ │ ├── StubAbstractRepo.java
│ │ ├── StubPetRepo.java
│ │ ├── StubRequestRepo.java
│ │ ├── StubResponseRepo.java
│ │ ├── StubReviewRepo.java
│ │ └── StubUserRepo.java
├── 02-ps-container-01-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── beans
│ │ │ │ ├── ComplexBean.java
│ │ │ │ ├── SimpleBean.java
│ │ │ │ ├── SimpleBeanImpl.java
│ │ │ │ ├── ctr
│ │ │ │ │ ├── ComplexBean2Impl.java
│ │ │ │ │ ├── ComplexBeanImpl.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── others
│ │ │ │ │ ├── CollectionHolder.java
│ │ │ │ │ ├── DateConverter.java
│ │ │ │ │ ├── MultipleTypesBean.java
│ │ │ │ │ ├── SimpleFactoryBean.java
│ │ │ │ │ ├── SimpleFactoryMethod.java
│ │ │ │ │ ├── SimpleSingleton.java
│ │ │ │ │ └── SpringFactoryBean.java
│ │ │ │ └── set
│ │ │ │ │ ├── ComplexBean2Impl.java
│ │ │ │ │ ├── ComplexBeanImpl.java
│ │ │ │ │ └── package-info.java
│ │ │ │ └── sample
│ │ │ │ ├── ComplexBean.java
│ │ │ │ ├── ComplexBean2.java
│ │ │ │ └── SimpleBean.java
│ │ └── resources
│ │ │ ├── db
│ │ │ └── datasource.properties
│ │ │ ├── logback.xml
│ │ │ └── spring
│ │ │ ├── application-config.xml
│ │ │ ├── ctr
│ │ │ ├── sample-config-01.xml
│ │ │ └── sample-config-02.xml
│ │ │ ├── others
│ │ │ ├── multiple-types-bean-config.xml
│ │ │ ├── sample-config-01.xml
│ │ │ ├── sample-config-02.xml
│ │ │ └── sample-config-03.xml
│ │ │ └── set
│ │ │ ├── sample-config-01.xml
│ │ │ └── sample-config-02.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── ApplicationContextTest.java
│ │ │ └── beans
│ │ │ ├── ctr
│ │ │ └── CIBeansTest.java
│ │ │ ├── others
│ │ │ ├── BeanNamingTest.java
│ │ │ ├── CollectionBeansTest.java
│ │ │ └── MtBeanTest.java
│ │ │ └── set
│ │ │ └── SIBeansTest.java
│ │ └── resources
│ │ └── spring
│ │ ├── test-config-01.xml
│ │ └── test-config-02.xml
├── 02-ps-container-01-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── beans
│ │ │ │ ├── ComplexBean.java
│ │ │ │ ├── SimpleBean.java
│ │ │ │ ├── SimpleBeanImpl.java
│ │ │ │ ├── ctr
│ │ │ │ │ ├── ComplexBean2Impl.java
│ │ │ │ │ ├── ComplexBeanImpl.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── others
│ │ │ │ │ ├── CollectionHolder.java
│ │ │ │ │ ├── DateConverter.java
│ │ │ │ │ ├── MultipleTypesBean.java
│ │ │ │ │ ├── SimpleFactoryBean.java
│ │ │ │ │ ├── SimpleFactoryMethod.java
│ │ │ │ │ ├── SimpleSingleton.java
│ │ │ │ │ └── SpringFactoryBean.java
│ │ │ │ └── set
│ │ │ │ │ ├── ComplexBean2Impl.java
│ │ │ │ │ ├── ComplexBeanImpl.java
│ │ │ │ │ └── package-info.java
│ │ │ │ ├── repos
│ │ │ │ ├── AbstractRepo.java
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ └── impl
│ │ │ │ │ ├── JdbcAbstractRepo.java
│ │ │ │ │ ├── JdbcPetRepo.java
│ │ │ │ │ ├── JdbcRequestRepo.java
│ │ │ │ │ ├── JdbcResponseRepo.java
│ │ │ │ │ ├── JdbcReviewRepo.java
│ │ │ │ │ └── JdbcUserRepo.java
│ │ │ │ ├── sample
│ │ │ │ ├── ComplexBean.java
│ │ │ │ ├── ComplexBean2.java
│ │ │ │ └── SimpleBean.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── OperationsService.java
│ │ │ │ ├── PetService.java
│ │ │ │ ├── RequestService.java
│ │ │ │ ├── ResponseService.java
│ │ │ │ ├── ReviewService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── SimpleAbstractService.java
│ │ │ │ ├── SimpleOperationsService.java
│ │ │ │ ├── SimplePetService.java
│ │ │ │ ├── SimpleRequestService.java
│ │ │ │ ├── SimpleResponseService.java
│ │ │ │ ├── SimpleReviewService.java
│ │ │ │ └── SimpleUserService.java
│ │ └── resources
│ │ │ ├── db
│ │ │ └── datasource.properties
│ │ │ ├── logback.xml
│ │ │ └── spring
│ │ │ ├── application-config.xml
│ │ │ ├── ctr
│ │ │ ├── sample-config-01.xml
│ │ │ └── sample-config-02.xml
│ │ │ ├── others
│ │ │ ├── collections-cfg.xml
│ │ │ ├── converter-cfg.xml
│ │ │ ├── factory-cfg.xml
│ │ │ ├── num-cfg.xml
│ │ │ ├── sample-config-01.xml
│ │ │ ├── sample-config-02.xml
│ │ │ └── sample-config-03.xml
│ │ │ └── set
│ │ │ ├── sample-config-01.xml
│ │ │ └── sample-config-02.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── ApplicationContextTest.java
│ │ │ ├── another
│ │ │ └── quiz
│ │ │ │ └── AnotherQuizBean.java
│ │ │ ├── beans
│ │ │ ├── ctr
│ │ │ │ └── CIBeansTest.java
│ │ │ ├── others
│ │ │ │ ├── BeanNamingTest.java
│ │ │ │ ├── CollectionBeansTest.java
│ │ │ │ └── MtBeanTest.java
│ │ │ └── set
│ │ │ │ └── SIBeansTest.java
│ │ │ ├── cfg
│ │ │ └── Appconfig.java
│ │ │ └── quiz
│ │ │ └── QuizBean.java
│ │ └── resources
│ │ ├── db
│ │ ├── schema.sql
│ │ └── test-data.sql
│ │ └── spring
│ │ ├── test-config-01.xml
│ │ ├── test-config-02.xml
│ │ └── test-config-03.xml
├── 02-ps-container-02-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── AllRepoConfig.java
│ │ │ │ ├── DataSourceConfig.java
│ │ │ │ ├── DataSourceConfig1.java
│ │ │ │ ├── PetRepoConfig.java
│ │ │ │ ├── RequestRepoConfig.java
│ │ │ │ └── UserRepoDSConfig.java
│ │ │ │ ├── repos
│ │ │ │ ├── AbstractRepo.java
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ └── impl
│ │ │ │ │ ├── JdbcAbstractRepo.java
│ │ │ │ │ ├── JdbcPetRepo.java
│ │ │ │ │ ├── JdbcRequestRepo.java
│ │ │ │ │ ├── JdbcResponseRepo.java
│ │ │ │ │ ├── JdbcReviewRepo.java
│ │ │ │ │ └── JdbcUserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── OperationsService.java
│ │ │ │ ├── PetService.java
│ │ │ │ ├── RequestService.java
│ │ │ │ ├── ResponseService.java
│ │ │ │ ├── ReviewService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── SimpleAbstractService.java
│ │ │ │ ├── SimpleOperationsService.java
│ │ │ │ ├── SimplePetService.java
│ │ │ │ ├── SimpleRequestService.java
│ │ │ │ ├── SimpleResponseService.java
│ │ │ │ ├── SimpleReviewService.java
│ │ │ │ └── SimpleUserService.java
│ │ └── resources
│ │ │ ├── db
│ │ │ └── datasource.properties
│ │ │ └── spring
│ │ │ ├── application-config.xml
│ │ │ └── user-repo-config.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── ApplicationContextTest.java
│ │ │ ├── AutowiringTest.java
│ │ │ ├── BootStrapInjectionTest.java
│ │ │ ├── BootstrapTest.java
│ │ │ ├── CfgToXmlTest.java
│ │ │ ├── GenericQualifierTest.java
│ │ │ └── XmlToCfgTest.java
│ │ └── resources
│ │ └── spring
│ │ ├── test-config-01.xml
│ │ ├── test-config-02.xml
│ │ ├── test-config-03.xml
│ │ └── test-config-04.xml
├── 02-ps-container-02-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── AllRepoConfig.java
│ │ │ │ ├── DataSourceConfig.java
│ │ │ │ ├── DataSourceConfig1.java
│ │ │ │ ├── PetRepoConfig.java
│ │ │ │ ├── RequestRepoConfig.java
│ │ │ │ └── UserRepoDSConfig.java
│ │ │ │ ├── repos
│ │ │ │ ├── AbstractRepo.java
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ └── impl
│ │ │ │ │ ├── JdbcAbstractRepo.java
│ │ │ │ │ ├── JdbcPetRepo.java
│ │ │ │ │ ├── JdbcRequestRepo.java
│ │ │ │ │ ├── JdbcResponseRepo.java
│ │ │ │ │ ├── JdbcReviewRepo.java
│ │ │ │ │ └── JdbcUserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── OperationsService.java
│ │ │ │ ├── PetService.java
│ │ │ │ ├── RequestService.java
│ │ │ │ ├── ResponseService.java
│ │ │ │ ├── ReviewService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── SimpleAbstractService.java
│ │ │ │ ├── SimpleOperationsService.java
│ │ │ │ ├── SimplePetService.java
│ │ │ │ ├── SimpleRequestService.java
│ │ │ │ ├── SimpleResponseService.java
│ │ │ │ ├── SimpleReviewService.java
│ │ │ │ └── SimpleUserService.java
│ │ └── resources
│ │ │ ├── db
│ │ │ └── datasource.properties
│ │ │ ├── logback.xml
│ │ │ └── spring
│ │ │ ├── application-config.xml
│ │ │ └── user-repo-config.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── ApplicationContextTest.java
│ │ │ ├── AutowiringTest.java
│ │ │ ├── BootstrapTest.java
│ │ │ ├── CfgToXmlTest.java
│ │ │ ├── GenericQualifierTest.java
│ │ │ ├── MixedConfigTest.java
│ │ │ ├── XmlToCfgTest.java
│ │ │ ├── sample
│ │ │ └── TestBeanOne.java
│ │ │ └── tmp
│ │ │ ├── AppConfig.java
│ │ │ ├── AutowiringTest.java
│ │ │ └── QuizBean.java
│ │ └── resources
│ │ └── spring
│ │ ├── test-config-01.xml
│ │ ├── test-config-02.xml
│ │ ├── test-config-03.xml
│ │ ├── test-config-04.xml
│ │ └── test-config-05.xml
├── 03-ps-test-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── PetConfigClass.java
│ │ │ │ ├── repos
│ │ │ │ ├── AbstractRepo.java
│ │ │ │ ├── NotFoundException.java
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ └── UserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── OperationsService.java
│ │ │ │ ├── PetService.java
│ │ │ │ ├── RequestService.java
│ │ │ │ ├── ResponseService.java
│ │ │ │ ├── ReviewService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── SimpleAbstractService.java
│ │ │ │ ├── SimplePetService.java
│ │ │ │ ├── SimpleRequestService.java
│ │ │ │ ├── SimpleResponseService.java
│ │ │ │ ├── SimpleReviewService.java
│ │ │ │ └── SimpleUserService.java
│ │ └── resources
│ │ │ ├── logback.xml
│ │ │ └── spring
│ │ │ └── pet-cfg.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestAppConfig.java
│ │ │ ├── integration
│ │ │ ├── SpringPetServiceTest.java
│ │ │ └── SpringPetServiceTest2.java
│ │ │ ├── repo
│ │ │ ├── services
│ │ │ │ ├── MockPetServiceTest.java
│ │ │ │ ├── SimplePetServiceTest.java
│ │ │ │ ├── SimpleRequestServiceTest.java
│ │ │ │ ├── SimpleReviewServiceTest.java
│ │ │ │ └── SimpleUserServiceTest.java
│ │ │ └── stub
│ │ │ │ ├── StubAbstractRepo.java
│ │ │ │ └── StubPetRepo.java
│ │ │ └── util
│ │ │ └── TestObjectsBuilder.java
│ │ └── resources
│ │ └── spring
│ │ └── test-cfg.xml
├── 03-ps-test-sample
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── PetConfigClass.java
│ │ │ │ └── ProdDataConfig.java
│ │ │ │ ├── repos
│ │ │ │ ├── AbstractRepo.java
│ │ │ │ ├── NotFoundException.java
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ └── impl
│ │ │ │ │ ├── JdbcAbstractRepo.java
│ │ │ │ │ ├── JdbcPetRepo.java
│ │ │ │ │ ├── JdbcRequestRepo.java
│ │ │ │ │ ├── JdbcResponseRepo.java
│ │ │ │ │ ├── JdbcReviewRepo.java
│ │ │ │ │ └── JdbcUserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── OperationsService.java
│ │ │ │ ├── PetService.java
│ │ │ │ ├── RequestService.java
│ │ │ │ ├── ResponseService.java
│ │ │ │ ├── ReviewService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── SimpleAbstractService.java
│ │ │ │ ├── SimplePetService.java
│ │ │ │ ├── SimpleRequestService.java
│ │ │ │ ├── SimpleResponseService.java
│ │ │ │ ├── SimpleReviewService.java
│ │ │ │ └── SimpleUserService.java
│ │ └── resources
│ │ │ ├── db
│ │ │ └── datasource.properties
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ └── test
│ │ │ └── PetServiceTest.java
│ │ └── resources
│ │ └── db
│ │ ├── schema.sql
│ │ └── test-data.sql
├── 03-ps-test-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── JdbcRepoConfig.java
│ │ │ │ ├── PetConfigClass.java
│ │ │ │ ├── PetConfigClass2.java
│ │ │ │ └── ServiceConfig.java
│ │ │ │ ├── repos
│ │ │ │ ├── AbstractRepo.java
│ │ │ │ ├── NotFoundException.java
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ └── impl
│ │ │ │ │ ├── JdbcAbstractRepo.java
│ │ │ │ │ ├── JdbcPetRepo.java
│ │ │ │ │ ├── JdbcRequestRepo.java
│ │ │ │ │ ├── JdbcResponseRepo.java
│ │ │ │ │ ├── JdbcReviewRepo.java
│ │ │ │ │ └── JdbcUserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── AbstractService.java
│ │ │ │ ├── OperationsService.java
│ │ │ │ ├── PetService.java
│ │ │ │ ├── RequestService.java
│ │ │ │ ├── ResponseService.java
│ │ │ │ ├── ReviewService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── SimpleAbstractService.java
│ │ │ │ ├── SimplePetService.java
│ │ │ │ ├── SimpleRequestService.java
│ │ │ │ ├── SimpleResponseService.java
│ │ │ │ ├── SimpleReviewService.java
│ │ │ │ └── SimpleUserService.java
│ │ └── resources
│ │ │ ├── logback.xml
│ │ │ └── spring
│ │ │ └── pet-cfg.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ ├── TestAppConfig.java
│ │ │ ├── TestAppConfig2.java
│ │ │ └── TestAppConfig3.java
│ │ │ ├── integration
│ │ │ ├── AnnPetServiceTest.java
│ │ │ ├── SpringPetServiceTest.java
│ │ │ ├── SpringPetServiceTest2.java
│ │ │ └── SpringPetServiceTest3.java
│ │ │ ├── mock
│ │ │ └── MockTemplateConfig.java
│ │ │ ├── repo
│ │ │ ├── services
│ │ │ │ ├── MockPetServiceTest.java
│ │ │ │ ├── SimplePetServiceTest.java
│ │ │ │ ├── SimpleRequestServiceTest.java
│ │ │ │ ├── SimpleReviewServiceTest.java
│ │ │ │ └── SimpleUserServiceTest.java
│ │ │ └── stub
│ │ │ │ ├── StubAbstractRepo.java
│ │ │ │ └── StubPetRepo.java
│ │ │ └── util
│ │ │ └── TestObjectsBuilder.java
│ │ └── resources
│ │ └── spring
│ │ └── test-cfg.xml
├── 04-ps-aop-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── aspects
│ │ │ ├── PointcutContainer.java
│ │ │ └── UserRepoMonitor.java
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── ents
│ │ │ └── User.java
│ │ │ ├── exception
│ │ │ ├── NotFoundException.java
│ │ │ └── UnexpectedException.java
│ │ │ ├── repos
│ │ │ ├── UserRepo.java
│ │ │ └── impl
│ │ │ │ ├── JdbcTemplateUserRepo.java
│ │ │ │ └── JdbcUserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── UserServiceImpl.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ └── config
│ │ │ ├── TestDataConfig.java
│ │ │ ├── TestJdbcTemplateUserRepo.java
│ │ │ ├── TestJdbcUserRepo.java
│ │ │ └── TestUserService.java
│ │ └── resources
│ │ └── db
│ │ ├── schema.sql
│ │ └── test-data.sql
├── 04-ps-aop-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── aspects
│ │ │ ├── PointcutContainer.java
│ │ │ └── UserRepoMonitor.java
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── ents
│ │ │ └── User.java
│ │ │ ├── exception
│ │ │ ├── NotFoundException.java
│ │ │ └── UnexpectedException.java
│ │ │ ├── repos
│ │ │ ├── UserRepo.java
│ │ │ └── impl
│ │ │ │ ├── JdbcTemplateUserRepo.java
│ │ │ │ └── JdbcUserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── UserServiceImpl.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ └── config
│ │ │ ├── TestDataConfig.java
│ │ │ ├── TestJdbcTemplateUserRepo.java
│ │ │ ├── TestJdbcUserRepo.java
│ │ │ └── TestUserService.java
│ │ └── resources
│ │ └── db
│ │ ├── schema.sql
│ │ └── test-data.sql
├── 05-ps-jdbc-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ └── repos
│ │ │ ├── UserRepo.java
│ │ │ ├── impl
│ │ │ ├── JdbcNamedTemplateUserRepo.java
│ │ │ └── JdbcTemplateUserRepo.java
│ │ │ └── util
│ │ │ └── UserRowMapper.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ └── repo
│ │ │ ├── TestJdbcTemplateUserRepo.java
│ │ │ └── TestNamedJdbcTemplateUserRepo.java
│ │ └── resources
│ │ └── db
│ │ ├── db.properties
│ │ ├── schema.sql
│ │ └── test-data.sql
├── 05-ps-jdbc-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ └── repos
│ │ │ ├── UserRepo.java
│ │ │ ├── impl
│ │ │ ├── JdbcNamedTemplateUserRepo.java
│ │ │ └── JdbcTemplateUserRepo.java
│ │ │ └── util
│ │ │ └── UserRowMapper.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ └── repo
│ │ │ ├── TestJdbcTemplateUserRepo.java
│ │ │ └── TestNamedJdbcTemplateUserRepo.java
│ │ └── resources
│ │ └── db
│ │ ├── db.properties
│ │ ├── schema.sql
│ │ └── test-data.sql
├── 06-ps-tx-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ └── AppConfig.java
│ │ │ │ ├── exceptions
│ │ │ │ └── MailSendingException.java
│ │ │ │ ├── repos
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ ├── impl
│ │ │ │ │ ├── JdbcTemplatePetRepo.java
│ │ │ │ │ └── JdbcTemplateUserRepo.java
│ │ │ │ └── util
│ │ │ │ │ └── UserRowMapper.java
│ │ │ │ └── services
│ │ │ │ ├── PetService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── PetServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ ├── TestJdbcTemplateUserRepo.java
│ │ │ └── TransactionalJdbcRepoTest.java
│ │ │ └── services
│ │ │ ├── PetServiceTest.java
│ │ │ └── UserServiceTest.java
│ │ └── resources
│ │ ├── db
│ │ ├── db.properties
│ │ ├── delete-test-data.sql
│ │ ├── extra-data.sql
│ │ ├── schema.sql
│ │ └── test-data.sql
│ │ └── logback-test.xml
├── 06-ps-tx-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ └── AppConfig.java
│ │ │ │ ├── exceptions
│ │ │ │ └── MailSendingException.java
│ │ │ │ ├── repos
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── UserRepo.java
│ │ │ │ ├── impl
│ │ │ │ │ ├── JdbcTemplatePetRepo.java
│ │ │ │ │ └── JdbcTemplateUserRepo.java
│ │ │ │ └── util
│ │ │ │ │ └── UserRowMapper.java
│ │ │ │ └── services
│ │ │ │ ├── PetService.java
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ ├── PetServiceImpl.java
│ │ │ │ ├── ProgramaticUserService.java
│ │ │ │ ├── ProgramaticUserService2.java
│ │ │ │ ├── UserServiceImpl.java
│ │ │ │ └── UserServiceInterviewImpl.java
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ ├── TestJdbcTemplateUserRepo.java
│ │ │ └── TransactionalJdbcRepoTest.java
│ │ │ ├── sample
│ │ │ └── MusicCleaner.java
│ │ │ └── services
│ │ │ ├── PetServiceTest.java
│ │ │ ├── ProgramaticUserService2Test.java
│ │ │ ├── ProgramaticUserServiceTest.java
│ │ │ └── UserServiceTest.java
│ │ └── resources
│ │ ├── db
│ │ ├── db.properties
│ │ ├── delete-test-data.sql
│ │ ├── extra-data.sql
│ │ ├── schema.sql
│ │ └── test-data.sql
│ │ └── logback-test.xml
├── 07-ps-hibernate-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── exceptions
│ │ │ └── MailSendingException.java
│ │ │ ├── repos
│ │ │ ├── UserRepo.java
│ │ │ └── impl
│ │ │ │ └── HibernateUserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ └── UserServiceImpl.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ ├── TestHibernateUserRepoJavaConfiguration.java
│ │ │ └── TestHibernateUserRepoXMLConfiguration.java
│ │ │ └── services
│ │ │ └── TestUserService.java
│ │ └── resources
│ │ ├── db
│ │ └── db.properties
│ │ └── hibernate-test-data-config.xml
├── 07-ps-hibernate-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── exceptions
│ │ │ └── MailSendingException.java
│ │ │ ├── repos
│ │ │ ├── UserRepo.java
│ │ │ └── impl
│ │ │ │ └── HibernateUserRepo.java
│ │ │ ├── services
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ │ └── UserServiceImpl.java
│ │ │ └── sqlformatter
│ │ │ └── SimpleFormatter.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ └── TestHibernateUserRepo.java
│ │ │ └── services
│ │ │ └── UserServiceTest.java
│ │ └── resources
│ │ ├── db
│ │ └── db.properties
│ │ └── spy.properties
├── 08-ps-jpa-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── exceptions
│ │ │ └── MailSendingException.java
│ │ │ ├── init
│ │ │ └── DBInitializer.java
│ │ │ ├── repos
│ │ │ ├── UserRepo.java
│ │ │ └── impl
│ │ │ │ └── JpaUserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ └── UserServiceImpl.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ ├── TestJpaUserRepoJavaConfiguration.java
│ │ │ └── TestJpaUserRepoXMLConfiguration.java
│ │ │ └── services
│ │ │ └── UserServiceTest.java
│ │ └── resources
│ │ ├── db
│ │ └── db.properties
│ │ └── jpa-test-data-config.xml
├── 08-ps-jpa-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── exceptions
│ │ │ └── MailSendingException.java
│ │ │ ├── init
│ │ │ └── DBInitializer.java
│ │ │ ├── repos
│ │ │ ├── UserRepo.java
│ │ │ └── impl
│ │ │ │ └── JpaUserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ └── UserServiceImpl.java
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ └── TestJpaUserRepo.java
│ │ │ └── services
│ │ │ └── UserServiceTest.java
│ │ └── resources
│ │ └── db
│ │ └── db.properties
├── 09-ps-data-jpa-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── AppConfig.java
│ │ │ │ ├── PersistenceConfig.java
│ │ │ │ └── db
│ │ │ │ │ ├── DataConfig.java
│ │ │ │ │ └── DataSourceConfig.java
│ │ │ │ ├── exceptions
│ │ │ │ └── MailSendingException.java
│ │ │ │ ├── init
│ │ │ │ └── DBInitializer.java
│ │ │ │ ├── repos
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ └── UserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ └── UserServiceImpl.java
│ │ └── resources
│ │ │ └── prod
│ │ │ └── db.properties
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── db
│ │ │ │ └── TestDataConfig.java
│ │ │ ├── repo
│ │ │ └── TestUserRepo.java
│ │ │ └── services
│ │ │ └── UserServiceTest.java
│ │ └── resources
│ │ └── db
│ │ └── db.properties
├── 09-ps-data-jpa-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── AppConfig.java
│ │ │ │ ├── PersistenceConfig.java
│ │ │ │ └── db
│ │ │ │ │ ├── DataConfig.java
│ │ │ │ │ └── DataSourceConfig.java
│ │ │ │ ├── exceptions
│ │ │ │ └── MailSendingException.java
│ │ │ │ ├── init
│ │ │ │ └── DBInitializer.java
│ │ │ │ ├── repos
│ │ │ │ ├── PetRepo.java
│ │ │ │ ├── RequestRepo.java
│ │ │ │ ├── ResponseRepo.java
│ │ │ │ ├── ReviewRepo.java
│ │ │ │ └── UserRepo.java
│ │ │ │ └── services
│ │ │ │ ├── UserService.java
│ │ │ │ └── impl
│ │ │ │ └── UserServiceImpl.java
│ │ └── resources
│ │ │ └── prod
│ │ │ └── db.properties
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── db
│ │ │ │ └── TestDataConfig.java
│ │ │ ├── init
│ │ │ └── DBInitializer.java
│ │ │ ├── repo
│ │ │ └── TestUserRepo.java
│ │ │ └── services
│ │ │ ├── UserServiceTest.java
│ │ │ └── UserServiceTest2.java
│ │ └── resources
│ │ └── db
│ │ └── db.properties
├── 09-ps-data-jpa
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ ├── ServiceConfig.java
│ │ │ └── db
│ │ │ │ ├── DataConfig.java
│ │ │ │ └── DataSourceConfig.java
│ │ │ ├── exceptions
│ │ │ └── MailSendingException.java
│ │ │ ├── init
│ │ │ └── DBInitializer.java
│ │ │ ├── repos
│ │ │ ├── PetRepo.java
│ │ │ ├── RequestRepo.java
│ │ │ ├── ResponseRepo.java
│ │ │ ├── ReviewRepo.java
│ │ │ └── UserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ └── UserServiceImpl.java
│ │ └── resources
│ │ └── prod
│ │ └── db.properties
├── 09-ps-mongo-sample
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ ├── config
│ │ │ └── AppConfig.java
│ │ │ ├── ents
│ │ │ └── User.java
│ │ │ ├── exceptions
│ │ │ └── MailSendingException.java
│ │ │ ├── init
│ │ │ └── DBInitializer.java
│ │ │ ├── repos
│ │ │ ├── MongoDBRepo.java
│ │ │ └── UserRepo.java
│ │ │ └── services
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ └── UserServiceImpl.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── repo
│ │ └── TestUserRepo.java
├── 10-ps-mvc-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── WebConfig.java
│ │ │ │ └── WebInitializer.java
│ │ │ │ ├── problem
│ │ │ │ └── NotFoundException.java
│ │ │ │ └── web
│ │ │ │ └── UserController.java
│ │ ├── resources
│ │ │ └── logback.xml
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── classes
│ │ │ │ ├── blue.properties
│ │ │ │ └── green.properties
│ │ │ ├── error.jsp
│ │ │ ├── home.jsp
│ │ │ ├── messages
│ │ │ │ ├── global.properties
│ │ │ │ └── global_de.properties
│ │ │ ├── pets
│ │ │ │ └── list.jsp
│ │ │ └── users
│ │ │ │ ├── list.jsp
│ │ │ │ └── show.jsp
│ │ │ ├── images
│ │ │ ├── arrow-blue.png
│ │ │ ├── arrow-green.png
│ │ │ ├── banner-blue.png
│ │ │ └── banner-green.png
│ │ │ └── styles
│ │ │ ├── decorator-blue.css
│ │ │ ├── decorator-green.css
│ │ │ └── general.css
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── web
│ │ ├── StubUserService.java
│ │ └── UserControllerTest.java
├── 10-ps-mvc-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── WebConfig.java
│ │ │ │ └── WebInitializer.java
│ │ │ │ ├── problem
│ │ │ │ └── NotFoundException.java
│ │ │ │ └── web
│ │ │ │ └── UserController.java
│ │ ├── resources
│ │ │ └── logback.xml
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── classes
│ │ │ │ ├── blue.properties
│ │ │ │ └── green.properties
│ │ │ ├── error.jsp
│ │ │ ├── home.jsp
│ │ │ ├── messages
│ │ │ │ ├── global.properties
│ │ │ │ └── global_de.properties
│ │ │ ├── pets
│ │ │ │ └── list.jsp
│ │ │ └── users
│ │ │ │ ├── list.jsp
│ │ │ │ └── show.jsp
│ │ │ ├── images
│ │ │ ├── arrow-blue.png
│ │ │ ├── arrow-green.png
│ │ │ ├── banner-blue.png
│ │ │ └── banner-green.png
│ │ │ └── styles
│ │ │ ├── decorator-blue.css
│ │ │ ├── decorator-green.css
│ │ │ └── general.css
│ │ └── test
│ │ └── java
│ │ └── web
│ │ ├── StubUserService.java
│ │ └── UserControllerTest.java
├── 11-ps-boot-sample
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── start
│ │ │ │ ├── AppSettings.java
│ │ │ │ ├── Application.java
│ │ │ │ ├── CtxController.java
│ │ │ │ └── YamlConfBean.java
│ │ └── resources
│ │ │ ├── application.yml
│ │ │ ├── banner.txt
│ │ │ ├── logback-spring.xml
│ │ │ └── templates
│ │ │ └── home.html
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── start
│ │ └── CtxControllerTest.java
├── 11-ps-security-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── SecurityConfig.java
│ │ │ │ ├── ServiceConfig.java
│ │ │ │ └── WebConfig.java
│ │ │ │ ├── init
│ │ │ │ ├── SecurityWebApplicationInitializer.java
│ │ │ │ └── WebInitializer.java
│ │ │ │ ├── problem
│ │ │ │ └── NotFoundException.java
│ │ │ │ └── web
│ │ │ │ └── UserController.java
│ │ ├── resources
│ │ │ └── logback.xml
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── auth.jsp
│ │ │ ├── classes
│ │ │ │ ├── blue.properties
│ │ │ │ └── green.properties
│ │ │ ├── error.jsp
│ │ │ ├── home.jsp
│ │ │ ├── messages
│ │ │ │ ├── global.properties
│ │ │ │ └── global_de.properties
│ │ │ ├── pets
│ │ │ │ └── list.jsp
│ │ │ └── users
│ │ │ │ ├── list.jsp
│ │ │ │ └── show.jsp
│ │ │ ├── images
│ │ │ ├── arrow-blue.png
│ │ │ ├── arrow-green.png
│ │ │ ├── banner-blue.png
│ │ │ └── banner-green.png
│ │ │ └── styles
│ │ │ ├── decorator-blue.css
│ │ │ ├── decorator-green.css
│ │ │ └── general.css
│ │ └── test
│ │ └── java
│ │ └── web
│ │ ├── StubUserService.java
│ │ └── UserControllerTest.java
├── 11-ps-security-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ ├── SecurityConfig.java
│ │ │ │ └── WebConfig.java
│ │ │ │ ├── init
│ │ │ │ ├── SecurityWebApplicationInitializer.java
│ │ │ │ └── WebInitializer.java
│ │ │ │ ├── problem
│ │ │ │ └── NotFoundException.java
│ │ │ │ └── web
│ │ │ │ └── UserController.java
│ │ ├── resources
│ │ │ └── logback.xml
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── auth.jsp
│ │ │ ├── classes
│ │ │ │ ├── blue.properties
│ │ │ │ └── green.properties
│ │ │ ├── error.jsp
│ │ │ ├── home.jsp
│ │ │ ├── messages
│ │ │ │ ├── global.properties
│ │ │ │ └── global_de.properties
│ │ │ ├── pets
│ │ │ │ └── list.jsp
│ │ │ └── users
│ │ │ │ ├── list.jsp
│ │ │ │ └── show.jsp
│ │ │ ├── images
│ │ │ ├── arrow-blue.png
│ │ │ ├── arrow-green.png
│ │ │ ├── banner-blue.png
│ │ │ └── banner-green.png
│ │ │ └── styles
│ │ │ ├── decorator-blue.css
│ │ │ ├── decorator-green.css
│ │ │ └── general.css
│ │ └── test
│ │ └── java
│ │ └── web
│ │ ├── StubUserService.java
│ │ └── UserControllerTest.java
├── 12-ps-remoting-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ └── remoting
│ │ │ └── config
│ │ │ ├── RmiExporterBootstrap.java
│ │ │ └── RmiServerConfig.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── remoting
│ │ ├── RmiTests.java
│ │ └── config
│ │ └── RmiClientConfig.java
├── 12-ps-remoting-sample
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── spring
│ │ │ │ ├── app-config.xml
│ │ │ │ └── remoting-config.xml
│ │ │ └── web.xml
│ │ │ └── index.html
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── invoker
│ │ ├── HessianInvokerTests.java
│ │ ├── HttpInvokerTests.java
│ │ └── config
│ │ ├── HessianClientConfig.java
│ │ └── HttpInvokerClientConfig.java
├── 12-ps-remoting-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── com
│ │ │ └── ps
│ │ │ └── config
│ │ │ ├── HttpInvokerConfig.java
│ │ │ ├── WebAppInitializer.java
│ │ │ └── WebConfig.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── remoting
│ │ ├── RmiTests.java
│ │ └── config
│ │ └── HttpInvokerClientConfig.java
├── 13-ps-jms-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── jms
│ │ │ │ ├── Confirmation.java
│ │ │ │ ├── ConfirmationReceiver.java
│ │ │ │ ├── ConfirmationSender.java
│ │ │ │ ├── UserReceiver.java
│ │ │ │ ├── UserSender.java
│ │ │ │ └── config
│ │ │ │ ├── JmsCommonConfig.java
│ │ │ │ ├── JmsConsumerConfig.java
│ │ │ │ └── JmsProducerConfig.java
│ │ └── resources
│ │ │ └── logback.xml
│ │ └── test
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ └── jms
│ │ │ ├── UserConsumerApp.java
│ │ │ └── UserProducerApp.java
│ │ └── resources
│ │ └── logback-test.xml
├── 13-ps-jms-solution
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── Application.java
│ │ │ └── jms
│ │ │ ├── Confirmation.java
│ │ │ ├── ConfirmationReceiver.java
│ │ │ ├── ConfirmationSender.java
│ │ │ ├── User.java
│ │ │ └── UserReceiver.java
│ │ └── resources
│ │ └── logback.xml
├── 15-ps-rest-boot-sample
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ └── rest
│ │ │ │ ├── Application.java
│ │ │ │ ├── config
│ │ │ │ └── WebSecurityConfig.java
│ │ │ │ ├── controllers
│ │ │ │ └── RestUserController.java
│ │ │ │ ├── domain
│ │ │ │ └── User.java
│ │ │ │ ├── exception_processors
│ │ │ │ └── RestExceptionProcessor.java
│ │ │ │ └── exceptions
│ │ │ │ ├── JsonError.java
│ │ │ │ └── UserException.java
│ │ └── resources
│ │ │ ├── application.yaml
│ │ │ ├── logback.xml
│ │ │ └── static
│ │ │ └── index.html
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── rest
│ │ └── RestUserControllerTest.java
├── 15-ps-ws-rest-practice
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ └── WebConfig.java
│ │ │ │ ├── exs
│ │ │ │ ├── JsonError.java
│ │ │ │ ├── RestExceptionProcessor.java
│ │ │ │ └── UserException.java
│ │ │ │ ├── init
│ │ │ │ └── WebInitializer.java
│ │ │ │ └── web
│ │ │ │ └── RestUserController.java
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── welcome.jsp
│ │ │ └── images
│ │ │ └── banner.png
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── web
│ │ └── RestUserControllerTest.java
├── 15-ps-ws-rest-solution
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── ps
│ │ │ │ ├── config
│ │ │ │ └── WebConfig.java
│ │ │ │ ├── exs
│ │ │ │ ├── JsonError.java
│ │ │ │ ├── RestExceptionProcessor.java
│ │ │ │ └── UserException.java
│ │ │ │ ├── init
│ │ │ │ └── WebInitializer.java
│ │ │ │ └── web
│ │ │ │ ├── RestUserController.java
│ │ │ │ └── UserController.java
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── welcome.jsp
│ │ │ └── images
│ │ │ └── banner.png
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── ps
│ │ └── web
│ │ ├── RestUserControllerTest.java
│ │ └── StandaloneRestUserControllerTest.java
├── 16-ps-jmx-sample
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ └── start
│ │ │ ├── Application.java
│ │ │ ├── JmxCounter.java
│ │ │ └── JmxCounterImpl.java
│ │ └── resources
│ │ └── logback.xml
├── 17-ps-micro-sample
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── ps
│ │ │ ├── Application.java
│ │ │ ├── PetType.java
│ │ │ ├── exceptions
│ │ │ ├── PetNotFoundException.java
│ │ │ └── UserNotFoundException.java
│ │ │ ├── pet
│ │ │ ├── Pet.java
│ │ │ ├── PetController.java
│ │ │ ├── PetRepo.java
│ │ │ ├── PetServer.java
│ │ │ ├── PetServiceConfig.java
│ │ │ └── PetType.java
│ │ │ ├── server
│ │ │ └── DiscoveryServer.java
│ │ │ ├── user
│ │ │ ├── User.java
│ │ │ ├── UserController.java
│ │ │ ├── UserRepo.java
│ │ │ ├── UserServer.java
│ │ │ └── UserServiceConfig.java
│ │ │ └── web
│ │ │ ├── AllWebController.java
│ │ │ ├── AllWebService.java
│ │ │ ├── HomeController.java
│ │ │ ├── PetSkeleton.java
│ │ │ ├── UserSkeleton.java
│ │ │ └── WebServer.java
│ │ └── resources
│ │ ├── db
│ │ ├── pet
│ │ │ ├── data.sql
│ │ │ ├── db.properties
│ │ │ └── schema.sql
│ │ └── user
│ │ │ ├── data.sql
│ │ │ ├── db.properties
│ │ │ └── schema.sql
│ │ ├── discovery.yml
│ │ ├── logback.xml
│ │ ├── pet-server.yml
│ │ ├── public
│ │ ├── banner-green.png
│ │ └── general.css
│ │ ├── user-server.yml
│ │ ├── web-server.yml
│ │ └── web-server
│ │ └── templates
│ │ ├── all.html
│ │ ├── error.html
│ │ ├── index.html
│ │ └── pets.html
└── pom.xml
└── pom.xml
/AOP/SpringAOP_AspectJ/m06-pointcut-deep-dive/src/main/java/annotation/Trace.java:
--------------------------------------------------------------------------------
1 | package annotation;
2 |
3 | public @interface Trace {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m06-pointcut-deep-dive/src/main/java/com/ewolff/repository/SimpleRepository.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.repository;
2 |
3 | import org.springframework.stereotype.Repository;
4 |
5 | @Repository
6 | public class SimpleRepository {
7 |
8 | public void doSomething() {
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m06-pointcut-deep-dive/src/main/java/mypointcuts/MyPointcuts.java:
--------------------------------------------------------------------------------
1 | package mypointcuts;
2 |
3 | import org.aspectj.lang.annotation.Pointcut;
4 |
5 | public class MyPointcuts {
6 |
7 | @Pointcut("bean(*Service)")
8 | public void beanNamePointcut() {
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m07-expressing-architecture-using-pointcut-annotations/src/main/java/com/ewolff/service/MyService.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.service;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class MyService {
7 |
8 | public void doIt() {
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m07-expressing-architecture-using-pointcut-packages/src/main/java/com/ewolff/repository/MyRepository.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.repository;
2 |
3 | public class MyRepository {
4 |
5 | public void doIt() {
6 | }
7 |
8 | public void throwsException() {
9 | throw new RuntimeException();
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m07-expressing-architecture-using-pointcut-packages/src/main/java/com/ewolff/service/MyService.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.service;
2 |
3 | public class MyService {
4 |
5 | public void doIt() {
6 |
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m09-spring-aop-vs-aspectj-load-time-weaving/src/main/java/com/ewolff/demo/CallAdvicedMethod.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.demo;
2 |
3 | public class CallAdvicedMethod {
4 |
5 | public static void main(String[] args) {
6 | DemoClass demoClass = new DemoClass();
7 | demoClass.advicedMethod();
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m09-spring-aop-vs-aspectj-load-time-weaving/src/main/java/com/ewolff/demo/DemoClass.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.demo;
2 |
3 | public class DemoClass {
4 |
5 | public void advicedMethod() {
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m10-spring-aspect-library-tracing/src/main/java/com/ewolff/service/PlainService.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.service;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class PlainService {
7 |
8 | public void doSomething() {
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m10-spring-aspect-library-transactions/src/main/java/com/ewolff/service/PlainService.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.service;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class PlainService {
7 |
8 | public void doSomething() {
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m11-real-life-aspects-circuitbreaker/src/main/java/com/ewolff/circuitbreaker/CircuitBreakerService.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.circuitbreaker;
2 |
3 | public interface CircuitBreakerService {
4 |
5 | void erroneousMethod();
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/AOP/SpringAOP_AspectJ/m11-real-life-aspects-retry/src/main/java/com/ewolff/service/PlainService.java:
--------------------------------------------------------------------------------
1 | package com.ewolff.service;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class PlainService {
7 |
8 | public void doSomething() {
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/AOP/Tests/src/main/java/com/learning/linnyk/services/MyOtherClass.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.services;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class MyOtherClass {
7 |
8 | public void doIt() {
9 | System.out.println("MyClass doIt");
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/DB/SpringData/Spring_Data_for_Java_Developers/1_configurations/Spring_Boot_Configuration/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.hibernate.ddl-auto=create
2 | logging.level=DEBUG
3 | spring.jpa.show-sql=true
--------------------------------------------------------------------------------
/DB/SpringData/Spring_Data_for_Java_Developers/9_spring_data_rest/spring-data-course/src/main/java/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path:
3 |
4 |
--------------------------------------------------------------------------------
/DB/SpringData/ps-guitar-db/src/main/java/com/guitar/db/repository/spring_data/custom/ModelDataCustomJPARepository.java:
--------------------------------------------------------------------------------
1 | package com.guitar.db.repository.spring_data.custom;
2 |
3 | public interface ModelDataCustomJPARepository {
4 |
5 | void aCustomMethod();
6 | }
7 |
--------------------------------------------------------------------------------
/DB/SpringData/ps-guitar-db/src/main/resources/h2/db.h2.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/DB/SpringData/ps-guitar-db/src/main/resources/h2/db.h2.db
--------------------------------------------------------------------------------
/DB/SpringJDBC/src/main/resources/db/datasource.properties:
--------------------------------------------------------------------------------
1 | driverClassName=org.h2.Driver
2 | url=jdbc:h2:~/sample
3 | username=olinnyk
4 | password=sample
--------------------------------------------------------------------------------
/DB/SpringJDBC/src/main/resources/db/schema.sql:
--------------------------------------------------------------------------------
1 | drop table ride if exists;
2 |
3 | CREATE TABLE ride
4 | (
5 | ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
6 | NAME VARCHAR(100) NOT NULL,
7 | DURATION INT NOT NULL,
8 | RIDE_DATE TIMESTAMP
9 | );
10 |
11 |
--------------------------------------------------------------------------------
/DB/SpringJDBC/src/main/webapp/index.jsp:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World!
4 |
5 |
6 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/autowire/beans/BeanConstruct.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.autowire.beans;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class BeanConstruct {
7 |
8 | @Override
9 | public String toString() {
10 | return "BeanConstruct";
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/autowire/beans/BeanMethod.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.autowire.beans;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class BeanMethod {
7 |
8 | @Override
9 | public String toString() {
10 | return "BeanMethod";
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/autowire/beans/BeanSetter.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.autowire.beans;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class BeanSetter {
7 |
8 | @Override
9 | public String toString() {
10 | return "BeanSetter";
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/autowire/beans/BeanValue.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.autowire.beans;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class BeanValue {
7 |
8 | @Override
9 | public String toString() {
10 | return "BeanValue";
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/factorybean/beans/MainBean.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.factorybean.beans;
2 |
3 | import org.springframework.beans.factory.FactoryBean;
4 |
5 | public class MainBean {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/initialization/beans/Address.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.initialization.beans;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class Address {
7 | }
8 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/initialization/beans/Item.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.initialization.beans;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class Item {
7 | }
8 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/initialization/beans/order/Rating.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.initialization.beans.order;
2 |
3 | public interface Rating {
4 | }
5 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/profile/primary/UserService.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.profile.primary;
2 |
3 | public interface UserService {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/proxy/beans/Bean1.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.proxy.beans;
2 |
3 | public class Bean1 {
4 |
5 | private Bean2 bean2;
6 |
7 | public Bean1(Bean2 bean2) {
8 | this.bean2 = bean2;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/proxy/beans/Bean2.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.proxy.beans;
2 |
3 | public class Bean2 {
4 | }
5 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/proxy/beans/Bean3.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.proxy.beans;
2 |
3 | public class Bean3 {
4 |
5 | private Bean2 bean2;
6 |
7 | public Bean3(Bean2 bean2) {
8 | this.bean2 = bean2;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/java/com/learning/linnyk/schedule/beans/Bean.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.schedule.beans;
2 |
3 | public interface Bean {
4 |
5 | void scheduleFixedDelayTask();
6 | }
7 |
--------------------------------------------------------------------------------
/IOC/Cert/src/main/resources/pair/pair.properties:
--------------------------------------------------------------------------------
1 | prop1=class-1
2 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/jb/_2_scope_lifecycle/beans/autowired/Building.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.jb._2_scope_lifecycle.beans.autowired;
2 |
3 | public class Building {
4 | }
5 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/jb/_2_scope_lifecycle/beans/autowired/Food.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.jb._2_scope_lifecycle.beans.autowired;
2 |
3 | public class Food {
4 | }
5 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/jb/_2_scope_lifecycle/beans/autowired/Item.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.jb._2_scope_lifecycle.beans.autowired;
2 |
3 | public class Item {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/jb/_2_scope_lifecycle/beans/autowired/NotExistsBean.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.jb._2_scope_lifecycle.beans.autowired;
2 |
3 | public class NotExistsBean {
4 | }
5 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/jb/_2_scope_lifecycle/beans/autowired/Person.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.jb._2_scope_lifecycle.beans.autowired;
2 |
3 | public class Person {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/jb/_3_annotation_event/Shape.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.jb._3_annotation_event;
2 |
3 | /**
4 | * @author LinnykOleh
5 | */
6 | public interface Shape {
7 |
8 | void draw();
9 | }
10 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/lmi/java/_3_version_using_lookup_annotation_and_abstract/Command.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.lmi.java._3_version_using_lookup_annotation_and_abstract;
2 |
3 | public class Command {
4 |
5 | public void execute() {
6 | System.out.println("Command: " + this.hashCode());
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/spring_ripper/part1/bean/Quoter.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.spring_ripper.part1.bean;
2 |
3 | /**
4 | * @author LinnykOleh
5 | */
6 | public interface Quoter {
7 |
8 | void sayQuote();
9 | }
10 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/java/com/learning/linnyk/spring_ripper/part1/mbean/ProfilingControllerMBean.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.spring_ripper.part1.mbean;
2 |
3 | /**
4 | * @author LinnykOleh
5 | */
6 | public interface ProfilingControllerMBean {
7 |
8 | void setEnabled(boolean enabled);
9 | }
10 |
--------------------------------------------------------------------------------
/IOC/Courses/src/main/resources/jb/_2_scope_lifecycle/pointsconfig.properties:
--------------------------------------------------------------------------------
1 | pointA.pointX=30000
2 | pointA.pointY=21000
--------------------------------------------------------------------------------
/IOC/Courses/src/main/resources/jb/_3_annotation_event/config.properties:
--------------------------------------------------------------------------------
1 | point.pointX=30000
2 | point.pointY=21000
3 |
4 | triangle.type=30000
5 | triangle.color=21000
6 |
7 | message=Hello
8 | message.runtime=Runtime message :({0}, {1})
--------------------------------------------------------------------------------
/IOC/Courses/src/main/resources/pluralsight/java/app.properties:
--------------------------------------------------------------------------------
1 | dbUsername=derbyUsername
2 |
3 | timeout=10000
--------------------------------------------------------------------------------
/IOC/Courses/src/main/resources/spring_ripper/context.properties:
--------------------------------------------------------------------------------
1 | quoter.(class) = com.learning.linnyk.spring_ripper.part1.bean.impl.TerminatorQuoter
2 | quoter.message = Get down
3 | quoter.repeat = 3
--------------------------------------------------------------------------------
/Integration/SimpleJMX/src/main/java/com/learning/linnyk/server/beans/IMBeanExample.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.server.beans;
2 |
3 | public interface IMBeanExample {
4 |
5 | void setNumberPerPage(int numberPerPage);
6 |
7 | int getNumberPerPage();
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Integration/SimpleRMI/src/main/java/com/learning/linnyk/server/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.learning.linnyk.server.services;
2 |
3 | public interface UserService {
4 |
5 | String getUser();
6 | }
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Spring
2 |
3 | ### Personal study of Spring framework
4 |
5 | [>> Notes](Notes.md)
6 |
7 | [>> Wiki](https://github.com/LinnykOleh/Spring/wiki)
8 |
9 |
--------------------------------------------------------------------------------
/Spring5/Reactive/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.hibernate.ddl-auto=none
2 |
3 | spring.jpa.database = H2
--------------------------------------------------------------------------------
/Spring5/Reactive/src/main/resources/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO person VALUES (1, 'bryan', 'bryan@test.com');
2 | INSERT INTO person VALUES (2, 'dan', 'dan@test.com');
3 | INSERT INTO person VALUES (3, 'alex', 'alex@test.com');
4 |
--------------------------------------------------------------------------------
/Spring5/Reactive/src/main/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE person (
2 | id INTEGER PRIMARY KEY,
3 | name VARCHAR(30),
4 | email VARCHAR(50)
5 | );
--------------------------------------------------------------------------------
/Spring5/Tester/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/Spring5/Tester/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/APIGatewayServiceWithZuul/or-zuul-api-gateway/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | ribbon.eureka.enable=false
2 | server.port=8080
3 |
4 | #Zuul Configuration
5 | zuul.routes.somePath.url=http://localhost:7777
6 | zuul.routes.somePath.path=/otherPath/**
7 | zuul.prefix=/apiV1
8 |
9 |
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/APIGatewayServiceWithZuul/or-zuul-simple-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=7777
2 | spring.application.name=simple-service
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/APIGatewayServiceWithZuul/or-zuul-simple-service/target/classes/application.properties:
--------------------------------------------------------------------------------
1 | server.port=7777
2 | spring.application.name=simple-service
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/LoadBalancingWithRibbon/or-ribbon-cloud-service-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | simple-service.ribbon.eureka.enable=false
2 | simple-service.ribbon.ServerListRefreshInterval=15000
3 | simple-service.ribbon.listOfServers=localhost:7777,localhost:7778,localhost:7779
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/ServiceRegistryAndDiscoveryWithEureka/or-eureka-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=MyClient
2 | server.port=8080
3 |
4 | #Need to use @RestTemplate
5 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
6 |
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/ServiceRegistryAndDiscoveryWithEureka/or-eureka-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8761
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/ServiceRegistryAndDiscoveryWithEureka/or-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=MyClient2
2 | server.port=8081
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudConfiguration/or-config-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudConfiguration/or-config-client/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudConfiguration/or-config-client/src/main/resources/bootstrap.properties:
--------------------------------------------------------------------------------
1 | #Build for file config-client-development.properties
2 |
3 | spring.profiles.active=development
4 | spring.application.name=config-client
5 |
6 | spring.cloud.config.uri=http://localhost:8888
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudConfiguration/or-config-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | spring.cloud.config.server.git.uri=https://github.com/LinnykOleh/scf-config-repository/
3 | server.port=8888
4 |
5 | #Encryption
6 | encrypt.key=secret
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSampleProject/spring-microservices-library-catalog/src/main/resources/bootstrap.properties:
--------------------------------------------------------------------------------
1 | server.port=5001
2 | spring.application.name=catalog
3 | spring.profiles.active=default
4 | spring.cloud.config.uri=http://localhost:5003
5 | eureka.client.service-url.defaultZone=http://localhost:5004/eureka/
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSampleProject/spring-microservices-library-config/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=5003
2 | spring.cloud.config.server.git.uri=https://github.com/LinnykOleh/scf-config-repository/
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSampleProject/spring-microservices-library-registry/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=5004
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSampleProject/spring-microservices-library-reservation/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=reservation
2 | eureka.client.service-url.defaultZone=http://localhost:5004/eureka/
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSecurity/AuthorizationClient/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSecurity/AuthorizationClient/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSecurity/AuthorizationResource/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | security.oauth2.resource.token-info-uri=http://localhost:9090/oauth/token
2 | server.port=7070
--------------------------------------------------------------------------------
/SpringCloud/BuildingMicroservicesWithSpring/SpringCloudSecurity/AuthorizationServer/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=9090
--------------------------------------------------------------------------------
/SpringCloud/Microservices/currency-exchange-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=currency-exchange-service
2 | server.port=8000
3 |
4 | spring.h2.console.enabled=true
5 | spring.jpa.show-sql=true
6 |
7 | #To register itself in discovery server
8 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/Microservices/netflix-eureka-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=netflix-eureka-naming-server
2 | server.port=8761
3 |
4 | eureka.client.register-with-eureka=false
5 | eureka.client.fetch-registry=false
--------------------------------------------------------------------------------
/SpringCloud/Microservices/netflix-zuul-api-gateway-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=netflix-zuul-api-gateway-server
2 | server.port=8765
3 |
4 | #To register itself in discovery server
5 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
6 |
--------------------------------------------------------------------------------
/SpringCloud/Microservices/spring-cloud-config-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=spring-cloud-config-server
2 | server.port=8888
3 |
4 | spring.cloud.config.server.git.uri=https://github.com/LinnykOleh/scf-config-repository/
--------------------------------------------------------------------------------
/SpringCloud/Microservices/zipkin-distributed-tracing-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=zipkin-distributed-tracing-server
2 | server.port=9411
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/CircuitBreaker/discovery-server-circuit-breaker/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/CircuitBreaker/hystrix-dashboard/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringCloud/SpringCloudFundamentals/CircuitBreaker/hystrix-dashboard/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/CircuitBreaker/hystrix-datetime-app/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8500
2 | spring.application.name=datetime-app
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/CircuitBreaker/hystrix-datetime-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=5000
2 | spring.application.name=datetime-service
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/CircuitBreaker/hystrix-weather-app/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8000
2 | spring.application.name=weather-app
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/CircuitBreaker/hystrix-weather-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=9000
2 | spring.application.name=weather-service
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Configuration/config-client-app/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | some.property=foo
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Configuration/config-client-app/src/main/resources/bootstrap.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=config-client-app
2 | spring.cloud.config.discovery.enabled=true
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Configuration/discovery-server-configuration/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Configuration/discovery-server-configuration/target/classes/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Configuration/discovery-server-configuration/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/DiscoveryServerApplication.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Configuration/discovery-server-configuration/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/DiscoveryServerApplicationTests.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/FindingServicesUsingServiceDiscovery/application-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=service
2 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
3 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/FindingServicesUsingServiceDiscovery/application-service/target/classes/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=service
2 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
3 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/FindingServicesUsingServiceDiscovery/application-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/ServiceApplication.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/FindingServicesUsingServiceDiscovery/application-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/ServiceApplicationTests.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/FindingServicesUsingServiceDiscovery/discovery-client/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=client
2 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
3 |
4 | #Not need to register itself in discovery server
5 | eureka.client.register-with-eureka=false
6 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/FindingServicesUsingServiceDiscovery/discovery-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/LoadBalancing/discovery-server-load-balancing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/LoadBalancing/discovery-server-load-balancing/target/classes/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/LoadBalancing/discovery-server-load-balancing/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/DiscoveryServerApplication.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/LoadBalancing/discovery-server-load-balancing/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/DiscoveryServerApplicationTests.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/LoadBalancing/ribbon-time-app-with-sd/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringCloud/SpringCloudFundamentals/LoadBalancing/ribbon-time-app-with-sd/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/LoadBalancing/ribbon-time-service-with-sd/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=time-service
2 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/discovery-server-routing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/discovery-server-routing/target/classes/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=discovery-server
2 | eureka.client.register-with-eureka=false
3 | eureka.client.fetch-registry=false
4 | server.port=8761
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/discovery-server-routing/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/DiscoveryServerApplication.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/discovery-server-routing/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/DiscoveryServerApplicationTests.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/gateway-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=gateway-service
2 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/gateway-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst:
--------------------------------------------------------------------------------
1 | com/learning/linnyk/GatewayServiceApplicationTests.class
2 |
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/routing-goodbye-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=goodbye
2 | server.port=2222
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringCloud/SpringCloudFundamentals/Routing/routing-hello-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=hello
2 | server.port=1111
3 | eureka.client.service-url.defaultZone=http://localhost:8761/eureka
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/BootDemo/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | server:
2 | context-path: /app
3 | port: 9999
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/LibraryMicroservices/CatalogService/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=9999
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/LibraryMicroservices/CatalogService/src/main/resources/data.sql:
--------------------------------------------------------------------------------
1 | insert into book(book_id,title,page_count,author_first_name, author_last_name) values (1, '1984', 200, 'George', 'Orwell');
2 | insert into book(book_id,title,page_count,author_first_name, author_last_name) values (2, 'Dracula', 100, 'Bram', 'Stoker');
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/LibraryMicroservices/LibraryComplete/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/LibraryMicroservices/LibraryComplete/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/application-prod.properties:
--------------------------------------------------------------------------------
1 | #Server configuration
2 | server.port=8090
3 |
4 | #data source configuration
5 | spring.datasource.url=jdbc:h2:file:~/dasboot
6 | spring.datasource.username=sa
7 | spring.datasource.password=
8 | spring.datasource.driver-class-name=org.h2.Driver
9 |
10 |
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/application-test.properties:
--------------------------------------------------------------------------------
1 | #Logging
2 | logging.level.org.springframework.web=debug
3 |
4 | #Server configuration
5 | server.port=8088
6 |
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/db/migration/V2__create_shipwreck.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE SHIPWRECK(
2 | ID INT AUTO_INCREMENT,
3 | NAME VARCHAR(255),
4 | DESCRIPTION VARCHAR(2000),
5 | CONDITION VARCHAR(255),
6 | DEPTH INT,
7 | LATITUDE DOUBLE,
8 | LONGITUDE DOUBLE,
9 | YEAR_DISCOVERED INT
10 | );
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/images/shipwreck.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/images/shipwreck.jpg
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/views/shipwreck-add.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/ShipWrecks/src/main/resources/static/views/shipwreck-edit.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/just-gif-it/video/PexelsVideos.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringBoot/just-gif-it/video/PexelsVideos.mp4
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/restful-web-services/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | management.security.enabled=false
2 | logging.level.org.springframework=debug
3 |
4 | #For correct format of Dates
5 | spring.jackson.serialization.write-dates-as-timestamps=false
6 |
7 | #JPA
8 | spring.jpa.show-sql=true
9 | spring.h2.console.enabled=true
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/restful-web-services/src/main/resources/messages.properties:
--------------------------------------------------------------------------------
1 | message=Good morning
--------------------------------------------------------------------------------
/SpringWEB/SpringBoot/restful-web-services/src/main/resources/messages_fr.properties:
--------------------------------------------------------------------------------
1 | message=Bonjour
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring3MVC/src/main/java/com/mvc/session/linnyk/model/Activity.java:
--------------------------------------------------------------------------------
1 | package com.mvc.session.linnyk.model;
2 |
3 | public class Activity {
4 |
5 | private String desc;
6 |
7 | public String getDesc() {
8 | return desc;
9 | }
10 |
11 | public void setDesc(String desc) {
12 | this.desc = desc;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring3MVC/src/main/java/com/mvc/session/linnyk/service/ExerciseService.java:
--------------------------------------------------------------------------------
1 | package com.mvc.session.linnyk.service;
2 |
3 | import java.util.List;
4 |
5 | import com.mvc.session.linnyk.model.Activity;
6 |
7 | public interface ExerciseService {
8 |
9 | List findAllActivities();
10 | }
11 |
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring3MVC/src/main/webapp/pdfs/ExceptionClassSummary.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringMVC/Spring3MVC/src/main/webapp/pdfs/ExceptionClassSummary.pdf
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring4MVC/src/main/resources/messages_es.properties:
--------------------------------------------------------------------------------
1 | Size.attendee.name = El nombre debe estar entre {2} y {1} caracteres
2 | Email = La dirección de email no es válida
3 | NotEmpty = El campo no se puede dejar en blanco
4 |
5 | attendee.name = Ingrese su nombre
6 | attendee.email.address = Introducir la dirección de correo electrónico
7 |
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring4MVC/src/main/webapp/WEB-INF/css/style.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringMVC/Spring4MVC/src/main/webapp/WEB-INF/css/style.css
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring4MVC/src/main/webapp/WEB-INF/jsp/hello.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 |
3 |
4 | Hello
5 |
6 |
7 |
8 | ${greeting}
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/Spring4MVC/src/main/webapp/WEB-INF/pdf/ExceptionClassSummary.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringMVC/Spring4MVC/src/main/webapp/WEB-INF/pdf/ExceptionClassSummary.pdf
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/SpringSession/src/main/java/com/mvc/session/linnyk/service/TodoListService.java:
--------------------------------------------------------------------------------
1 | package com.mvc.session.linnyk.service;
2 |
3 | import java.util.List;
4 |
5 | import com.mvc.session.linnyk.model.Todo;
6 |
7 | public interface TodoListService {
8 |
9 | List findAllTodos();
10 |
11 | void addToList(Todo todo);
12 | }
13 |
--------------------------------------------------------------------------------
/SpringWEB/SpringMVC/SpringSession/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | server:
2 | context-path: /app
3 | port: 9999
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/authentication-provider/src/main/resources/application-ldap.properties:
--------------------------------------------------------------------------------
1 | spring.ldap.embedded.ldif=classpath:test-server.ldif
2 | spring.ldap.embedded.base-dn=dc=springframework,dc=org
3 | spring.ldap.embedded.port=8389
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/login/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | # expose the Actuator endpoints
2 | management.endpoints.web.exposure.include=*
3 | management.endpoint.health.show-details=always
4 |
5 | # for Spring Security
6 | spring.security.user.name=user
7 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/password-migration/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/LiveSessions/Authentication/password-migration/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/user-details/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/LiveSessions/Authentication/user-details/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/user-details/src/test/java/livelessons/JdbcUserDetailsServiceTest.java:
--------------------------------------------------------------------------------
1 | package livelessons;
2 |
3 | import org.springframework.test.context.ActiveProfiles;
4 |
5 | @ActiveProfiles("jdbc")
6 | public class JdbcUserDetailsServiceTest extends UserDetailsServiceTestBaseClass {
7 |
8 | }
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/user-details/src/test/java/livelessons/MemoryUserDetailsServiceTest.java:
--------------------------------------------------------------------------------
1 | package livelessons;
2 |
3 | import org.springframework.test.context.ActiveProfiles;
4 |
5 | @ActiveProfiles("memory")
6 | public class MemoryUserDetailsServiceTest extends UserDetailsServiceTestBaseClass {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/xauth-app/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/LiveSessions/Authentication/xauth-app/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/xauth/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=livelessons.xauth.XAuthAutoConfiguration
2 | org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer=livelessons.xauth.XAuthDslConfigurer
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authentication/xauth/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/LiveSessions/Authentication/xauth/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/Authorization/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | management.endpoints.web.exposure.include=*
2 | management.endpoint.health.show-details=always
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/BootCamp/src/main/java/com/example/bootcamp/Foo.java:
--------------------------------------------------------------------------------
1 | package com.example.bootcamp;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | class Foo {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/BootCamp/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/LiveSessions/BootCamp/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/cache/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
2 |
3 | spring.resources.cache.cachecontrol.max-age=1D
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/cache/src/main/resources/static/cached.js:
--------------------------------------------------------------------------------
1 | function js() {}
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/clickjacking/evil/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=9090
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/clickjacking/secure/admin/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
2 |
3 | spring.resources.cache.cachecontrol.max-age=1D
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/clickjacking/secure/admin/src/main/resources/static/cached.js:
--------------------------------------------------------------------------------
1 | function js() {}
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/evil/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=9090
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/secure/bank-json/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/secure/bank/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/secure/file-upload/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
2 |
3 | spring.servlet.multipart.max-file-size=128MB
4 | spring.servlet.multipart.max-request-size=128MB
5 | spring.servlet.multipart.enabled=true
6 |
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/secure/file-upload/src/test/resources/livelessons/the-file.txt:
--------------------------------------------------------------------------------
1 | The File
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/victim/bank-get/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/victim/bank-json/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/victim/bank/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/csrf/victim/credit-card/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/https/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
2 |
3 | spring.resources.cache.cachecontrol.max-age=1D
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/https/src/main/resources/static/cached.js:
--------------------------------------------------------------------------------
1 | function js() {}
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/session-fixation/secure/credit-card/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/session-fixation/victim/credit-card/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/CommonAttacks/xss/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/MethodSecurity/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/LiveSessions/MethodSecurity/src/main/resources/application.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/SecurityTesting/method-userdetails/src/main/java/livelessons/MessageService.java:
--------------------------------------------------------------------------------
1 | package livelessons;
2 |
3 | public interface MessageService {
4 |
5 | String getMessage();
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/SecurityTesting/method/src/main/java/livelessons/MessageService.java:
--------------------------------------------------------------------------------
1 | package livelessons;
2 |
3 | public interface MessageService {
4 |
5 | String getMessage();
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/LiveSessions/SecurityTesting/web/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.security.user.password=password
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SimpleSpringMVC/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | ################### JDBC Configuration ##########################
2 | jdbc.driverClassName=org.postgresql.Driver
3 | jdbc.url=jdbc:postgresql://localhost/postgres
4 | jdbc.username=postgres
5 | jdbc.password=postgres
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SimpleSpringMVC/src/main/webapp/index.jsp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Register Here
5 |
6 |
7 |
8 | Already Registered? Login Here.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SimpleSpringSecurity/src/main/java/com/demo/resources/application.properties:
--------------------------------------------------------------------------------
1 | ################### JDBC Configuration ##########################
2 | jdbc.driverClassName=org.postgresql.Driver
3 | jdbc.url=jdbc:postgresql://localhost/postgres
4 | jdbc.username=postgres
5 | jdbc.password=postgres
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityAuthenticationTypes/src/main/resources/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityAuthenticationTypes/src/main/resources/.gitignore
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityAuthenticationTypes/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | ################### JDBC Configuration ##########################
2 | jdbc.driverClassName=org.postgresql.Driver
3 | jdbc.url=jdbc:postgresql://localhost/postgres
4 | jdbc.username=postgres
5 | jdbc.password=postgres
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityLocalization/src/main/resources/messages.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityLocalization/src/main/resources/messages.properties
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityMethodSecurity/src/main/resources/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityMethodSecurity/src/main/resources/.gitignore
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityPasswordEncoding/src/main/resources/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityPasswordEncoding/src/main/resources/.gitignore
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityPasswordEncoding/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | ################### JDBC Configuration ##########################
2 | jdbc.driverClassName=org.postgresql.Driver
3 | jdbc.url=jdbc:postgresql://localhost/postgres
4 | jdbc.username=postgres
5 | jdbc.password=postgres
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityRememberMeAuthentication/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | ################### JDBC Configuration ##########################
2 | jdbc.driverClassName=org.postgresql.Driver
3 | jdbc.url=jdbc:postgresql://localhost/postgres
4 | jdbc.username=postgres
5 | jdbc.password=postgres
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecurityRememberMeAuthentication/src/main/resources/dbSchema.txt:
--------------------------------------------------------------------------------
1 | CREATE TABLE persistent_logins (
2 | username varchar(64) not null,
3 | series varchar(64) PRIMARY KEY not null,
4 | token varchar(64) not null,
5 | last_used timestamp not null
6 | );
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecuritySecurityFilterChain/src/main/resources/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecuritySecurityFilterChain/src/main/resources/.gitignore
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecuritySessionManagement/src/main/resources/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecuritySessionManagement/src/main/resources/.gitignore
--------------------------------------------------------------------------------
/SpringWEB/SpringSecurity/SpringSecurityInEasySteps/SpringSecuritySessionManagement/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | ################### JDBC Configuration ##########################
2 | jdbc.driverClassName=org.postgresql.Driver
3 | jdbc.url=jdbc:postgresql://localhost/postgres
4 | jdbc.username=postgres
5 | jdbc.password=postgres
--------------------------------------------------------------------------------
/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-3/room-service-module-3/target/classes/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-3/room-service-module-3/target/classes/application.properties
--------------------------------------------------------------------------------
/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-4/customer-service-module-4/src/test/resources/logback-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-4/customer-service-module-4/src/test/resources/validFullCustomer.json:
--------------------------------------------------------------------------------
1 | {"firstName" : "John","lastName" : "Doe","middleName" : "Middle","suffix" : "Jr.","lastStayDate" : "9-12-2017"}
--------------------------------------------------------------------------------
/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-5/customer-service-module-5/src/test/resources/validFullCustomer.json:
--------------------------------------------------------------------------------
1 | {"firstName" : "John","lastName" : "Doe","middleName" : "Middle","suffix" : "Jr.","lastStayDate" : "9-12-2017"}
--------------------------------------------------------------------------------
/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-6/booking-service-module-6/src/assembly/stub.xml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-6/booking-service-module-6/src/assembly/stub.xml
--------------------------------------------------------------------------------
/Testing/EffectiveAutomation/ps-effective-automated-testing-in-spring-module-6/customer-service-module-6/src/test/resources/validFullCustomer.json:
--------------------------------------------------------------------------------
1 | {"firstName" : "John","lastName" : "Doe","middleName" : "Middle","suffix" : "Jr.","lastStayDate" : "9-12-2017"}
--------------------------------------------------------------------------------
/images/IOC/after_init_method.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/IOC/after_init_method.png
--------------------------------------------------------------------------------
/images/IOC/bfpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/IOC/bfpp.png
--------------------------------------------------------------------------------
/images/IOC/how_everything_works.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/IOC/how_everything_works.png
--------------------------------------------------------------------------------
/images/Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/Screenshot.png
--------------------------------------------------------------------------------
/images/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/Screenshot_1.png
--------------------------------------------------------------------------------
/images/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/Screenshot_2.png
--------------------------------------------------------------------------------
/images/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/Screenshot_3.png
--------------------------------------------------------------------------------
/images/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/Screenshot_4.png
--------------------------------------------------------------------------------
/images/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/Screenshot_5.png
--------------------------------------------------------------------------------
/images/aop/Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_1.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_10.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_11.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_12.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_13.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_14.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_15.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_16.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_17.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_18.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_2.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_3.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_4.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_5.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_6.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_7.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_8.png
--------------------------------------------------------------------------------
/images/aop/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/aop/Screenshot_9.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_1.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_10.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_11.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_12.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_13.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_14.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_2.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_3.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_4.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_5.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_6.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_7.png
--------------------------------------------------------------------------------
/images/core_spring_in_detail/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/core_spring_in_detail/Screenshot_8.png
--------------------------------------------------------------------------------
/images/db/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_1.png
--------------------------------------------------------------------------------
/images/db/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_10.png
--------------------------------------------------------------------------------
/images/db/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_11.png
--------------------------------------------------------------------------------
/images/db/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_12.png
--------------------------------------------------------------------------------
/images/db/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_13.png
--------------------------------------------------------------------------------
/images/db/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_14.png
--------------------------------------------------------------------------------
/images/db/Screenshot_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_15.png
--------------------------------------------------------------------------------
/images/db/Screenshot_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_16.png
--------------------------------------------------------------------------------
/images/db/Screenshot_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_17.png
--------------------------------------------------------------------------------
/images/db/Screenshot_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_18.png
--------------------------------------------------------------------------------
/images/db/Screenshot_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_19.png
--------------------------------------------------------------------------------
/images/db/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_2.png
--------------------------------------------------------------------------------
/images/db/Screenshot_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_20.png
--------------------------------------------------------------------------------
/images/db/Screenshot_21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_21.png
--------------------------------------------------------------------------------
/images/db/Screenshot_22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_22.png
--------------------------------------------------------------------------------
/images/db/Screenshot_23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_23.png
--------------------------------------------------------------------------------
/images/db/Screenshot_24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_24.png
--------------------------------------------------------------------------------
/images/db/Screenshot_25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_25.png
--------------------------------------------------------------------------------
/images/db/Screenshot_26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_26.png
--------------------------------------------------------------------------------
/images/db/Screenshot_27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_27.png
--------------------------------------------------------------------------------
/images/db/Screenshot_28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_28.png
--------------------------------------------------------------------------------
/images/db/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_3.png
--------------------------------------------------------------------------------
/images/db/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_4.png
--------------------------------------------------------------------------------
/images/db/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_5.png
--------------------------------------------------------------------------------
/images/db/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_6.png
--------------------------------------------------------------------------------
/images/db/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_7.png
--------------------------------------------------------------------------------
/images/db/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_8.png
--------------------------------------------------------------------------------
/images/db/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/db/Screenshot_9.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_1.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_10.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_100.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_101.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_102.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_102.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_103.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_103.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_104.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_104.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_105.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_105.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_106.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_106.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_107.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_107.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_108.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_108.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_109.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_109.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_11.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_110.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_110.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_111.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_111.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_112.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_112.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_113.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_113.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_12.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_13.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_14.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_15.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_16.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_17.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_18.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_19.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_2.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_20.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_21.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_22.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_23.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_24.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_25.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_26.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_27.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_28.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_29.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_3.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_30.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_31.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_32.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_33.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_34.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_35.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_36.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_37.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_38.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_39.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_4.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_40.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_41.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_42.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_43.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_44.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_45.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_46.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_47.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_48.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_49.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_5.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_50.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_51.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_52.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_53.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_54.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_55.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_56.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_57.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_58.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_59.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_59.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_6.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_60.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_61.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_62.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_62.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_63.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_63.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_64.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_65.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_66.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_67.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_67.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_68.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_68.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_69.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_7.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_70.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_71.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_72.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_73.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_73.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_74.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_74.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_75.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_76.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_77.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_77.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_78.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_79.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_79.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_8.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_80.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_81.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_81.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_82.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_82.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_83.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_83.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_84.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_84.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_85.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_86.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_87.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_88.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_89.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_9.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_90.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_90.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_91.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_92.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_93.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_93.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_94.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_94.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_95.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_96.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_97.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_97.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_98.png
--------------------------------------------------------------------------------
/images/handout/Screenshot_99.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/handout/Screenshot_99.png
--------------------------------------------------------------------------------
/images/integration/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/integration/Screenshot_1.png
--------------------------------------------------------------------------------
/images/integration/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/integration/Screenshot_2.png
--------------------------------------------------------------------------------
/images/integration/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/integration/Screenshot_3.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_1.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_10.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_11.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_12.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_13.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_14.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_15.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_16.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_17.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_18.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_19.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_20.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_21.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_22.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_23.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_24.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_25.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_26.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_27.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_28.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_29.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_3.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_30.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_31.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_32.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_33.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_34.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_35.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_36.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_37.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_38.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_39.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_4.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_5.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_6.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_7.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_8.png
--------------------------------------------------------------------------------
/images/pet-sitter/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/pet-sitter/Screenshot_9.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_1.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_2.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_3.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_4.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_5.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_6.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_7.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_8.png
--------------------------------------------------------------------------------
/images/qa/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/qa/Screenshot_9.png
--------------------------------------------------------------------------------
/images/result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/result.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_1.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_10.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_11.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_12.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_13.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_14.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_15.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_16.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_17.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_18.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_19.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_2.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_20.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_21.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_22.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_23.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_24.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_25.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_26.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_27.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_28.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_29.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_3.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_30.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_31.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_32.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_33.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_34.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_35.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_36.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_37.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_38.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_39.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_4.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_40.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_41.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_42.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_43.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_44.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_45.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_46.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_47.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_48.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_49.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_5.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_50.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_51.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_52.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_53.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_54.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_55.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_56.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_57.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_58.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_59.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_59.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_6.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_60.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_61.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_7.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_8.png
--------------------------------------------------------------------------------
/images/spring_cloud/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/spring_cloud/Screenshot_9.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_1.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_10.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_11.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_12.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_13.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_14.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_15.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_16.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_17.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_18.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_19.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_2.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_20.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_3.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_4.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_5.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_6.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_7.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_8.png
--------------------------------------------------------------------------------
/images/web/boot/Screenshot_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/boot/Screenshot_9.png
--------------------------------------------------------------------------------
/images/web/mvc/Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/mvc/Screenshot.png
--------------------------------------------------------------------------------
/images/web/mvc/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/mvc/Screenshot_1.png
--------------------------------------------------------------------------------
/images/web/mvc/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/mvc/Screenshot_2.png
--------------------------------------------------------------------------------
/images/web/mvc/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/mvc/Screenshot_3.png
--------------------------------------------------------------------------------
/images/web/mvc/web_services.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/mvc/web_services.png
--------------------------------------------------------------------------------
/images/web/mvc/workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/mvc/workflow.png
--------------------------------------------------------------------------------
/images/web/rest/The-Richardson-Maturity-Model-Nordic-APIs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/rest/The-Richardson-Maturity-Model-Nordic-APIs.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_1.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_2.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_3.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_4.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_5.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_6.png
--------------------------------------------------------------------------------
/images/web/security/Screenshot_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/Screenshot_7.png
--------------------------------------------------------------------------------
/images/web/security/security_unders_the_hood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/images/web/security/security_unders_the_hood.png
--------------------------------------------------------------------------------
/materials/Core-Spring-5.0-Certification-Study-Guide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/materials/Core-Spring-5.0-Certification-Study-Guide.pdf
--------------------------------------------------------------------------------
/materials/SpringFrameworkNotesForProfessionals.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/materials/SpringFrameworkNotesForProfessionals.pdf
--------------------------------------------------------------------------------
/materials/Spring_3_Certification_Study_Notes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/materials/Spring_3_Certification_Study_Notes.pdf
--------------------------------------------------------------------------------
/materials/core-spring-4.3.b-RELEASE-student-handout.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/materials/core-spring-4.3.b-RELEASE-student-handout.pdf
--------------------------------------------------------------------------------
/materials/core-spring-4.3.b.RELEASE-labdocs.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/materials/core-spring-4.3.b.RELEASE-labdocs.pdf
--------------------------------------------------------------------------------
/materials/spring-certification-4_2-mock-exam-antoine.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/materials/spring-certification-4_2-mock-exam-antoine.pdf
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-practice/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 | void save(T entity);
5 |
6 | T findById(Long entityId);
7 |
8 | void delete(T entity);
9 |
10 | void deleteById(Long entityId);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-practice/src/main/java/com/ps/services/PetService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.PetType;
4 | import com.ps.ents.Pet;
5 | import com.ps.ents.User;
6 |
7 | public interface PetService {
8 |
9 | Pet createPet(User user, String name, int age, PetType petType, String rfid);
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-practice/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface ResponseService {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-practice/src/main/java/com/ps/services/ReviewService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.ReviewGrade;
4 | import com.ps.ents.Review;
5 |
6 | public interface ReviewService {
7 |
8 | Review createReview(ReviewGrade grade, String details);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-practice/src/main/java/com/ps/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.UserType;
4 | import com.ps.ents.User;
5 |
6 | public interface UserService {
7 |
8 | User createUser(String email, String password, UserType userType);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-solution/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 |
4 | public interface AbstractService {
5 |
6 | void save(T entity);
7 |
8 | T findById(Long entityId);
9 |
10 | void delete(T entity);
11 |
12 | void deleteById(Long entityId);
13 | }
14 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-solution/src/main/java/com/ps/services/PetService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.PetType;
4 | import com.ps.ents.Pet;
5 | import com.ps.ents.User;
6 |
7 | public interface PetService {
8 |
9 | Pet createPet(User user, String name, int age, PetType petType, String rfid);
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-solution/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface ResponseService {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-solution/src/main/java/com/ps/services/ReviewService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.ReviewGrade;
4 | import com.ps.ents.Review;
5 |
6 | public interface ReviewService {
7 |
8 | Review createReview(ReviewGrade grade, String details);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/01-ps-start-solution/src/main/java/com/ps/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.UserType;
4 | import com.ps.ents.User;
5 |
6 | public interface UserService {
7 |
8 | User createUser(String email, String password, UserType userType);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-practice/src/main/java/com/ps/beans/ComplexBean.java:
--------------------------------------------------------------------------------
1 | package com.ps.beans;
2 |
3 | public interface ComplexBean {
4 | }
5 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-practice/src/main/java/com/ps/beans/SimpleBean.java:
--------------------------------------------------------------------------------
1 | package com.ps.beans;
2 |
3 | public interface SimpleBean {
4 | }
5 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-practice/src/main/java/com/ps/beans/ctr/package-info.java:
--------------------------------------------------------------------------------
1 |
2 | package com.ps.beans.ctr;
3 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-practice/src/main/java/com/ps/beans/set/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Contains classes used to create Spring beans using setter injection.
3 | */
4 | package com.ps.beans.set;
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-practice/src/main/resources/db/datasource.properties:
--------------------------------------------------------------------------------
1 | driverClassName=org.h2.Driver
2 | url=jdbc:h2:~/sample
3 | username=sample
4 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/beans/ComplexBean.java:
--------------------------------------------------------------------------------
1 | package com.ps.beans;
2 |
3 | public interface ComplexBean {
4 | }
5 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/beans/SimpleBean.java:
--------------------------------------------------------------------------------
1 | package com.ps.beans;
2 |
3 | public interface SimpleBean {
4 | }
5 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/beans/ctr/package-info.java:
--------------------------------------------------------------------------------
1 |
2 | package com.ps.beans.ctr;
3 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/beans/set/package-info.java:
--------------------------------------------------------------------------------
1 |
2 | package com.ps.beans.set;
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/sample/SimpleBean.java:
--------------------------------------------------------------------------------
1 | package com.ps.sample;
2 |
3 | public class SimpleBean {
4 | }
5 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 | void save(T entity);
5 |
6 | T findById(Long entityId);
7 |
8 | void delete(T entity);
9 |
10 | void deleteById(Long entityId);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface ResponseService {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/services/ReviewService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.ReviewGrade;
4 | import com.ps.ents.Review;
5 |
6 | public interface ReviewService {
7 |
8 | Review createReview(ReviewGrade grade, String details);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/java/com/ps/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.UserType;
4 | import com.ps.ents.User;
5 |
6 | public interface UserService {
7 |
8 | User createUser(String email, String password, UserType userType);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/main/resources/db/datasource.properties:
--------------------------------------------------------------------------------
1 | driverClassName=org.h2.Driver
2 | url=jdbc:h2:~/sample
3 | username=sample
4 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/test/java/com/ps/quiz/QuizBean.java:
--------------------------------------------------------------------------------
1 | package com.ps.quiz;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class QuizBean {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/test/resources/db/schema.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/02-ps-container-01-solution/src/test/resources/db/schema.sql
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-01-solution/src/test/resources/db/test-data.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/02-ps-container-01-solution/src/test/resources/db/test-data.sql
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-practice/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 | void save(T entity);
5 |
6 | T findById(Long entityId);
7 |
8 | void delete(T entity);
9 |
10 | void deleteById(Long entityId);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-practice/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface ResponseService {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-practice/src/main/java/com/ps/services/ReviewService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.ReviewGrade;
4 | import com.ps.ents.Review;
5 |
6 | public interface ReviewService {
7 |
8 | Review createReview(ReviewGrade grade, String details);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-practice/src/main/java/com/ps/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.UserType;
4 | import com.ps.ents.User;
5 |
6 | public interface UserService {
7 |
8 | User createUser(String email, String password, UserType userType);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-practice/src/main/resources/db/datasource.properties:
--------------------------------------------------------------------------------
1 | driverClassName=org.h2.Driver
2 | url=jdbc:h2:~/sample
3 | username=sample
4 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-solution/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 | void save(T entity);
5 |
6 | T findById(Long entityId);
7 |
8 | void delete(T entity);
9 |
10 | void deleteById(Long entityId);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-solution/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface ResponseService {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-solution/src/main/java/com/ps/services/ReviewService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.ReviewGrade;
4 | import com.ps.ents.Review;
5 |
6 | public interface ReviewService {
7 |
8 | Review createReview(ReviewGrade grade, String details);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-solution/src/main/java/com/ps/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.UserType;
4 | import com.ps.ents.User;
5 |
6 | public interface UserService {
7 |
8 | User createUser(String email, String password, UserType userType);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-solution/src/main/resources/db/datasource.properties:
--------------------------------------------------------------------------------
1 | driverClassName=org.h2.Driver
2 | url=jdbc:h2:~/sample
3 | username=sample
4 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/02-ps-container-02-solution/src/test/java/com/ps/sample/TestBeanOne.java:
--------------------------------------------------------------------------------
1 | package com.ps.sample;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class TestBeanOne {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-practice/src/main/java/com/ps/PetConfigClass.java:
--------------------------------------------------------------------------------
1 | package com.ps;
2 |
3 | import org.springframework.context.annotation.ComponentScan;
4 | import org.springframework.context.annotation.Configuration;
5 |
6 | @Configuration
7 | @ComponentScan(basePackages = "com.ps.services")
8 | public class PetConfigClass {
9 | }
10 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-practice/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 |
5 | void save(T entity);
6 |
7 | T findById(Long entityId);
8 |
9 | void delete(T entity);
10 |
11 | void deleteById(Long entityId);
12 | }
13 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-practice/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.ents.Response;
4 |
5 | public interface ResponseService extends AbstractService {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-sample/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 | void save(T entity);
5 |
6 | T findById(Long entityId);
7 |
8 | void delete(T entity);
9 |
10 | void deleteById(Long entityId);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-sample/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.ents.Response;
4 |
5 | public interface ResponseService extends AbstractService {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-sample/src/main/resources/db/datasource.properties:
--------------------------------------------------------------------------------
1 | driverClassName=org.h2.Driver
2 | url=jdbc:h2:~/sample
3 | username=sample
4 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-sample/src/test/resources/db/schema.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/03-ps-test-sample/src/test/resources/db/schema.sql
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-sample/src/test/resources/db/test-data.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/03-ps-test-sample/src/test/resources/db/test-data.sql
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-solution/src/main/java/com/ps/services/AbstractService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | public interface AbstractService {
4 | void save(T entity);
5 |
6 | T findById(Long entityId);
7 |
8 | void delete(T entity);
9 |
10 | void deleteById(Long entityId);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/03-ps-test-solution/src/main/java/com/ps/services/ResponseService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.ents.Response;
4 |
5 | public interface ResponseService extends AbstractService {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/05-ps-jdbc-practice/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | login=sample
5 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/05-ps-jdbc-solution/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | login=sample
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-practice/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-practice/src/main/java/com/ps/repos/PetRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Pet;
4 | import com.ps.ents.User;
5 |
6 | import java.util.Set;
7 |
8 | public interface PetRepo {
9 |
10 | Set findByOwner(User owner);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-practice/src/main/java/com/ps/services/PetService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.ents.User;
4 |
5 | public interface PetService {
6 |
7 | String getPetsAsHtml(User owner);
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-practice/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | username=sample
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-practice/src/test/resources/db/delete-test-data.sql:
--------------------------------------------------------------------------------
1 | delete from p_user where id > 4;
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-solution/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-solution/src/main/java/com/ps/repos/PetRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Pet;
4 | import com.ps.ents.User;
5 |
6 | import java.util.Set;
7 |
8 | public interface PetRepo {
9 |
10 | Set findByOwner(User owner);
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-solution/src/main/java/com/ps/services/PetService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.ents.User;
4 |
5 | public interface PetService {
6 |
7 | String getPetsAsHtml(User owner);
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-solution/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | username=sample
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/06-ps-tx-solution/src/test/resources/db/delete-test-data.sql:
--------------------------------------------------------------------------------
1 | delete from p_user where id > 4;
--------------------------------------------------------------------------------
/pet-sitter/07-ps-hibernate-practice/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception {
4 |
5 | public MailSendingException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/07-ps-hibernate-practice/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | login=olinnyk
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/07-ps-hibernate-solution/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/07-ps-hibernate-solution/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=com.p6spy.engine.spy.P6SpyDriver
3 | url=jdbc:p6spy:h2:mem:test;
4 | login=olinnyk
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/08-ps-jpa-practice/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/08-ps-jpa-practice/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | username=olinnyk
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/08-ps-jpa-solution/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/08-ps-jpa-solution/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | username=olinnyk
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/java/com/ps/config/db/DataConfig.java:
--------------------------------------------------------------------------------
1 | package com.ps.config.db;
2 |
3 | import javax.sql.DataSource;
4 | import java.util.Properties;
5 |
6 | public interface DataConfig {
7 |
8 | DataSource dataSource();
9 |
10 | Properties hibernateProperties();
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/java/com/ps/repos/PetRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Pet;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface PetRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/java/com/ps/repos/RequestRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Request;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface RequestRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/java/com/ps/repos/ResponseRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Response;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface ResponseRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/java/com/ps/repos/ReviewRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Review;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface ReviewRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/main/resources/prod/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample;DB_CLOSE_ON_EXIT=FALSE
4 | username=sample
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-practice/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | username=olinnyk
5 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/java/com/ps/config/db/DataConfig.java:
--------------------------------------------------------------------------------
1 | package com.ps.config.db;
2 |
3 | import javax.sql.DataSource;
4 | import java.util.Properties;
5 |
6 | public interface DataConfig {
7 | DataSource dataSource();
8 |
9 | Properties hibernateProperties();
10 | }
11 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/java/com/ps/repos/PetRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Pet;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface PetRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/java/com/ps/repos/RequestRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Request;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface RequestRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/java/com/ps/repos/ResponseRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Response;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface ResponseRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/java/com/ps/repos/ReviewRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Review;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface ReviewRepo extends JpaRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/main/resources/prod/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample;DB_CLOSE_ON_EXIT=TRUE
4 | username=sample
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa-solution/src/test/resources/db/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample
4 | username=olinnyk
5 | password=sample
6 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/java/com/ps/config/db/DataConfig.java:
--------------------------------------------------------------------------------
1 | package com.ps.config.db;
2 |
3 | import javax.sql.DataSource;
4 | import java.util.Properties;
5 |
6 | public interface DataConfig {
7 |
8 | DataSource dataSource();
9 |
10 | Properties hibernateProperties();
11 | }
12 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/java/com/ps/repos/PetRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Pet;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface PetRepo extends JpaRepository {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/java/com/ps/repos/RequestRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Request;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface RequestRepo extends JpaRepository {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/java/com/ps/repos/ResponseRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Response;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface ResponseRepo extends JpaRepository {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/java/com/ps/repos/ReviewRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import com.ps.ents.Review;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface ReviewRepo extends JpaRepository {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-data-jpa/src/main/resources/prod/db.properties:
--------------------------------------------------------------------------------
1 | # For running application with H2 in memory database
2 | driverClassName=org.h2.Driver
3 | url=jdbc:h2:~/sample;DB_CLOSE_ON_EXIT=TRUE
4 | username=sample
5 | password=sample
--------------------------------------------------------------------------------
/pet-sitter/09-ps-mongo-sample/src/main/java/com/ps/exceptions/MailSendingException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exceptions;
2 |
3 | public class MailSendingException extends Exception{
4 | public MailSendingException(String message) {
5 | super(message);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-mongo-sample/src/main/java/com/ps/repos/MongoDBRepo.java:
--------------------------------------------------------------------------------
1 | package com.ps.repos;
2 |
3 | import org.springframework.data.mongodb.repository.MongoRepository;
4 |
5 | import com.ps.ents.User;
6 |
7 | public interface MongoDBRepo extends MongoRepository {
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/09-ps-mongo-sample/src/main/java/com/ps/services/UserService.java:
--------------------------------------------------------------------------------
1 | package com.ps.services;
2 |
3 | import com.ps.base.UserType;
4 | import com.ps.ents.User;
5 |
6 | public interface UserService {
7 |
8 | User findById(Long id);
9 |
10 |
11 | void create(String email, String password, UserType userType);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/WEB-INF/classes/blue.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-blue.css
2 | banner.image=/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/WEB-INF/classes/green.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-green.css
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/WEB-INF/pets/list.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/arrow-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/arrow-blue.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/arrow-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/arrow-green.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/banner-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/banner-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-practice/src/main/webapp/images/banner-green.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/WEB-INF/classes/blue.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-blue.css
2 | banner.image=/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/WEB-INF/classes/green.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-green.css
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/WEB-INF/pets/list.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/arrow-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/arrow-blue.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/arrow-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/arrow-green.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/banner-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/banner-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/10-ps-mvc-solution/src/main/webapp/images/banner-green.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-boot-sample/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | app:
2 | port: 8080
3 | context: /ps-boot
4 | sessionTimeout: 10
5 |
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/java/com/ps/init/SecurityWebApplicationInitializer.java:
--------------------------------------------------------------------------------
1 | package com.ps.init;
2 |
3 | import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
4 |
5 | public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
6 | }
7 |
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/WEB-INF/classes/blue.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-blue.css
2 | banner.image=/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/WEB-INF/classes/green.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-green.css
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/WEB-INF/pets/list.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/images/arrow-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-practice/src/main/webapp/images/arrow-blue.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/images/arrow-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-practice/src/main/webapp/images/arrow-green.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/images/banner-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-practice/src/main/webapp/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-practice/src/main/webapp/images/banner-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-practice/src/main/webapp/images/banner-green.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/java/com/ps/init/SecurityWebApplicationInitializer.java:
--------------------------------------------------------------------------------
1 | package com.ps.init;
2 |
3 | import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
4 |
5 | public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
6 | }
7 |
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/WEB-INF/classes/blue.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-blue.css
2 | banner.image=/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/WEB-INF/classes/green.properties:
--------------------------------------------------------------------------------
1 | css.style=/styles/decorator-green.css
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/WEB-INF/pets/list.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/images/arrow-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-solution/src/main/webapp/images/arrow-blue.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/images/arrow-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-solution/src/main/webapp/images/arrow-green.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/images/banner-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-solution/src/main/webapp/images/banner-blue.png
--------------------------------------------------------------------------------
/pet-sitter/11-ps-security-solution/src/main/webapp/images/banner-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/11-ps-security-solution/src/main/webapp/images/banner-green.png
--------------------------------------------------------------------------------
/pet-sitter/13-ps-jms-solution/src/main/java/com/ps/jms/Confirmation.java:
--------------------------------------------------------------------------------
1 | package com.ps.jms;
2 |
3 | import lombok.*;
4 |
5 | @Getter
6 | @Setter
7 | @AllArgsConstructor
8 | @ToString
9 | public class Confirmation {
10 |
11 | private int ackNumber;
12 |
13 | private String verificationComment;
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/pet-sitter/13-ps-jms-solution/src/main/java/com/ps/jms/User.java:
--------------------------------------------------------------------------------
1 | package com.ps.jms;
2 |
3 | import lombok.*;
4 |
5 | @Getter
6 | @Setter
7 | @AllArgsConstructor
8 | @ToString
9 | public class User {
10 |
11 | private String email;
12 | private Double rating;
13 | private boolean active;
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/pet-sitter/15-ps-rest-boot-sample/src/main/java/com/ps/rest/exceptions/UserException.java:
--------------------------------------------------------------------------------
1 | package com.ps.rest.exceptions;
2 |
3 | public class UserException extends Exception {
4 |
5 | public UserException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/15-ps-rest-boot-sample/src/main/resources/application.yaml:
--------------------------------------------------------------------------------
1 | logging:
2 | level:
3 | org.springframework: debug
4 |
5 | server:
6 | port: 8080
7 |
--------------------------------------------------------------------------------
/pet-sitter/15-ps-ws-rest-practice/src/main/java/com/ps/exs/UserException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exs;
2 |
3 | public class UserException extends Exception{
4 |
5 | public UserException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/15-ps-ws-rest-practice/src/main/webapp/WEB-INF/welcome.jsp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/15-ps-ws-rest-practice/src/main/webapp/WEB-INF/welcome.jsp
--------------------------------------------------------------------------------
/pet-sitter/15-ps-ws-rest-practice/src/main/webapp/images/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/15-ps-ws-rest-practice/src/main/webapp/images/banner.png
--------------------------------------------------------------------------------
/pet-sitter/15-ps-ws-rest-solution/src/main/java/com/ps/exs/UserException.java:
--------------------------------------------------------------------------------
1 | package com.ps.exs;
2 |
3 | public class UserException extends Exception {
4 |
5 | public UserException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/15-ps-ws-rest-solution/src/main/webapp/WEB-INF/welcome.jsp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/15-ps-ws-rest-solution/src/main/webapp/WEB-INF/welcome.jsp
--------------------------------------------------------------------------------
/pet-sitter/15-ps-ws-rest-solution/src/main/webapp/images/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/15-ps-ws-rest-solution/src/main/webapp/images/banner.png
--------------------------------------------------------------------------------
/pet-sitter/16-ps-jmx-sample/src/main/java/com/ps/start/JmxCounter.java:
--------------------------------------------------------------------------------
1 | package com.ps.start;
2 |
3 | public interface JmxCounter {
4 |
5 | int add();
6 |
7 | int getCount();
8 | }
9 |
--------------------------------------------------------------------------------
/pet-sitter/17-ps-micro-sample/src/main/resources/db/pet/db.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.hibernate.ddl-auto: validate
2 | spring.jpa.hibernate.naming_strategy: org.hibernate.cfg.ImprovedNamingStrategy
3 | spring.jpa.database: H2
4 | spring.jpa.show-sql: true
--------------------------------------------------------------------------------
/pet-sitter/17-ps-micro-sample/src/main/resources/db/pet/schema.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE P_PET IF EXISTS;
2 |
3 | CREATE TABLE P_PET (ID BIGINT identity primary key,
4 | OWNER_ID BIGINT NOT NULL,
5 | NAME VARCHAR(50),
6 | AGE INTEGER,
7 | PET_TYPE VARCHAR (100) NOT NULL,
8 | RFID VARCHAR (100),
9 | UNIQUE (RFID));
10 |
--------------------------------------------------------------------------------
/pet-sitter/17-ps-micro-sample/src/main/resources/db/user/db.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.hibernate.ddl-auto: validate
2 | spring.jpa.hibernate.naming_strategy: org.hibernate.cfg.ImprovedNamingStrategy
3 | spring.jpa.database: H2
4 | spring.jpa.show-sql: true
--------------------------------------------------------------------------------
/pet-sitter/17-ps-micro-sample/src/main/resources/db/user/schema.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE P_USER IF EXISTS;
2 |
3 | CREATE TABLE P_USER (ID BIGINT identity primary key,
4 | USERNAME VARCHAR(50),
5 | EMAIL VARCHAR(100),
6 | UNIQUE (USERNAME),
7 | UNIQUE (EMAIL));
8 |
--------------------------------------------------------------------------------
/pet-sitter/17-ps-micro-sample/src/main/resources/public/banner-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linnykoleh/Spring/f77540253cbb7351d64199d58f086c55c18bf869/pet-sitter/17-ps-micro-sample/src/main/resources/public/banner-green.png
--------------------------------------------------------------------------------