gitextract__ilxu66h/ ├── .gitignore ├── 1.x/ │ ├── README.md │ ├── README_EN.md │ ├── spring-boot-actuator/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ActuatorApplication.java │ │ │ │ └── controller/ │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ActuatorApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-admin-simple/ │ │ ├── pom.xml │ │ ├── spring-boot-admin-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ └── AdminClientApplication.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ └── AdminClientApplicationTests.java │ │ └── spring-boot-admin-server/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ └── AdminServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── AdminServerApplicationTests.java │ ├── spring-boot-fastDFS/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── FastDFSApplication.java │ │ │ ├── controller/ │ │ │ │ ├── GlobalExceptionHandler.java │ │ │ │ └── UploadController.java │ │ │ └── fastdfs/ │ │ │ ├── FastDFSClient.java │ │ │ └── FastDFSFile.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── fdfs_client.conf │ │ ├── logback.xml │ │ └── templates/ │ │ ├── upload.html │ │ └── uploadStatus.html │ ├── spring-boot-file-upload/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── FileUploadWebApplication.java │ │ │ └── controller/ │ │ │ ├── GlobalExceptionHandler.java │ │ │ └── UploadController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── logback.xml │ │ └── templates/ │ │ ├── from_file.html │ │ ├── upload.html │ │ └── uploadStatus.html │ ├── spring-boot-helloWorld/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ └── controller/ │ │ │ │ └── HelloWorldController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-jpa-thymeleaf-curd/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── JpaThymeleafApplication.java │ │ │ ├── entity/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ └── UserRepository.java │ │ │ ├── service/ │ │ │ │ ├── UserService.java │ │ │ │ └── impl/ │ │ │ │ └── UserServiceImpl.java │ │ │ └── web/ │ │ │ ├── HelloController.java │ │ │ └── UserController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ └── css/ │ │ │ └── bootstrap.css │ │ └── templates/ │ │ ├── hello.html │ │ └── user/ │ │ ├── list.html │ │ ├── userAdd.html │ │ └── userEdit.html │ ├── spring-boot-mail/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ └── service/ │ │ │ │ ├── MailService.java │ │ │ │ └── impl/ │ │ │ │ └── MailServiceImpl.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── templates/ │ │ │ └── emailTemplate.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── service/ │ │ └── MailServiceTest.java │ ├── spring-boot-mongodb/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ ├── dao/ │ │ │ │ │ ├── UserDao.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── UserDaoImpl.java │ │ │ │ └── entity/ │ │ │ │ └── UserEntity.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── dao/ │ │ └── UserDaoTest.java │ ├── spring-boot-multi-mongodb/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ ├── config/ │ │ │ │ │ ├── MultipleMongoConfig.java │ │ │ │ │ ├── PrimaryMongoConfig.java │ │ │ │ │ ├── SecondaryMongoConfig.java │ │ │ │ │ └── props/ │ │ │ │ │ └── MultipleMongoProperties.java │ │ │ │ └── model/ │ │ │ │ └── repository/ │ │ │ │ ├── primary/ │ │ │ │ │ ├── PrimaryMongoObject.java │ │ │ │ │ └── PrimaryRepository.java │ │ │ │ └── secondary/ │ │ │ │ ├── SecondaryMongoObject.java │ │ │ │ └── SecondaryRepository.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── model/ │ │ └── repository/ │ │ └── MuliDatabaseTest.java │ ├── spring-boot-mybatis-annotation/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ └── UserEntity.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── UserMapper.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── ApplicationTests.java │ │ │ └── mapper/ │ │ │ └── UserMapperTest.java │ │ └── users.sql │ ├── spring-boot-mybatis-annotation-mulidatasource/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ ├── datasource/ │ │ │ │ │ ├── DataSource1Config.java │ │ │ │ │ └── DataSource2Config.java │ │ │ │ ├── entity/ │ │ │ │ │ └── UserEntity.java │ │ │ │ ├── enums/ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ └── User1Mapper.java │ │ │ │ │ └── test2/ │ │ │ │ │ └── User2Mapper.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── mapper/ │ │ ├── User1MapperTest.java │ │ └── User2MapperTest.java │ ├── spring-boot-mybatis-mulidatasource/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── datasource/ │ │ │ │ │ │ ├── DataSource1Config.java │ │ │ │ │ │ └── DataSource2Config.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ └── UserEntity.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ │ └── User1Mapper.java │ │ │ │ │ │ └── test2/ │ │ │ │ │ │ └── User2Mapper.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ ├── application.properties │ │ │ │ └── mybatis/ │ │ │ │ ├── mapper/ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ └── UserMapper.xml │ │ │ │ │ └── test2/ │ │ │ │ │ └── UserMapper.xml │ │ │ │ └── mybatis-config.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── ApplicationTests.java │ │ │ └── mapper/ │ │ │ ├── User1MapperTest.java │ │ │ └── User2MapperTest.java │ │ └── users.sql │ ├── spring-boot-mybatis-xml/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ └── UserEntity.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── UserMapper.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ ├── application.properties │ │ │ │ └── mybatis/ │ │ │ │ ├── mapper/ │ │ │ │ │ └── UserMapper.xml │ │ │ │ └── mybatis-config.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── ApplicationTests.java │ │ │ ├── mapper/ │ │ │ │ └── UserMapperTest.java │ │ │ └── web/ │ │ │ └── UserControllerTest.java │ │ └── users.sql │ ├── spring-boot-package-war/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ ├── ServletInitializer.java │ │ │ │ └── controller/ │ │ │ │ └── HelloWorldController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-rabbitmq/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── rabbit/ │ │ │ │ ├── FanoutRabbitConfig.java │ │ │ │ ├── RabbitConfig.java │ │ │ │ ├── TopicRabbitConfig.java │ │ │ │ ├── fanout/ │ │ │ │ │ ├── FanoutReceiverA.java │ │ │ │ │ ├── FanoutReceiverB.java │ │ │ │ │ ├── FanoutReceiverC.java │ │ │ │ │ └── FanoutSender.java │ │ │ │ ├── hello/ │ │ │ │ │ ├── HelloReceiver.java │ │ │ │ │ └── HelloSender.java │ │ │ │ ├── many/ │ │ │ │ │ ├── NeoReceiver1.java │ │ │ │ │ ├── NeoReceiver2.java │ │ │ │ │ ├── NeoSender.java │ │ │ │ │ └── NeoSender2.java │ │ │ │ ├── object/ │ │ │ │ │ ├── ObjectReceiver.java │ │ │ │ │ └── ObjectSender.java │ │ │ │ └── topic/ │ │ │ │ ├── TopicReceiver.java │ │ │ │ ├── TopicReceiver2.java │ │ │ │ └── TopicSender.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── rabbitmq/ │ │ ├── FanoutTest.java │ │ ├── HelloTest.java │ │ ├── ManyTest.java │ │ ├── ObjectTest.java │ │ └── TopicTest.java │ ├── spring-boot-scheduler/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ └── task/ │ │ │ │ ├── Scheduler2Task.java │ │ │ │ └── SchedulerTask.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── ApplicationTests.java │ ├── spring-boot-shiro/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── SpringBootShiroApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── MyShiroRealm.java │ │ │ │ │ └── ShiroConfig.java │ │ │ │ ├── dao/ │ │ │ │ │ └── UserInfoDao.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── SysPermission.java │ │ │ │ │ ├── SysRole.java │ │ │ │ │ └── UserInfo.java │ │ │ │ ├── sevice/ │ │ │ │ │ ├── UserInfoService.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── UserInfoServiceImpl.java │ │ │ │ └── web/ │ │ │ │ ├── HomeController.java │ │ │ │ └── UserInfoController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ ├── database/ │ │ │ │ └── import.sql │ │ │ └── templates/ │ │ │ ├── 403.html │ │ │ ├── index.html │ │ │ ├── login.html │ │ │ ├── userInfo.html │ │ │ ├── userInfoAdd.html │ │ │ └── userInfoDel.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── SpringBootShiroApplicationTests.java │ ├── spring-boot-thymeleaf/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ └── thymeleaf/ │ │ │ ├── HelloController.java │ │ │ └── ThymeleafApplication.java │ │ └── resources/ │ │ ├── application.properties │ │ └── templates/ │ │ └── hello.html │ └── spring-boot-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── Application.java │ │ │ ├── WebConfiguration.java │ │ │ ├── config/ │ │ │ │ ├── RedisConfig.java │ │ │ │ └── SessionConfig.java │ │ │ ├── domain/ │ │ │ │ ├── User.java │ │ │ │ └── UserRepository.java │ │ │ ├── util/ │ │ │ │ └── NeoProperties.java │ │ │ └── web/ │ │ │ ├── HelloController.java │ │ │ ├── ThymeleafController.java │ │ │ └── UserController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ └── css/ │ │ │ └── starter.css │ │ └── templates/ │ │ ├── hello.html │ │ └── layout.html │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── ApplicationTests.java │ ├── domain/ │ │ └── UserRepositoryTests.java │ ├── util/ │ │ └── TestRedis.java │ └── web/ │ ├── HelloControlerTests.java │ └── ProPertiesTest.java ├── 2.x/ │ ├── README.md │ ├── README_EN.md │ ├── dockercompose-springboot-mysql-nginx/ │ │ ├── app/ │ │ │ ├── Dockerfile │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── ComposeApplication.java │ │ │ │ │ ├── controller/ │ │ │ │ │ │ └── VisitorController.java │ │ │ │ │ ├── entity/ │ │ │ │ │ │ └── Visitor.java │ │ │ │ │ └── repository/ │ │ │ │ │ └── VisitorRepository.java │ │ │ │ └── resources/ │ │ │ │ ├── application-dev.properties │ │ │ │ ├── application-docker.properties │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ └── ComposeApplicationTests.java │ │ ├── docker-compose.yaml │ │ └── nginx/ │ │ └── conf.d/ │ │ └── app.conf │ ├── pom.xml │ ├── spring-boot-actuator/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ActuatorApplication.java │ │ │ │ └── controller/ │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ActuatorApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-admin-simple/ │ │ ├── pom.xml │ │ ├── spring-boot-admin-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ └── AdminClientApplication.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ └── AdminClientApplicationTests.java │ │ └── spring-boot-admin-server/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ └── AdminServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── AdminServerApplicationTests.java │ ├── spring-boot-banner/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ └── banner/ │ │ │ └── BannerApplication.java │ │ └── resources/ │ │ ├── application.properties │ │ └── banner.txt │ ├── spring-boot-commandLineRunner/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── CommandLineRunnerApplication.java │ │ │ └── runner/ │ │ │ ├── OrderRunner1.java │ │ │ ├── OrderRunner2.java │ │ │ └── Runner.java │ │ └── resources/ │ │ └── application.properties │ ├── spring-boot-docker/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── docker/ │ │ │ │ └── Dockerfile │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── DockerApplication.java │ │ │ │ └── controller/ │ │ │ │ └── DockerController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── DockerApplicationTests.java │ ├── spring-boot-elasticsearch/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ElasticsearchApplication.java │ │ │ │ ├── model/ │ │ │ │ │ └── Customer.java │ │ │ │ ├── repository/ │ │ │ │ │ └── CustomerRepository.java │ │ │ │ └── service/ │ │ │ │ ├── CustomersInterface.java │ │ │ │ └── impl/ │ │ │ │ └── CustomersInterfaceImpl.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ElasticsearchApplicationTests.java │ │ └── repository/ │ │ └── CustomerRepositoryTest.java │ ├── spring-boot-fastDFS/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── FastDFSApplication.java │ │ │ ├── controller/ │ │ │ │ ├── GlobalExceptionHandler.java │ │ │ │ └── UploadController.java │ │ │ └── fastdfs/ │ │ │ ├── FastDFSClient.java │ │ │ └── FastDFSFile.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── fdfs_client.conf │ │ ├── logback.xml │ │ └── templates/ │ │ ├── upload.html │ │ └── uploadStatus.html │ ├── spring-boot-file-upload/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── FileUploadWebApplication.java │ │ │ └── controller/ │ │ │ ├── GlobalExceptionHandler.java │ │ │ └── UploadController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── logback.xml │ │ └── templates/ │ │ ├── from_file.html │ │ ├── upload.html │ │ └── uploadStatus.html │ ├── spring-boot-hello/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── HelloApplication.java │ │ │ │ └── controller/ │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── HelloApplicationTests.java │ ├── spring-boot-helloWorld/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ └── controller/ │ │ │ │ └── HelloWorldController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-jpa/ │ │ ├── spring-boot-jpa/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── JpaApplication.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── Address.java │ │ │ │ │ │ ├── User.java │ │ │ │ │ │ ├── UserDetail.java │ │ │ │ │ │ └── UserInfo.java │ │ │ │ │ ├── param/ │ │ │ │ │ │ └── UserDetailParam.java │ │ │ │ │ ├── repository/ │ │ │ │ │ │ ├── AddressRepository.java │ │ │ │ │ │ ├── UserDetailRepository.java │ │ │ │ │ │ └── UserRepository.java │ │ │ │ │ └── service/ │ │ │ │ │ ├── UserDetailService.java │ │ │ │ │ └── UserDetailServiceImpl.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── JpaApplicationTests.java │ │ │ └── repository/ │ │ │ ├── JpaSpecificationTests.java │ │ │ ├── UserDetailRepositoryTests.java │ │ │ └── UserRepositoryTests.java │ │ └── spring-boot-multi-Jpa/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MultiJpaApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── DataSourceConfig.java │ │ │ │ │ ├── PrimaryConfig.java │ │ │ │ │ └── SecondaryConfig.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── repository/ │ │ │ │ ├── test1/ │ │ │ │ │ └── UserTest1Repository.java │ │ │ │ └── test2/ │ │ │ │ └── UserTest2Repository.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MultiJpaApplicationTests.java │ │ └── repository/ │ │ └── UserRepositoryTests.java │ ├── spring-boot-jpa-thymeleaf-curd/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── JpaThymeleafApplication.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ └── UserRepository.java │ │ │ ├── service/ │ │ │ │ ├── UserService.java │ │ │ │ └── impl/ │ │ │ │ └── UserServiceImpl.java │ │ │ └── web/ │ │ │ ├── HelloController.java │ │ │ └── UserController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ └── css/ │ │ │ └── bootstrap.css │ │ └── templates/ │ │ ├── hello.html │ │ └── user/ │ │ ├── list.html │ │ ├── userAdd.html │ │ └── userEdit.html │ ├── spring-boot-mail/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MailApplication.java │ │ │ │ └── service/ │ │ │ │ ├── MailService.java │ │ │ │ └── impl/ │ │ │ │ └── MailServiceImpl.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── templates/ │ │ │ └── emailTemplate.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MailApplicationTests.java │ │ └── service/ │ │ └── MailServiceTest.java │ ├── spring-boot-memcache-spymemcached/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MemcacheApplication.java │ │ │ │ └── config/ │ │ │ │ ├── MemcacheSource.java │ │ │ │ └── MemcachedRunner.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MemcacheApplicationTests.java │ │ └── RepositoryTests.java │ ├── spring-boot-mongodb/ │ │ ├── spring-boot-mongodb/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── MongoDBApplication.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── User.java │ │ │ │ │ └── repository/ │ │ │ │ │ ├── UserRepository.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── UserRepositoryImpl.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MongoDBApplicationTests.java │ │ │ └── repository/ │ │ │ └── UserRepositoryTest.java │ │ └── spring-boot-multi-mongodb/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MultiMongodbApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── MultipleMongoConfig.java │ │ │ │ │ ├── PrimaryMongoConfig.java │ │ │ │ │ ├── SecondaryMongoConfig.java │ │ │ │ │ └── props/ │ │ │ │ │ └── MultipleMongoProperties.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── repository/ │ │ │ │ ├── primary/ │ │ │ │ │ └── PrimaryRepository.java │ │ │ │ └── secondary/ │ │ │ │ └── SecondaryRepository.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MultiMongodbApplicationTests.java │ │ └── repository/ │ │ └── MuliDatabaseTest.java │ ├── spring-boot-mybatis/ │ │ ├── spring-boot-mybatis-annotation/ │ │ │ ├── pom.xml │ │ │ ├── src/ │ │ │ │ ├── main/ │ │ │ │ │ ├── java/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── neo/ │ │ │ │ │ │ ├── MybatisAnnotationApplication.java │ │ │ │ │ │ ├── enums/ │ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ │ └── UserMapper.java │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── User.java │ │ │ │ │ │ └── web/ │ │ │ │ │ │ └── UserController.java │ │ │ │ │ └── resources/ │ │ │ │ │ └── application.properties │ │ │ │ └── test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MybatisAnnotationApplicationTests.java │ │ │ │ └── mapper/ │ │ │ │ └── UserMapperTest.java │ │ │ └── users.sql │ │ ├── spring-boot-mybatis-annotation-mulidatasource/ │ │ │ ├── pom.xml │ │ │ ├── src/ │ │ │ │ ├── main/ │ │ │ │ │ ├── java/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── neo/ │ │ │ │ │ │ ├── MAMApplication.java │ │ │ │ │ │ ├── datasource/ │ │ │ │ │ │ │ ├── DataSource1Config.java │ │ │ │ │ │ │ └── DataSource2Config.java │ │ │ │ │ │ ├── enums/ │ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ │ │ └── User1Mapper.java │ │ │ │ │ │ │ └── test2/ │ │ │ │ │ │ │ └── User2Mapper.java │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── User.java │ │ │ │ │ │ └── web/ │ │ │ │ │ │ └── UserController.java │ │ │ │ │ └── resources/ │ │ │ │ │ └── application.properties │ │ │ │ └── test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MAMApplicationTests.java │ │ │ │ └── mapper/ │ │ │ │ ├── User1MapperTest.java │ │ │ │ └── User2MapperTest.java │ │ │ └── users.sql │ │ ├── spring-boot-mybatis-xml/ │ │ │ ├── pom.xml │ │ │ ├── src/ │ │ │ │ ├── main/ │ │ │ │ │ ├── java/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── neo/ │ │ │ │ │ │ ├── MybatisXmlApplication.java │ │ │ │ │ │ ├── enums/ │ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ │ └── UserMapper.java │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── User.java │ │ │ │ │ │ └── web/ │ │ │ │ │ │ └── UserController.java │ │ │ │ │ └── resources/ │ │ │ │ │ ├── application.properties │ │ │ │ │ └── mybatis/ │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── UserMapper.xml │ │ │ │ │ └── mybatis-config.xml │ │ │ │ └── test/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MybatisXmlApplicationTests.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── UserMapperTest.java │ │ │ │ └── web/ │ │ │ │ └── UserControllerTest.java │ │ │ └── users.sql │ │ └── spring-boot-mybatis-xml-mulidatasource/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── MXMApplication.java │ │ │ │ │ ├── datasource/ │ │ │ │ │ │ ├── DataSource1Config.java │ │ │ │ │ │ └── DataSource2Config.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ │ └── User1Mapper.java │ │ │ │ │ │ └── test2/ │ │ │ │ │ │ └── User2Mapper.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── User.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ ├── application.properties │ │ │ │ └── mybatis/ │ │ │ │ ├── mapper/ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ └── UserMapper.xml │ │ │ │ │ └── test2/ │ │ │ │ │ └── UserMapper.xml │ │ │ │ └── mybatis-config.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MXMApplicationTests.java │ │ │ └── mapper/ │ │ │ ├── User1MapperTest.java │ │ │ └── User2MapperTest.java │ │ └── users.sql │ ├── spring-boot-mybatis-plus/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MyBatisPlusApplication.java │ │ │ │ ├── config/ │ │ │ │ │ └── MybatisPlusConfig.java │ │ │ │ ├── mapper/ │ │ │ │ │ └── UserMapper.java │ │ │ │ └── model/ │ │ │ │ └── User.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── db/ │ │ │ ├── data-h2.sql │ │ │ └── schema-h2.sql │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MyBatisPlusApplicationTests.java │ │ └── MyBatisPlusTest.java │ ├── spring-boot-package/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── PackageApplication.java │ │ │ │ └── controller/ │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ ├── application-dev.properties │ │ │ ├── application-pro.properties │ │ │ ├── application-test.properties │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── PackageApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-package-war/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── Application.java │ │ │ │ ├── ServletInitializer.java │ │ │ │ └── controller/ │ │ │ │ └── HelloWorldController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── ApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ ├── spring-boot-rabbitmq/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── RabbitMQApplication.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── rabbit/ │ │ │ │ ├── FanoutRabbitConfig.java │ │ │ │ ├── RabbitConfig.java │ │ │ │ ├── TopicRabbitConfig.java │ │ │ │ ├── fanout/ │ │ │ │ │ ├── FanoutReceiverA.java │ │ │ │ │ ├── FanoutReceiverB.java │ │ │ │ │ ├── FanoutReceiverC.java │ │ │ │ │ └── FanoutSender.java │ │ │ │ ├── hello/ │ │ │ │ │ ├── HelloReceiver.java │ │ │ │ │ └── HelloSender.java │ │ │ │ ├── many/ │ │ │ │ │ ├── NeoReceiver1.java │ │ │ │ │ ├── NeoReceiver2.java │ │ │ │ │ ├── NeoSender.java │ │ │ │ │ └── NeoSender2.java │ │ │ │ ├── object/ │ │ │ │ │ ├── ObjectReceiver.java │ │ │ │ │ └── ObjectSender.java │ │ │ │ └── topic/ │ │ │ │ ├── TopicReceiver.java │ │ │ │ ├── TopicReceiver2.java │ │ │ │ └── TopicSender.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── RabbitMQApplicationTests.java │ │ └── rabbitmq/ │ │ ├── FanoutTest.java │ │ ├── HelloTest.java │ │ ├── ManyTest.java │ │ ├── ObjectTest.java │ │ └── TopicTest.java │ ├── spring-boot-redis/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── RedisApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── RedisConfig.java │ │ │ │ │ └── SessionConfig.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── RedisApplicationTests.java │ │ └── TestRedis.java │ ├── spring-boot-scheduler/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── SchedulerApplication.java │ │ │ │ └── task/ │ │ │ │ ├── Scheduler2Task.java │ │ │ │ └── SchedulerTask.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── SchedulerApplicationTests.java │ ├── spring-boot-shiro/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ShiroApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── MyShiroRealm.java │ │ │ │ │ └── ShiroConfig.java │ │ │ │ ├── dao/ │ │ │ │ │ └── UserInfoDao.java │ │ │ │ ├── model/ │ │ │ │ │ ├── SysPermission.java │ │ │ │ │ ├── SysRole.java │ │ │ │ │ └── UserInfo.java │ │ │ │ ├── sevice/ │ │ │ │ │ ├── UserInfoService.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── UserInfoServiceImpl.java │ │ │ │ └── web/ │ │ │ │ ├── HomeController.java │ │ │ │ └── UserInfoController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ ├── database/ │ │ │ │ └── import.sql │ │ │ └── templates/ │ │ │ ├── 403.html │ │ │ ├── index.html │ │ │ ├── login.html │ │ │ ├── userInfo.html │ │ │ ├── userInfoAdd.html │ │ │ └── userInfoDel.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── ShiroApplicationTests.java │ ├── spring-boot-swagger/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── SwaggerApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── BaseResult.java │ │ │ │ │ └── SwaggerConfig.java │ │ │ │ ├── controller/ │ │ │ │ │ ├── MessageController.java │ │ │ │ │ └── UserController.java │ │ │ │ ├── model/ │ │ │ │ │ ├── Message.java │ │ │ │ │ └── User.java │ │ │ │ └── repository/ │ │ │ │ ├── InMemoryMessageRepository.java │ │ │ │ └── MessageRepository.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── logback.xml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── SwaggerApplicationTests.java │ │ └── web/ │ │ └── MessageControllerTest.java │ ├── spring-boot-thymeleaf/ │ │ ├── spring-boot-thymeleaf/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── ThymeleafApplication.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── User.java │ │ │ │ │ └── web/ │ │ │ │ │ ├── ExampleController.java │ │ │ │ │ └── HelloController.java │ │ │ │ └── resources/ │ │ │ │ ├── application.properties │ │ │ │ └── templates/ │ │ │ │ ├── eq.html │ │ │ │ ├── hello.html │ │ │ │ ├── if.html │ │ │ │ ├── list.html │ │ │ │ ├── string.html │ │ │ │ ├── switch.html │ │ │ │ └── url.html │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ └── ThymeleafApplicationTests.java │ │ └── spring-boot-thymeleaf-layout/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── TLayoutApplication.java │ │ │ │ └── web/ │ │ │ │ └── IndexController.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── templates/ │ │ │ ├── base.html │ │ │ ├── fragment.html │ │ │ ├── home.html │ │ │ ├── index.html │ │ │ ├── layout/ │ │ │ │ ├── copyright.html │ │ │ │ ├── footer.html │ │ │ │ ├── header.html │ │ │ │ └── left.html │ │ │ └── layout.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── TLayoutApplicationTests.java │ ├── spring-boot-web/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── WebApplication.java │ │ │ │ ├── WebConfiguration.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ ├── repository/ │ │ │ │ │ └── UserRepository.java │ │ │ │ ├── util/ │ │ │ │ │ └── NeoProperties.java │ │ │ │ └── web/ │ │ │ │ ├── HelloController.java │ │ │ │ ├── ThymeleafController.java │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ ├── static/ │ │ │ │ └── css/ │ │ │ │ └── starter.css │ │ │ └── templates/ │ │ │ ├── hello.html │ │ │ └── layout.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── WebApplicationTests.java │ │ ├── model/ │ │ │ └── UserRepositoryTests.java │ │ └── web/ │ │ ├── HelloControlerTests.java │ │ └── ProPertiesTest.java │ ├── spring-boot-web-thymeleaf/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ThymeleafApplication.java │ │ │ │ ├── controller/ │ │ │ │ │ └── MessageController.java │ │ │ │ ├── model/ │ │ │ │ │ └── Message.java │ │ │ │ └── repository/ │ │ │ │ ├── InMemoryMessageRepository.java │ │ │ │ └── MessageRepository.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ ├── logback.xml │ │ │ └── templates/ │ │ │ ├── fragments.html │ │ │ └── messages/ │ │ │ ├── form.html │ │ │ ├── list.html │ │ │ └── view.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MessageControllerWebTests.java │ │ └── ThymeleafApplicationTests.java │ └── spring-boot-webflux/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── WebFluxApplication.java │ │ │ └── web/ │ │ │ └── HelloController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── HelloTests.java │ └── WebFluxApplicationTests.java ├── README.md ├── dockercompose-springboot-mysql-nginx/ │ ├── app/ │ │ ├── Dockerfile │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ComposeApplication.java │ │ │ │ ├── controller/ │ │ │ │ │ └── VisitorController.java │ │ │ │ ├── entity/ │ │ │ │ │ └── Visitor.java │ │ │ │ └── repository/ │ │ │ │ └── VisitorRepository.java │ │ │ └── resources/ │ │ │ ├── application-dev.properties │ │ │ ├── application-docker.properties │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── ComposeApplicationTests.java │ ├── docker-compose.yaml │ └── nginx/ │ └── conf.d/ │ └── app.conf ├── spring-boot-banner/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── neo/ │ │ └── banner/ │ │ └── BannerApplication.java │ └── resources/ │ ├── application.properties │ └── banner.txt ├── spring-boot-commandLineRunner/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── CommandLineRunnerApplication.java │ │ └── runner/ │ │ ├── OrderRunner1.java │ │ ├── OrderRunner2.java │ │ └── Runner.java │ └── resources/ │ └── application.properties ├── spring-boot-docker/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── docker/ │ │ │ └── Dockerfile │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── DockerApplication.java │ │ │ └── controller/ │ │ │ └── DockerController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ └── DockerApplicationTests.java ├── spring-boot-file-upload/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── FileUploadWebApplication.java │ │ └── controller/ │ │ ├── GlobalExceptionHandler.java │ │ └── UploadController.java │ └── resources/ │ ├── application.properties │ ├── logback.xml │ └── templates/ │ ├── from_file.html │ ├── upload.html │ └── uploadStatus.html ├── spring-boot-hello/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── HelloApplication.java │ │ │ └── controller/ │ │ │ └── HelloController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ └── HelloApplicationTests.java ├── spring-boot-helloWorld/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── Application.java │ │ │ └── controller/ │ │ │ └── HelloWorldController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── ApplicationTests.java │ └── controller/ │ └── HelloTests.java ├── spring-boot-jpa/ │ ├── spring-boot-jpa/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── JpaApplication.java │ │ │ │ ├── model/ │ │ │ │ │ ├── Address.java │ │ │ │ │ ├── User.java │ │ │ │ │ ├── UserDetail.java │ │ │ │ │ └── UserInfo.java │ │ │ │ ├── param/ │ │ │ │ │ └── UserDetailParam.java │ │ │ │ ├── repository/ │ │ │ │ │ ├── AddressRepository.java │ │ │ │ │ ├── UserDetailRepository.java │ │ │ │ │ └── UserRepository.java │ │ │ │ └── service/ │ │ │ │ ├── UserDetailService.java │ │ │ │ └── UserDetailServiceImpl.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── JpaApplicationTests.java │ │ └── repository/ │ │ ├── JpaSpecificationTests.java │ │ ├── UserDetailRepositoryTests.java │ │ └── UserRepositoryTests.java │ └── spring-boot-multi-Jpa/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MultiJpaApplication.java │ │ │ ├── config/ │ │ │ │ ├── DataSourceConfig.java │ │ │ │ ├── PrimaryConfig.java │ │ │ │ └── SecondaryConfig.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ └── repository/ │ │ │ ├── test1/ │ │ │ │ └── UserTest1Repository.java │ │ │ └── test2/ │ │ │ └── UserTest2Repository.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── MultiJpaApplicationTests.java │ └── repository/ │ └── UserRepositoryTests.java ├── spring-boot-jpa-thymeleaf-curd/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── JpaThymeleafApplication.java │ │ ├── model/ │ │ │ └── User.java │ │ ├── repository/ │ │ │ └── UserRepository.java │ │ ├── service/ │ │ │ ├── UserService.java │ │ │ └── impl/ │ │ │ └── UserServiceImpl.java │ │ └── web/ │ │ ├── HelloController.java │ │ └── UserController.java │ └── resources/ │ ├── application.properties │ ├── static/ │ │ └── css/ │ │ └── bootstrap.css │ └── templates/ │ ├── hello.html │ └── user/ │ ├── list.html │ ├── userAdd.html │ └── userEdit.html ├── spring-boot-mail/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MailApplication.java │ │ │ └── service/ │ │ │ ├── MailService.java │ │ │ └── impl/ │ │ │ └── MailServiceImpl.java │ │ └── resources/ │ │ ├── application.properties │ │ └── templates/ │ │ └── emailTemplate.html │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── MailApplicationTests.java │ └── service/ │ └── MailServiceTest.java ├── spring-boot-memcache-spymemcached/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MemcacheApplication.java │ │ │ └── config/ │ │ │ ├── MemcacheSource.java │ │ │ └── MemcachedRunner.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── MemcacheApplicationTests.java │ └── RepositoryTests.java ├── spring-boot-mongodb/ │ ├── spring-boot-mongodb/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MongoDBApplication.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── repository/ │ │ │ │ ├── UserRepository.java │ │ │ │ └── impl/ │ │ │ │ └── UserRepositoryImpl.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MongoDBApplicationTests.java │ │ └── repository/ │ │ └── UserRepositoryTest.java │ └── spring-boot-multi-mongodb/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MultiMongodbApplication.java │ │ │ ├── config/ │ │ │ │ ├── MultipleMongoConfig.java │ │ │ │ ├── PrimaryMongoConfig.java │ │ │ │ ├── SecondaryMongoConfig.java │ │ │ │ └── props/ │ │ │ │ └── MultipleMongoProperties.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ └── repository/ │ │ │ ├── primary/ │ │ │ │ └── PrimaryRepository.java │ │ │ └── secondary/ │ │ │ └── SecondaryRepository.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── MultiMongodbApplicationTests.java │ └── repository/ │ └── MuliDatabaseTest.java ├── spring-boot-mybatis/ │ ├── spring-boot-mybatis-annotation/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── MybatisAnnotationApplication.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── UserMapper.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── User.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MybatisAnnotationApplicationTests.java │ │ │ └── mapper/ │ │ │ └── UserMapperTest.java │ │ └── users.sql │ ├── spring-boot-mybatis-annotation-mulidatasource/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── MAMApplication.java │ │ │ │ │ ├── datasource/ │ │ │ │ │ │ ├── DataSource1Config.java │ │ │ │ │ │ └── DataSource2Config.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ │ └── User1Mapper.java │ │ │ │ │ │ └── test2/ │ │ │ │ │ │ └── User2Mapper.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── User.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ └── application.properties │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MAMApplicationTests.java │ │ │ └── mapper/ │ │ │ ├── User1MapperTest.java │ │ │ └── User2MapperTest.java │ │ └── users.sql │ ├── spring-boot-mybatis-xml/ │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── neo/ │ │ │ │ │ ├── MybatisXmlApplication.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ └── UserMapper.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── User.java │ │ │ │ │ └── web/ │ │ │ │ │ └── UserController.java │ │ │ │ └── resources/ │ │ │ │ ├── application.properties │ │ │ │ └── mybatis/ │ │ │ │ ├── mapper/ │ │ │ │ │ └── UserMapper.xml │ │ │ │ └── mybatis-config.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── MybatisXmlApplicationTests.java │ │ │ ├── mapper/ │ │ │ │ └── UserMapperTest.java │ │ │ └── web/ │ │ │ └── UserControllerTest.java │ │ └── users.sql │ └── spring-boot-mybatis-xml-mulidatasource/ │ ├── pom.xml │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── MXMApplication.java │ │ │ │ ├── datasource/ │ │ │ │ │ ├── DataSource1Config.java │ │ │ │ │ └── DataSource2Config.java │ │ │ │ ├── enums/ │ │ │ │ │ └── UserSexEnum.java │ │ │ │ ├── mapper/ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ └── User1Mapper.java │ │ │ │ │ └── test2/ │ │ │ │ │ └── User2Mapper.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── mybatis/ │ │ │ ├── mapper/ │ │ │ │ ├── test1/ │ │ │ │ │ └── UserMapper.xml │ │ │ │ └── test2/ │ │ │ │ └── UserMapper.xml │ │ │ └── mybatis-config.xml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── MXMApplicationTests.java │ │ └── mapper/ │ │ ├── User1MapperTest.java │ │ └── User2MapperTest.java │ └── users.sql ├── spring-boot-package/ │ ├── spring-boot-package/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── PackageApplication.java │ │ │ │ └── controller/ │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ ├── application-dev.properties │ │ │ ├── application-pro.properties │ │ │ ├── application-test.properties │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── PackageApplicationTests.java │ │ └── controller/ │ │ ├── HelloTests.java │ │ └── HelloWorldControlerTests.java │ └── spring-boot-package-war/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── Application.java │ │ │ ├── ServletInitializer.java │ │ │ └── controller/ │ │ │ └── HelloWorldController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── ApplicationTests.java │ └── controller/ │ ├── HelloTests.java │ └── HelloWorldControlerTests.java ├── spring-boot-rabbitmq/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── RabbitMQApplication.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ └── rabbit/ │ │ │ ├── FanoutRabbitConfig.java │ │ │ ├── RabbitConfig.java │ │ │ ├── TopicRabbitConfig.java │ │ │ ├── fanout/ │ │ │ │ ├── FanoutReceiverA.java │ │ │ │ ├── FanoutReceiverB.java │ │ │ │ ├── FanoutReceiverC.java │ │ │ │ └── FanoutSender.java │ │ │ ├── hello/ │ │ │ │ ├── HelloReceiver.java │ │ │ │ └── HelloSender.java │ │ │ ├── many/ │ │ │ │ ├── NeoReceiver1.java │ │ │ │ ├── NeoReceiver2.java │ │ │ │ ├── NeoSender.java │ │ │ │ └── NeoSender2.java │ │ │ ├── object/ │ │ │ │ ├── ObjectReceiver.java │ │ │ │ └── ObjectSender.java │ │ │ └── topic/ │ │ │ ├── TopicReceiver.java │ │ │ ├── TopicReceiver2.java │ │ │ └── TopicSender.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── RabbitMQApplicationTests.java │ └── rabbitmq/ │ ├── FanoutTest.java │ ├── HelloTest.java │ ├── ManyTest.java │ ├── ObjectTest.java │ └── TopicTest.java ├── spring-boot-redis/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── RedisApplication.java │ │ │ ├── config/ │ │ │ │ ├── RedisConfig.java │ │ │ │ └── SessionConfig.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ └── web/ │ │ │ └── UserController.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── RedisApplicationTests.java │ └── TestRedis.java ├── spring-boot-scheduler/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── SchedulerApplication.java │ │ │ └── task/ │ │ │ ├── Scheduler2Task.java │ │ │ └── SchedulerTask.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ └── SchedulerApplicationTests.java ├── spring-boot-thymeleaf/ │ ├── spring-boot-thymeleaf/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── neo/ │ │ │ │ ├── ThymeleafApplication.java │ │ │ │ ├── model/ │ │ │ │ │ └── User.java │ │ │ │ └── web/ │ │ │ │ ├── ExampleController.java │ │ │ │ └── HelloController.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ └── templates/ │ │ │ ├── eq.html │ │ │ ├── hello.html │ │ │ ├── if.html │ │ │ ├── list.html │ │ │ ├── string.html │ │ │ ├── switch.html │ │ │ └── url.html │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── neo/ │ │ └── ThymeleafApplicationTests.java │ └── spring-boot-thymeleaf-layout/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── TLayoutApplication.java │ │ │ └── web/ │ │ │ └── IndexController.java │ │ └── resources/ │ │ ├── application.properties │ │ └── templates/ │ │ ├── base.html │ │ ├── fragment.html │ │ ├── home.html │ │ ├── index.html │ │ ├── layout/ │ │ │ ├── copyright.html │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ └── left.html │ │ └── layout.html │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ └── TLayoutApplicationTests.java ├── spring-boot-web/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── WebApplication.java │ │ │ ├── WebConfiguration.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ ├── repository/ │ │ │ │ └── UserRepository.java │ │ │ ├── util/ │ │ │ │ └── NeoProperties.java │ │ │ └── web/ │ │ │ ├── HelloController.java │ │ │ ├── ThymeleafController.java │ │ │ └── UserController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ │ └── css/ │ │ │ └── starter.css │ │ └── templates/ │ │ ├── hello.html │ │ └── layout.html │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── WebApplicationTests.java │ ├── model/ │ │ └── UserRepositoryTests.java │ └── web/ │ └── ProPertiesTest.java ├── spring-boot-web-thymeleaf/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── neo/ │ │ │ ├── ThymeleafApplication.java │ │ │ ├── controller/ │ │ │ │ └── MessageController.java │ │ │ ├── model/ │ │ │ │ └── Message.java │ │ │ └── repository/ │ │ │ ├── InMemoryMessageRepository.java │ │ │ └── MessageRepository.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── logback.xml │ │ └── templates/ │ │ ├── fragments.html │ │ └── messages/ │ │ ├── form.html │ │ ├── list.html │ │ └── view.html │ └── test/ │ └── java/ │ └── com/ │ └── neo/ │ ├── MessageControllerWebTests.java │ └── ThymeleafApplicationTests.java └── spring-boot-webflux/ ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── neo/ │ │ ├── WebFluxApplication.java │ │ └── web/ │ │ └── HelloController.java │ └── resources/ │ └── application.properties └── test/ └── java/ └── com/ └── neo/ ├── HelloTests.java └── WebFluxApplicationTests.java