From 6565ea94d29ddabb325315af36d99ae029127c96 Mon Sep 17 00:00:00 2001 From: kukabo <102449619+kukabo@users.noreply.github.com> Date: Sun, 19 Nov 2023 00:29:25 +0800 Subject: [PATCH] Delete 1.x directory --- 1.x/README.md | 73 - 1.x/README_EN.md | 33 - 1.x/spring-boot-actuator/pom.xml | 59 - .../java/com/neo/ActuatorApplication.java | 12 - .../com/neo/controller/HelloController.java | 13 - .../src/main/resources/application.yml | 15 - .../com/neo/ActuatorApplicationTests.java | 18 - .../java/com/neo/controller/HelloTests.java | 36 - .../controller/HelloWorldControlerTests.java | 34 - 1.x/spring-boot-admin-simple/pom.xml | 53 - .../spring-boot-admin-client/pom.xml | 30 - .../java/com/neo/AdminClientApplication.java | 12 - .../src/main/resources/application.properties | 4 - .../com/neo/AdminClientApplicationTests.java | 16 - .../spring-boot-admin-server/pom.xml | 35 - .../java/com/neo/AdminServerApplication.java | 16 - .../src/main/resources/application.properties | 2 - .../com/neo/AdminServerApplicationTests.java | 16 - 1.x/spring-boot-fastDFS/pom.xml | 52 - .../main/java/com/neo/FastDFSApplication.java | 30 - .../controller/GlobalExceptionHandler.java | 20 - .../com/neo/controller/UploadController.java | 80 - .../java/com/neo/fastdfs/FastDFSClient.java | 104 - .../java/com/neo/fastdfs/FastDFSFile.java | 70 - .../src/main/resources/application.properties | 5 - .../src/main/resources/fdfs_client.conf | 9 - .../src/main/resources/logback.xml | 24 - .../src/main/resources/templates/upload.html | 13 - .../resources/templates/uploadStatus.html | 16 - 1.x/spring-boot-file-upload/pom.xml | 48 - .../com/neo/FileUploadWebApplication.java | 30 - .../controller/GlobalExceptionHandler.java | 18 - .../com/neo/controller/UploadController.java | 54 - .../src/main/resources/application.properties | 11 - .../src/main/resources/logback.xml | 24 - .../main/resources/templates/from_file.html | 51 - .../src/main/resources/templates/upload.html | 13 - .../resources/templates/uploadStatus.html | 12 - 1.x/spring-boot-helloWorld/pom.xml | 62 - .../src/main/java/com/neo/Application.java | 12 - .../neo/controller/HelloWorldController.java | 13 - .../src/main/resources/application.properties | 0 .../test/java/com/neo/ApplicationTests.java | 18 - .../java/com/neo/controller/HelloTests.java | 39 - .../controller/HelloWorldControlerTests.java | 37 - 1.x/spring-boot-jpa-thymeleaf-curd/pom.xml | 51 - .../java/com/neo/JpaThymeleafApplication.java | 20 - .../src/main/java/com/neo/entity/User.java | 55 - .../com/neo/repository/UserRepository.java | 11 - .../java/com/neo/service/UserService.java | 20 - .../com/neo/service/impl/UserServiceImpl.java | 44 - .../java/com/neo/web/HelloController.java | 16 - .../main/java/com/neo/web/UserController.java | 63 - .../src/main/resources/application.properties | 10 - .../main/resources/static/css/bootstrap.css | 6760 ----------------- .../src/main/resources/templates/hello.html | 10 - .../main/resources/templates/user/list.html | 43 - .../resources/templates/user/userAdd.html | 43 - .../resources/templates/user/userEdit.html | 44 - 1.x/spring-boot-mail/pom.xml | 75 - .../src/main/java/com/neo/Application.java | 13 - .../java/com/neo/service/MailService.java | 16 - .../com/neo/service/impl/MailServiceImpl.java | 138 - .../src/main/resources/application.properties | 9 - .../resources/templates/emailTemplate.html | 11 - .../test/java/com/neo/ApplicationTests.java | 17 - .../java/com/neo/service/MailServiceTest.java | 65 - 1.x/spring-boot-mongodb/pom.xml | 60 - .../src/main/java/com/neo/Application.java | 13 - .../src/main/java/com/neo/dao/UserDao.java | 18 - .../java/com/neo/dao/impl/UserDaoImpl.java | 71 - .../main/java/com/neo/entity/UserEntity.java | 46 - .../src/main/resources/application.properties | 5 - .../test/java/com/neo/ApplicationTests.java | 17 - .../test/java/com/neo/dao/UserDaoTest.java | 49 - 1.x/spring-boot-multi-mongodb/pom.xml | 60 - .../src/main/java/com/neo/Application.java | 18 - .../com/neo/config/MultipleMongoConfig.java | 48 - .../com/neo/config/PrimaryMongoConfig.java | 15 - .../com/neo/config/SecondaryMongoConfig.java | 15 - .../config/props/MultipleMongoProperties.java | 16 - .../primary/PrimaryMongoObject.java | 28 - .../repository/primary/PrimaryRepository.java | 9 - .../secondary/SecondaryMongoObject.java | 29 - .../secondary/SecondaryRepository.java | 9 - .../src/main/resources/application.yml | 9 - .../test/java/com/neo/ApplicationTests.java | 17 - .../model/repository/MuliDatabaseTest.java | 57 - .../pom.xml | 69 - .../src/main/java/com/neo/Application.java | 13 - .../com/neo/datasource/DataSource1Config.java | 52 - .../com/neo/datasource/DataSource2Config.java | 47 - .../main/java/com/neo/entity/UserEntity.java | 73 - .../main/java/com/neo/enums/UserSexEnum.java | 5 - .../com/neo/mapper/test1/User1Mapper.java | 35 - .../com/neo/mapper/test2/User2Mapper.java | 35 - .../main/java/com/neo/web/UserController.java | 50 - .../src/main/resources/application.properties | 13 - .../test/java/com/neo/ApplicationTests.java | 17 - .../java/com/neo/mapper/User1MapperTest.java | 52 - .../java/com/neo/mapper/User2MapperTest.java | 51 - 1.x/spring-boot-mybatis-annotation/pom.xml | 89 - .../src/main/java/com/neo/Application.java | 14 - .../main/java/com/neo/entity/UserEntity.java | 73 - .../main/java/com/neo/enums/UserSexEnum.java | 5 - .../main/java/com/neo/mapper/UserMapper.java | 40 - .../main/java/com/neo/web/UserController.java | 47 - .../src/main/resources/application.properties | 6 - .../test/java/com/neo/ApplicationTests.java | 17 - .../java/com/neo/mapper/UserMapperTest.java | 47 - 1.x/spring-boot-mybatis-annotation/users.sql | 30 - .../pom.xml | 69 - .../src/main/java/com/neo/Application.java | 13 - .../com/neo/datasource/DataSource1Config.java | 53 - .../com/neo/datasource/DataSource2Config.java | 48 - .../main/java/com/neo/entity/UserEntity.java | 73 - .../main/java/com/neo/enums/UserSexEnum.java | 5 - .../com/neo/mapper/test1/User1Mapper.java | 19 - .../com/neo/mapper/test2/User2Mapper.java | 19 - .../main/java/com/neo/web/UserController.java | 51 - .../src/main/resources/application.properties | 13 - .../mybatis/mapper/test1/UserMapper.xml | 55 - .../mybatis/mapper/test2/UserMapper.xml | 55 - .../main/resources/mybatis/mybatis-config.xml | 12 - .../test/java/com/neo/ApplicationTests.java | 17 - .../java/com/neo/mapper/User1MapperTest.java | 52 - .../java/com/neo/mapper/User2MapperTest.java | 51 - .../users.sql | 30 - 1.x/spring-boot-mybatis-xml/pom.xml | 89 - .../src/main/java/com/neo/Application.java | 14 - .../main/java/com/neo/entity/UserEntity.java | 73 - .../main/java/com/neo/enums/UserSexEnum.java | 5 - .../main/java/com/neo/mapper/UserMapper.java | 19 - .../main/java/com/neo/web/UserController.java | 47 - .../src/main/resources/application.properties | 8 - .../resources/mybatis/mapper/UserMapper.xml | 55 - .../main/resources/mybatis/mybatis-config.xml | 12 - .../test/java/com/neo/ApplicationTests.java | 17 - .../java/com/neo/mapper/UserMapperTest.java | 51 - .../java/com/neo/web/UserControllerTest.java | 37 - 1.x/spring-boot-mybatis-xml/users.sql | 30 - 1.x/spring-boot-package-war/pom.xml | 67 - .../src/main/java/com/neo/Application.java | 12 - .../main/java/com/neo/ServletInitializer.java | 14 - .../neo/controller/HelloWorldController.java | 13 - .../src/main/resources/application.properties | 0 .../test/java/com/neo/ApplicationTests.java | 16 - .../java/com/neo/controller/HelloTests.java | 39 - .../controller/HelloWorldControlerTests.java | 37 - 1.x/spring-boot-rabbitmq/pom.xml | 60 - .../src/main/java/com/neo/Application.java | 12 - .../src/main/java/com/neo/model/User.java | 37 - .../com/neo/rabbit/FanoutRabbitConfig.java | 49 - .../java/com/neo/rabbit/RabbitConfig.java | 27 - .../com/neo/rabbit/TopicRabbitConfig.java | 41 - .../neo/rabbit/fanout/FanoutReceiverA.java | 16 - .../neo/rabbit/fanout/FanoutReceiverB.java | 16 - .../neo/rabbit/fanout/FanoutReceiverC.java | 16 - .../com/neo/rabbit/fanout/FanoutSender.java | 19 - .../com/neo/rabbit/hello/HelloReceiver.java | 19 - .../com/neo/rabbit/hello/HelloSender.java | 22 - .../com/neo/rabbit/many/NeoReceiver1.java | 16 - .../com/neo/rabbit/many/NeoReceiver2.java | 16 - .../java/com/neo/rabbit/many/NeoSender.java | 19 - .../java/com/neo/rabbit/many/NeoSender2.java | 19 - .../com/neo/rabbit/object/ObjectReceiver.java | 17 - .../com/neo/rabbit/object/ObjectSender.java | 21 - .../com/neo/rabbit/topic/TopicReceiver.java | 16 - .../com/neo/rabbit/topic/TopicReceiver2.java | 16 - .../com/neo/rabbit/topic/TopicSender.java | 33 - .../src/main/resources/application.properties | 6 - .../test/java/com/neo/ApplicationTests.java | 17 - .../java/com/neo/rabbitmq/FanoutTest.java | 24 - .../test/java/com/neo/rabbitmq/HelloTest.java | 23 - .../test/java/com/neo/rabbitmq/ManyTest.java | 35 - .../java/com/neo/rabbitmq/ObjectTest.java | 26 - .../test/java/com/neo/rabbitmq/TopicTest.java | 32 - 1.x/spring-boot-scheduler/pom.xml | 56 - .../src/main/java/com/neo/Application.java | 14 - .../java/com/neo/task/Scheduler2Task.java | 23 - .../main/java/com/neo/task/SchedulerTask.java | 22 - .../src/main/resources/application.properties | 2 - .../test/java/com/neo/ApplicationTests.java | 17 - 1.x/spring-boot-shiro/pom.xml | 79 - .../com/neo/SpringBootShiroApplication.java | 12 - .../java/com/neo/config/MyShiroRealm.java | 60 - .../main/java/com/neo/config/ShiroConfig.java | 98 - .../main/java/com/neo/dao/UserInfoDao.java | 9 - .../java/com/neo/entity/SysPermission.java | 94 - .../src/main/java/com/neo/entity/SysRole.java | 71 - .../main/java/com/neo/entity/UserInfo.java | 86 - .../java/com/neo/sevice/UserInfoService.java | 8 - .../neo/sevice/impl/UserInfoServiceImpl.java | 19 - .../main/java/com/neo/web/HomeController.java | 52 - .../java/com/neo/web/UserInfoController.java | 40 - .../src/main/resources/application.yml | 23 - .../src/main/resources/database/import.sql | 12 - .../src/main/resources/templates/403.html | 10 - .../src/main/resources/templates/index.html | 10 - .../src/main/resources/templates/login.html | 15 - .../main/resources/templates/userInfo.html | 10 - .../main/resources/templates/userInfoAdd.html | 10 - .../main/resources/templates/userInfoDel.html | 10 - .../neo/SpringBootShiroApplicationTests.java | 16 - 1.x/spring-boot-thymeleaf/pom.xml | 35 - .../com/neo/thymeleaf/HelloController.java | 15 - .../neo/thymeleaf/ThymeleafApplication.java | 20 - .../src/main/resources/application.properties | 1 - .../src/main/resources/templates/hello.html | 10 - 1.x/spring-boot-web/pom.xml | 90 - .../src/main/java/com/neo/Application.java | 12 - .../main/java/com/neo/WebConfiguration.java | 60 - .../main/java/com/neo/config/RedisConfig.java | 63 - .../java/com/neo/config/SessionConfig.java | 10 - .../src/main/java/com/neo/domain/User.java | 76 - .../java/com/neo/domain/UserRepository.java | 11 - .../main/java/com/neo/util/NeoProperties.java | 26 - .../java/com/neo/web/HelloController.java | 30 - .../java/com/neo/web/ThymeleafController.java | 26 - .../main/java/com/neo/web/UserController.java | 34 - .../src/main/resources/application.properties | 32 - .../src/main/resources/static/css/starter.css | 8 - .../main/resources/static/images/favicon.png | Bin 1553 -> 0 bytes .../src/main/resources/templates/hello.html | 18 - .../src/main/resources/templates/layout.html | 54 - .../test/java/com/neo/ApplicationTests.java | 18 - .../com/neo/domain/UserRepositoryTests.java | 39 - .../src/test/java/com/neo/util/TestRedis.java | 53 - .../java/com/neo/web/HelloControlerTests.java | 57 - .../test/java/com/neo/web/ProPertiesTest.java | 40 - 230 files changed, 14041 deletions(-) delete mode 100644 1.x/README.md delete mode 100644 1.x/README_EN.md delete mode 100644 1.x/spring-boot-actuator/pom.xml delete mode 100644 1.x/spring-boot-actuator/src/main/java/com/neo/ActuatorApplication.java delete mode 100644 1.x/spring-boot-actuator/src/main/java/com/neo/controller/HelloController.java delete mode 100644 1.x/spring-boot-actuator/src/main/resources/application.yml delete mode 100644 1.x/spring-boot-actuator/src/test/java/com/neo/ActuatorApplicationTests.java delete mode 100644 1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloTests.java delete mode 100644 1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloWorldControlerTests.java delete mode 100644 1.x/spring-boot-admin-simple/pom.xml delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-client/pom.xml delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/java/com/neo/AdminClientApplication.java delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-client/src/test/java/com/neo/AdminClientApplicationTests.java delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-server/pom.xml delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/java/com/neo/AdminServerApplication.java delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-admin-simple/spring-boot-admin-server/src/test/java/com/neo/AdminServerApplicationTests.java delete mode 100644 1.x/spring-boot-fastDFS/pom.xml delete mode 100644 1.x/spring-boot-fastDFS/src/main/java/com/neo/FastDFSApplication.java delete mode 100644 1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/GlobalExceptionHandler.java delete mode 100644 1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/UploadController.java delete mode 100644 1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSClient.java delete mode 100644 1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSFile.java delete mode 100644 1.x/spring-boot-fastDFS/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-fastDFS/src/main/resources/fdfs_client.conf delete mode 100644 1.x/spring-boot-fastDFS/src/main/resources/logback.xml delete mode 100644 1.x/spring-boot-fastDFS/src/main/resources/templates/upload.html delete mode 100644 1.x/spring-boot-fastDFS/src/main/resources/templates/uploadStatus.html delete mode 100644 1.x/spring-boot-file-upload/pom.xml delete mode 100644 1.x/spring-boot-file-upload/src/main/java/com/neo/FileUploadWebApplication.java delete mode 100644 1.x/spring-boot-file-upload/src/main/java/com/neo/controller/GlobalExceptionHandler.java delete mode 100644 1.x/spring-boot-file-upload/src/main/java/com/neo/controller/UploadController.java delete mode 100644 1.x/spring-boot-file-upload/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-file-upload/src/main/resources/logback.xml delete mode 100644 1.x/spring-boot-file-upload/src/main/resources/templates/from_file.html delete mode 100644 1.x/spring-boot-file-upload/src/main/resources/templates/upload.html delete mode 100644 1.x/spring-boot-file-upload/src/main/resources/templates/uploadStatus.html delete mode 100644 1.x/spring-boot-helloWorld/pom.xml delete mode 100644 1.x/spring-boot-helloWorld/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-helloWorld/src/main/java/com/neo/controller/HelloWorldController.java delete mode 100644 1.x/spring-boot-helloWorld/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-helloWorld/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloTests.java delete mode 100644 1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloWorldControlerTests.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/pom.xml delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/JpaThymeleafApplication.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/entity/User.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/repository/UserRepository.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/UserService.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/impl/UserServiceImpl.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/HelloController.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/UserController.java delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/static/css/bootstrap.css delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/hello.html delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/list.html delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userAdd.html delete mode 100644 1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userEdit.html delete mode 100644 1.x/spring-boot-mail/pom.xml delete mode 100644 1.x/spring-boot-mail/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-mail/src/main/java/com/neo/service/MailService.java delete mode 100644 1.x/spring-boot-mail/src/main/java/com/neo/service/impl/MailServiceImpl.java delete mode 100644 1.x/spring-boot-mail/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-mail/src/main/resources/templates/emailTemplate.html delete mode 100644 1.x/spring-boot-mail/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-mail/src/test/java/com/neo/service/MailServiceTest.java delete mode 100644 1.x/spring-boot-mongodb/pom.xml delete mode 100644 1.x/spring-boot-mongodb/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-mongodb/src/main/java/com/neo/dao/UserDao.java delete mode 100644 1.x/spring-boot-mongodb/src/main/java/com/neo/dao/impl/UserDaoImpl.java delete mode 100644 1.x/spring-boot-mongodb/src/main/java/com/neo/entity/UserEntity.java delete mode 100644 1.x/spring-boot-mongodb/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-mongodb/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-mongodb/src/test/java/com/neo/dao/UserDaoTest.java delete mode 100644 1.x/spring-boot-multi-mongodb/pom.xml delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/MultipleMongoConfig.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/PrimaryMongoConfig.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/SecondaryMongoConfig.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/props/MultipleMongoProperties.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryMongoObject.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryRepository.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryMongoObject.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryRepository.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/main/resources/application.yml delete mode 100644 1.x/spring-boot-multi-mongodb/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-multi-mongodb/src/test/java/com/neo/model/repository/MuliDatabaseTest.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/pom.xml delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/entity/UserEntity.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/web/UserController.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java delete mode 100644 1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java delete mode 100644 1.x/spring-boot-mybatis-annotation/pom.xml delete mode 100644 1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/entity/UserEntity.java delete mode 100644 1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/enums/UserSexEnum.java delete mode 100644 1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/mapper/UserMapper.java delete mode 100644 1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/web/UserController.java delete mode 100644 1.x/spring-boot-mybatis-annotation/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/mapper/UserMapperTest.java delete mode 100644 1.x/spring-boot-mybatis-annotation/users.sql delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/pom.xml delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/entity/UserEntity.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/web/UserController.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test1/UserMapper.xml delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test2/UserMapper.xml delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mybatis-config.xml delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java delete mode 100644 1.x/spring-boot-mybatis-mulidatasource/users.sql delete mode 100644 1.x/spring-boot-mybatis-xml/pom.xml delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/java/com/neo/entity/UserEntity.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/java/com/neo/enums/UserSexEnum.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/java/com/neo/mapper/UserMapper.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/java/com/neo/web/UserController.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mapper/UserMapper.xml delete mode 100644 1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mybatis-config.xml delete mode 100644 1.x/spring-boot-mybatis-xml/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/test/java/com/neo/mapper/UserMapperTest.java delete mode 100644 1.x/spring-boot-mybatis-xml/src/test/java/com/neo/web/UserControllerTest.java delete mode 100644 1.x/spring-boot-mybatis-xml/users.sql delete mode 100644 1.x/spring-boot-package-war/pom.xml delete mode 100644 1.x/spring-boot-package-war/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-package-war/src/main/java/com/neo/ServletInitializer.java delete mode 100644 1.x/spring-boot-package-war/src/main/java/com/neo/controller/HelloWorldController.java delete mode 100644 1.x/spring-boot-package-war/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-package-war/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloTests.java delete mode 100644 1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloWorldControlerTests.java delete mode 100644 1.x/spring-boot-rabbitmq/pom.xml delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/model/User.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/FanoutRabbitConfig.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/RabbitConfig.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/TopicRabbitConfig.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverA.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverB.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverC.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutSender.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloReceiver.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloSender.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver1.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver2.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender2.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectReceiver.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectSender.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver2.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicSender.java delete mode 100644 1.x/spring-boot-rabbitmq/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-rabbitmq/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/FanoutTest.java delete mode 100644 1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/HelloTest.java delete mode 100644 1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ManyTest.java delete mode 100644 1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ObjectTest.java delete mode 100644 1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/TopicTest.java delete mode 100644 1.x/spring-boot-scheduler/pom.xml delete mode 100644 1.x/spring-boot-scheduler/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-scheduler/src/main/java/com/neo/task/Scheduler2Task.java delete mode 100644 1.x/spring-boot-scheduler/src/main/java/com/neo/task/SchedulerTask.java delete mode 100644 1.x/spring-boot-scheduler/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-scheduler/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-shiro/pom.xml delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/SpringBootShiroApplication.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/config/MyShiroRealm.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/config/ShiroConfig.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/dao/UserInfoDao.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysPermission.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysRole.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/entity/UserInfo.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/sevice/UserInfoService.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/sevice/impl/UserInfoServiceImpl.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/web/HomeController.java delete mode 100644 1.x/spring-boot-shiro/src/main/java/com/neo/web/UserInfoController.java delete mode 100644 1.x/spring-boot-shiro/src/main/resources/application.yml delete mode 100644 1.x/spring-boot-shiro/src/main/resources/database/import.sql delete mode 100644 1.x/spring-boot-shiro/src/main/resources/templates/403.html delete mode 100644 1.x/spring-boot-shiro/src/main/resources/templates/index.html delete mode 100644 1.x/spring-boot-shiro/src/main/resources/templates/login.html delete mode 100644 1.x/spring-boot-shiro/src/main/resources/templates/userInfo.html delete mode 100644 1.x/spring-boot-shiro/src/main/resources/templates/userInfoAdd.html delete mode 100644 1.x/spring-boot-shiro/src/main/resources/templates/userInfoDel.html delete mode 100644 1.x/spring-boot-shiro/src/test/java/com/neo/SpringBootShiroApplicationTests.java delete mode 100644 1.x/spring-boot-thymeleaf/pom.xml delete mode 100644 1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/HelloController.java delete mode 100644 1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/ThymeleafApplication.java delete mode 100644 1.x/spring-boot-thymeleaf/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-thymeleaf/src/main/resources/templates/hello.html delete mode 100644 1.x/spring-boot-web/pom.xml delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/Application.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/WebConfiguration.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/config/RedisConfig.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/config/SessionConfig.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/domain/User.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/domain/UserRepository.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/util/NeoProperties.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/web/HelloController.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/web/ThymeleafController.java delete mode 100644 1.x/spring-boot-web/src/main/java/com/neo/web/UserController.java delete mode 100644 1.x/spring-boot-web/src/main/resources/application.properties delete mode 100644 1.x/spring-boot-web/src/main/resources/static/css/starter.css delete mode 100644 1.x/spring-boot-web/src/main/resources/static/images/favicon.png delete mode 100644 1.x/spring-boot-web/src/main/resources/templates/hello.html delete mode 100644 1.x/spring-boot-web/src/main/resources/templates/layout.html delete mode 100644 1.x/spring-boot-web/src/test/java/com/neo/ApplicationTests.java delete mode 100644 1.x/spring-boot-web/src/test/java/com/neo/domain/UserRepositoryTests.java delete mode 100644 1.x/spring-boot-web/src/test/java/com/neo/util/TestRedis.java delete mode 100644 1.x/spring-boot-web/src/test/java/com/neo/web/HelloControlerTests.java delete mode 100644 1.x/spring-boot-web/src/test/java/com/neo/web/ProPertiesTest.java diff --git a/1.x/README.md b/1.x/README.md deleted file mode 100644 index 03c818122..000000000 --- a/1.x/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# Spring Boot Examples - -Demo website:http://www.ityouknow.com/ - -[Spring Cloud学习示例代码](https://github.com/ityouknow/spring-cloud-examples) - -[Spring Boot 中文索引](https://github.com/ityouknow/awesome-spring-boot) - -[参与贡献](https://github.com/ityouknow/spring-boot-examples/issues) |  [English](README_EN.md) - -**[github地址](https://github.com/ityouknow/spring-boot-examples)** - -**[码云地址](https://gitee.com/ityouknow/spring-boot-examples)** - -Spring boot使用的各种示例,以最简单、最实用为标准 - - -- [spring-boot-helloWorld](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-helloWorld):spring-boot的helloWorld版本 -- [spring-boot-mybaits-annotation](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-annotation):注解版本 -- [spring-boot-mybaits-xml](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-xml):xml配置版本 -- [spring-boot-mybatis-mulidatasource](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-mulidatasource):springboot+mybatis多数据源最简解决方案 -- [spring-boot-mybatis-annotation-mulidatasource](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-annotation-mulidatasource):springboot+mybatis(注解版)多数据源最简解决方案 -- [spring-boot-thymeleaf](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-thymeleaf):simple spring boot thymeleaf demo -- [spring-boot-jpa-thymeleaf-curd](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-jpa-thymeleaf-curd):spring boot + jpa + thymeleaf 增删改查示例 -- [spring-boot-rabbitmq](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-rabbitmq):spring boot和rabbitmq各种消息应用案例 -- [spring-boot-scheduler](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-scheduler):spring boot和定时任务案例 -- [spring-boot-web](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-web):web开发综合使用案例 -- [spring-boot-mail](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mail):spring boot和邮件服务 -- [spring-boot-mongodb](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mongodb):spring boot和mongodb的使用 -- [spring-boot-multi-mongodb](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-multi-mongodb):spring boot和mongodb多数据源的使用 -- [spring-boot-package-war](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-package-war):spring-boot打包成war包示例 -- [spring-boot-shiro](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-shiro):springboot 整合shiro rbac示例 -- [spring-boot-file-upload](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-file-upload):使用Spring Boot 上传文件示例 -- [spring-boot-fastDFS](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-fastDFS):Spring Boot 整合FastDFS示例 -- [spring-boot-actuator](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-actuator):Spring Boot Actuator 使用示例 -- [spring-boot-admin-simple](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-admin-simple):Spring Boot Admin 的使用示例 - -**[Favorites-web](https://github.com/cloudfavorites/favorites-web):云收藏(springboot实战开源项目)** - - - -参考文章: - -- [springboot(一):入门篇](http://www.ityouknow.com/springboot/2016/01/06/springboot(%E4%B8%80)-%E5%85%A5%E9%97%A8%E7%AF%87.html) -- [springboot(二):web综合开发](http://www.ityouknow.com/springboot/2016/02/03/springboot(%E4%BA%8C)-web%E7%BB%BC%E5%90%88%E5%BC%80%E5%8F%91.html) -- [springboot(三):Spring boot中Redis的使用](http://www.ityouknow.com/springboot/2016/03/06/springboot(%E4%B8%89)-Spring-Boot%E4%B8%ADRedis%E7%9A%84%E4%BD%BF%E7%94%A8.html) -- [springboot(四):thymeleaf使用详解](http://www.ityouknow.com/springboot/2016/05/01/springboot(%E5%9B%9B)-thymeleaf%E4%BD%BF%E7%94%A8%E8%AF%A6%E8%A7%A3.html) -- [springboot(五):spring data jpa的使用](http://www.ityouknow.com/springboot/2016/08/20/springboot(%E4%BA%94)-spring-data-jpa%E7%9A%84%E4%BD%BF%E7%94%A8.html) -- [springboot(六):如何优雅的使用mybatis](http://www.ityouknow.com/springboot/2016/11/06/springboot(%E5%85%AD)-%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E7%9A%84%E4%BD%BF%E7%94%A8mybatis.html) -- [springboot(七):springboot+mybatis多数据源最简解决方案](http://www.ityouknow.com/springboot/2016/11/25/springboot(%E4%B8%83)-springboot+mybatis%E5%A4%9A%E6%95%B0%E6%8D%AE%E6%BA%90%E6%9C%80%E7%AE%80%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.html) -- [springboot(八):RabbitMQ详解](http://www.ityouknow.com/springboot/2016/11/30/springboot(%E5%85%AB)-RabbitMQ%E8%AF%A6%E8%A7%A3.html) -- [springboot(九):定时任务](http://www.ityouknow.com/springboot/2016/12/02/springboot(%E4%B9%9D)-%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1.html) -- [springboot(十):邮件服务](http://www.ityouknow.com/springboot/2017/05/06/springboot-mail.html) -- [springboot(十一):Spring boot中mongodb的使用](http://www.ityouknow.com/springboot/2017/05/08/springboot-mongodb.html) -- [springboot(十二):springboot如何测试打包部署](http://www.ityouknow.com/springboot/2017/05/09/springboot-deploy.html) -- [springboot(十三):springboot小技巧](http://www.ityouknow.com/springboot/2017/06/22/springboot-tips.html) -- [springboot(十四):springboot整合shiro-登录认证和权限管理](http://www.ityouknow.com/springboot/2017/06/26/springboot-shiro.html) -- [springboot(十五):springboot+jpa+thymeleaf增删改查示例](http://www.ityouknow.com/springboot/2017/09/23/spring-boot-jpa-thymeleaf-curd.html) -- [springboot(十六):使用Jenkins部署Spring Boot](http://www.ityouknow.com/springboot/2017/11/11/springboot-jenkins.html) -- [springboot(十七):使用Spring Boot上传文件](http://www.ityouknow.com/springboot/2018/01/12/spring-boot-upload-file.html) -- [springboot(十八):使用Spring Boot集成FastDFS](http://www.ityouknow.com/springboot/2018/01/16/spring-boot-fastdfs.html) -- [springboot(十九):使用Spring Boot Actuator监控应用](http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html) -- [springboot(二十):使用spring-boot-admin对spring-boot服务进行监控](http://www.ityouknow.com/springboot/2018/02/11/spring-boot-admin.html) - -**[springboot实战:我们的第一款开源项目](http://www.ityouknow.com/springboot/2016/09/26/springboot%E5%AE%9E%E6%88%98-%E6%88%91%E4%BB%AC%E7%9A%84%E7%AC%AC%E4%B8%80%E6%AC%BE%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6.html)** - -> 如果大家想了解关于springboot的其它方面应用,也可以以[issues](https://github.com/ityouknow/spring-boot-examples/issues)的形式反馈给我,我后续来完善。 - - -关注公众号:纯洁的微笑,回复"666"进群交流 - -![](http://www.ityouknow.com/assets/images/keeppuresmile.jpg) - diff --git a/1.x/README_EN.md b/1.x/README_EN.md deleted file mode 100644 index 93f67e576..000000000 --- a/1.x/README_EN.md +++ /dev/null @@ -1,33 +0,0 @@ -# Spring Boot Examples - -this is ablout learn Spring Boot Examples - -Demo website:http://www.ityouknow.com/ - -[Spring Cloud example code](https://github.com/ityouknow/spring-cloud-examples) - -[Contribution](https://github.com/ityouknow/spring-boot-examples/issues) |  [中文](README.md) - -Spring Boot Examples, Use the simplest and most useful scene demo. - -- [spring-boot-helloWorld](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-helloWorld):Spring Boot helloWorld -- [spring-boot-mybaits-annotation](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-annotation):Spring Boot use mybatis annotation -- [spring-boot-mybaits-xml](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-xml):Spring Boot use mybatis xml -- [spring-boot-mybatis-mulidatasource](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-mulidatasource):Spring Boot+mybatis+mulidatasource -- [spring-boot-mybatis-annotation-mulidatasource](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mybatis-annotation-mulidatasource):Spring Boot+ mybatis annotation + mulidatasource -- [spring-boot-thymeleaf](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-thymeleaf):simple spring boot thymeleaf demo -- [spring-boot-jpa-thymeleaf-curd](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-jpa-thymeleaf-curd):spring boot + jpa + thymeleaf curd demo -- [spring-boot-rabbitmq](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-rabbitmq): using AMQP and RabbitMQ -- [spring-boot-scheduler](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-scheduler):Timed tasks developed using Spring Boot -- [spring-boot-web](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-web):Web projects developed using Spring Boot -- [spring-boot-mail](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mail):Mail system developed using Spring Boot -- [spring-boot-mongodb](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-mongodb):Spring Boot + Mongodb -- [spring-boot-multi-mongodb](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-multi-mongodb):Spring Boot + multiMongodb -- [spring-boot-package-war](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-package-war):Spring Boot package war -- [spring-boot-shiro](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-shiro):spring boot shiro rbac demo -- [spring-boot-file-upload](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-file-upload):Spring Boot upload file demo -- [spring-boot-fastDFS](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-fastDFS):Spring Boot Integrate FastDFS upload delete and so on -- [spring-boot-actuator](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-actuator):Spring Boot Actuator demo -- [spring-boot-admin-simple](https://github.com/ityouknow/spring-boot-examples/tree/master/1.x/spring-boot-admin-simple):Spring Boot Admin demo - -**[Favorites-web](https://github.com/cloudfavorites/favorites-web):Open source projects developed using Spring Boot** diff --git a/1.x/spring-boot-actuator/pom.xml b/1.x/spring-boot-actuator/pom.xml deleted file mode 100644 index 8a4a33acb..000000000 --- a/1.x/spring-boot-actuator/pom.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-actuator - 1.0.0-SNAPSHOT - jar - - spring-boot-actuator - Demo project for Spring Boot - - - org.springframework.boot - spring-boot-starter-parent - 1.5.9.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - diff --git a/1.x/spring-boot-actuator/src/main/java/com/neo/ActuatorApplication.java b/1.x/spring-boot-actuator/src/main/java/com/neo/ActuatorApplication.java deleted file mode 100644 index 66b22076b..000000000 --- a/1.x/spring-boot-actuator/src/main/java/com/neo/ActuatorApplication.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class ActuatorApplication { - - public static void main(String[] args) { - SpringApplication.run(ActuatorApplication.class, args); - } -} diff --git a/1.x/spring-boot-actuator/src/main/java/com/neo/controller/HelloController.java b/1.x/spring-boot-actuator/src/main/java/com/neo/controller/HelloController.java deleted file mode 100644 index 5e93f0dda..000000000 --- a/1.x/spring-boot-actuator/src/main/java/com/neo/controller/HelloController.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class HelloController { - - @RequestMapping("/hello") - public String index() { - return "Hello World"; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-actuator/src/main/resources/application.yml b/1.x/spring-boot-actuator/src/main/resources/application.yml deleted file mode 100644 index 8130c2882..000000000 --- a/1.x/spring-boot-actuator/src/main/resources/application.yml +++ /dev/null @@ -1,15 +0,0 @@ -server: - port: 8080 -management: - security: - enabled: false #关掉安全认证 - port: 8088 #管理端口调整成8088 - context-path: /monitor #actuator的访问路径 -endpoints: - shutdown: - enabled: true - -info: - app: - name: spring-boot-actuator - version: 1.0.0 \ No newline at end of file diff --git a/1.x/spring-boot-actuator/src/test/java/com/neo/ActuatorApplicationTests.java b/1.x/spring-boot-actuator/src/test/java/com/neo/ActuatorApplicationTests.java deleted file mode 100644 index e122032a2..000000000 --- a/1.x/spring-boot-actuator/src/test/java/com/neo/ActuatorApplicationTests.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ActuatorApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello word"); - } - -} diff --git a/1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloTests.java b/1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloTests.java deleted file mode 100644 index 149543930..000000000 --- a/1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloTests.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.neo.controller; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -import static org.hamcrest.Matchers.equalTo; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class HelloTests { - - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().string(equalTo("Hello World"))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloWorldControlerTests.java b/1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloWorldControlerTests.java deleted file mode 100644 index d8b01a50d..000000000 --- a/1.x/spring-boot-actuator/src/test/java/com/neo/controller/HelloWorldControlerTests.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.neo.controller; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class HelloWorldControlerTests { - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andDo(MockMvcResultHandlers.print()) - .andReturn(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-admin-simple/pom.xml b/1.x/spring-boot-admin-simple/pom.xml deleted file mode 100644 index 4b30a06c6..000000000 --- a/1.x/spring-boot-admin-simple/pom.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - 4.0.0 - com.neo - spring-boot-admin-simple - 1.0.0.BUILD-SNAPSHOT - - - spring-boot-admin-server - spring-boot-admin-client - - - pom - Spring boot admin - Demo project for Spring Boot - - - org.springframework.boot - spring-boot-starter-parent - 1.5.9.RELEASE - - - - - UTF-8 - UTF-8 - 1.8 - Edgware.SR1 - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - - - \ No newline at end of file diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-client/pom.xml b/1.x/spring-boot-admin-simple/spring-boot-admin-client/pom.xml deleted file mode 100644 index 2d9c40c5e..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-client/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-admin-simple - 1.0.0.BUILD-SNAPSHOT - - spring-boot-admin-client - jar - - - - de.codecentric - spring-boot-admin-starter-client - 1.5.6 - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/java/com/neo/AdminClientApplication.java b/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/java/com/neo/AdminClientApplication.java deleted file mode 100644 index 9494e5efe..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/java/com/neo/AdminClientApplication.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class AdminClientApplication { - - public static void main(String[] args) { - SpringApplication.run(AdminClientApplication.class, args); - } -} diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/resources/application.properties b/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/resources/application.properties deleted file mode 100644 index d21264ef4..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/main/resources/application.properties +++ /dev/null @@ -1,4 +0,0 @@ -server.port=8001 - -spring.boot.admin.url=http://localhost:8000 -management.security.enabled=false diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/test/java/com/neo/AdminClientApplicationTests.java b/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/test/java/com/neo/AdminClientApplicationTests.java deleted file mode 100644 index ad4141adf..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-client/src/test/java/com/neo/AdminClientApplicationTests.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class AdminClientApplicationTests { - - @Test - public void contextLoads() { - } - -} diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-server/pom.xml b/1.x/spring-boot-admin-simple/spring-boot-admin-server/pom.xml deleted file mode 100644 index 2f108def4..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-server/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-admin-simple - 1.0.0.BUILD-SNAPSHOT - - spring-boot-admin-server - jar - - - - de.codecentric - spring-boot-admin-server - 1.5.6 - - - de.codecentric - spring-boot-admin-server-ui - 1.5.6 - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/java/com/neo/AdminServerApplication.java b/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/java/com/neo/AdminServerApplication.java deleted file mode 100644 index 3e70e56f7..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/java/com/neo/AdminServerApplication.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo; - -import de.codecentric.boot.admin.config.EnableAdminServer; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.context.annotation.Configuration; - -@Configuration -@EnableAutoConfiguration -@EnableAdminServer -public class AdminServerApplication { - - public static void main(String[] args) { - SpringApplication.run(AdminServerApplication.class, args); - } -} diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/resources/application.properties b/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/resources/application.properties deleted file mode 100644 index 4e7c8e915..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/main/resources/application.properties +++ /dev/null @@ -1,2 +0,0 @@ -server.port=8000 - diff --git a/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/test/java/com/neo/AdminServerApplicationTests.java b/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/test/java/com/neo/AdminServerApplicationTests.java deleted file mode 100644 index 6179c4d40..000000000 --- a/1.x/spring-boot-admin-simple/spring-boot-admin-server/src/test/java/com/neo/AdminServerApplicationTests.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class AdminServerApplicationTests { - - @Test - public void contextLoads() { - } - -} diff --git a/1.x/spring-boot-fastDFS/pom.xml b/1.x/spring-boot-fastDFS/pom.xml deleted file mode 100644 index 62edac481..000000000 --- a/1.x/spring-boot-fastDFS/pom.xml +++ /dev/null @@ -1,52 +0,0 @@ - - 4.0.0 - - com.neo - spring-boot-fastDFS - jar - 1.0 - - - org.springframework.boot - spring-boot-starter-parent - 1.5.9.RELEASE - - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.springframework.boot - spring-boot-devtools - true - - - org.csource - fastdfs-client-java - 1.27-SNAPSHOT - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/1.x/spring-boot-fastDFS/src/main/java/com/neo/FastDFSApplication.java b/1.x/spring-boot-fastDFS/src/main/java/com/neo/FastDFSApplication.java deleted file mode 100644 index fe952ac08..000000000 --- a/1.x/spring-boot-fastDFS/src/main/java/com/neo/FastDFSApplication.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.neo; - -import org.apache.coyote.http11.AbstractHttp11Protocol; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.context.embedded.tomcat.TomcatConnectorCustomizer; -import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; -import org.springframework.context.annotation.Bean; - -@SpringBootApplication -public class FastDFSApplication { - - public static void main(String[] args) throws Exception { - SpringApplication.run(FastDFSApplication.class, args); - } - - //Tomcat large file upload connection reset - @Bean - public TomcatEmbeddedServletContainerFactory tomcatEmbedded() { - TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); - tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> { - if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol)) { - //-1 means unlimited - ((AbstractHttp11Protocol) connector.getProtocolHandler()).setMaxSwallowSize(-1); - } - }); - return tomcat; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/GlobalExceptionHandler.java b/1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/GlobalExceptionHandler.java deleted file mode 100644 index fd6e17c23..000000000 --- a/1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/GlobalExceptionHandler.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.neo.controller; - -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.multipart.MultipartException; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -@ControllerAdvice -public class GlobalExceptionHandler { - - //https://jira.spring.io/browse/SPR-14651 - //4.3.5 supports RedirectAttributes redirectAttributes - @ExceptionHandler(MultipartException.class) - public String handleError1(MultipartException e, RedirectAttributes redirectAttributes) { - - redirectAttributes.addFlashAttribute("message", e.getCause().getMessage()); - return "redirect:/uploadStatus"; - - } -} diff --git a/1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/UploadController.java b/1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/UploadController.java deleted file mode 100644 index 4dd3bf286..000000000 --- a/1.x/spring-boot-fastDFS/src/main/java/com/neo/controller/UploadController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.neo.controller; - -import com.neo.fastdfs.FastDFSClient; -import com.neo.fastdfs.FastDFSFile; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -import java.io.IOException; -import java.io.InputStream; - -@Controller -public class UploadController { - private static Logger logger = LoggerFactory.getLogger(UploadController.class); - - @GetMapping("/") - public String index() { - return "upload"; - } - - @PostMapping("/upload") //new annotation since 4.3 - public String singleFileUpload(@RequestParam("file") MultipartFile file, - RedirectAttributes redirectAttributes) { - if (file.isEmpty()) { - redirectAttributes.addFlashAttribute("message", "Please select a file to upload"); - return "redirect:uploadStatus"; - } - try { - // Get the file and save it somewhere - String path=saveFile(file); - redirectAttributes.addFlashAttribute("message", - "You successfully uploaded '" + file.getOriginalFilename() + "'"); - redirectAttributes.addFlashAttribute("path", - "file path url '" + path + "'"); - } catch (Exception e) { - logger.error("upload file failed",e); - } - return "redirect:/uploadStatus"; - } - - @GetMapping("/uploadStatus") - public String uploadStatus() { - return "uploadStatus"; - } - - /** - * @param multipartFile - * @return - * @throws IOException - */ - public String saveFile(MultipartFile multipartFile) throws IOException { - String[] fileAbsolutePath={}; - String fileName=multipartFile.getOriginalFilename(); - String ext = fileName.substring(fileName.lastIndexOf(".") + 1); - byte[] file_buff = null; - InputStream inputStream=multipartFile.getInputStream(); - if(inputStream!=null){ - int len1 = inputStream.available(); - file_buff = new byte[len1]; - inputStream.read(file_buff); - } - inputStream.close(); - FastDFSFile file = new FastDFSFile(fileName, file_buff, ext); - try { - fileAbsolutePath = FastDFSClient.upload(file); //upload to fastdfs - } catch (Exception e) { - logger.error("upload file Exception!",e); - } - if (fileAbsolutePath==null) { - logger.error("upload file failed,please upload again!"); - } - String path=FastDFSClient.getTrackerUrl()+fileAbsolutePath[0]+ "/"+fileAbsolutePath[1]; - return path; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSClient.java b/1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSClient.java deleted file mode 100644 index ce9555029..000000000 --- a/1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSClient.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.neo.fastdfs; - -import org.csource.common.NameValuePair; -import org.csource.fastdfs.*; -import org.slf4j.LoggerFactory; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; - -import java.io.*; - -public class FastDFSClient { - private static org.slf4j.Logger logger = LoggerFactory.getLogger(FastDFSClient.class); - private static TrackerClient trackerClient; - private static TrackerServer trackerServer; - private static StorageClient storageClient; - private static StorageServer storageServer; - - static { - try { - String filePath = new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();; - ClientGlobal.init(filePath); - trackerClient = new TrackerClient(); - trackerServer = trackerClient.getConnection(); - storageServer = trackerClient.getStoreStorage(trackerServer); - } catch (Exception e) { - logger.error("FastDFS Client Init Fail!",e); - } - } - - public static String[] upload(FastDFSFile file) { - logger.info("File Name: " + file.getName() + "File Length:" + file.getContent().length); - - NameValuePair[] meta_list = new NameValuePair[1]; - meta_list[0] = new NameValuePair("author", file.getAuthor()); - - long startTime = System.currentTimeMillis(); - String[] uploadResults = null; - try { - storageClient = new StorageClient(trackerServer, storageServer); - uploadResults = storageClient.upload_file(file.getContent(), file.getExt(), meta_list); - } catch (IOException e) { - logger.error("IO Exception when uploadind the file:" + file.getName(), e); - } catch (Exception e) { - logger.error("Non IO Exception when uploadind the file:" + file.getName(), e); - } - logger.info("upload_file time used:" + (System.currentTimeMillis() - startTime) + " ms"); - - if (uploadResults == null) { - logger.error("upload file fail, error code:" + storageClient.getErrorCode()); - } - String groupName = uploadResults[0]; - String remoteFileName = uploadResults[1]; - - logger.info("upload file successfully!!!" + "group_name:" + groupName + ", remoteFileName:" + " " + remoteFileName); - return uploadResults; - } - - public static FileInfo getFile(String groupName, String remoteFileName) { - try { - storageClient = new StorageClient(trackerServer, storageServer); - return storageClient.get_file_info(groupName, remoteFileName); - } catch (IOException e) { - logger.error("IO Exception: Get File from Fast DFS failed", e); - } catch (Exception e) { - logger.error("Non IO Exception: Get File from Fast DFS failed", e); - } - return null; - } - - public static InputStream downFile(String groupName, String remoteFileName) { - try { - storageClient = new StorageClient(trackerServer, storageServer); - byte[] fileByte = storageClient.download_file(groupName, remoteFileName); - InputStream ins = new ByteArrayInputStream(fileByte); - return ins; - } catch (IOException e) { - logger.error("IO Exception: Get File from Fast DFS failed", e); - } catch (Exception e) { - logger.error("Non IO Exception: Get File from Fast DFS failed", e); - } - return null; - } - - public static void deleteFile(String groupName, String remoteFileName) - throws Exception { - storageClient = new StorageClient(trackerServer, storageServer); - int i = storageClient.delete_file(groupName, remoteFileName); - logger.info("delete file successfully!!!" + i); - } - - public static StorageServer[] getStoreStorages(String groupName) - throws IOException { - return trackerClient.getStoreStorages(trackerServer, groupName); - } - - public static ServerInfo[] getFetchStorages(String groupName, - String remoteFileName) throws IOException { - return trackerClient.getFetchStorages(trackerServer, groupName, remoteFileName); - } - - public static String getTrackerUrl() { - return "http://"+trackerServer.getInetSocketAddress().getHostString()+":"+ClientGlobal.getG_tracker_http_port()+"/"; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSFile.java b/1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSFile.java deleted file mode 100644 index adee175bc..000000000 --- a/1.x/spring-boot-fastDFS/src/main/java/com/neo/fastdfs/FastDFSFile.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.neo.fastdfs; - -public class FastDFSFile { - private String name; - - private byte[] content; - - private String ext; - - private String md5; - - private String author; - - public FastDFSFile(String name, byte[] content, String ext, String height, - String width, String author) { - super(); - this.name = name; - this.content = content; - this.ext = ext; - this.author = author; - } - - public FastDFSFile(String name, byte[] content, String ext) { - super(); - this.name = name; - this.content = content; - this.ext = ext; - - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public byte[] getContent() { - return content; - } - - public void setContent(byte[] content) { - this.content = content; - } - - public String getExt() { - return ext; - } - - public void setExt(String ext) { - this.ext = ext; - } - - public String getMd5() { - return md5; - } - - public void setMd5(String md5) { - this.md5 = md5; - } - - public String getAuthor() { - return author; - } - - public void setAuthor(String author) { - this.author = author; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-fastDFS/src/main/resources/application.properties b/1.x/spring-boot-fastDFS/src/main/resources/application.properties deleted file mode 100644 index 45f583379..000000000 --- a/1.x/spring-boot-fastDFS/src/main/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -#http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties -#search multipart -spring.http.multipart.max-file-size=10MB -spring.http.multipart.max-request-size=10MB - diff --git a/1.x/spring-boot-fastDFS/src/main/resources/fdfs_client.conf b/1.x/spring-boot-fastDFS/src/main/resources/fdfs_client.conf deleted file mode 100644 index 95cb59cc7..000000000 --- a/1.x/spring-boot-fastDFS/src/main/resources/fdfs_client.conf +++ /dev/null @@ -1,9 +0,0 @@ -connect_timeout = 60 -network_timeout = 60 -charset = UTF-8 -http.tracker_http_port = 8080 -http.anti_steal_token = no -http.secret_key = 123456 - -tracker_server = 192.168.53.85:22122 -tracker_server = 192.168.53.86:22122 diff --git a/1.x/spring-boot-fastDFS/src/main/resources/logback.xml b/1.x/spring-boot-fastDFS/src/main/resources/logback.xml deleted file mode 100644 index 0c0f833bc..000000000 --- a/1.x/spring-boot-fastDFS/src/main/resources/logback.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/1.x/spring-boot-fastDFS/src/main/resources/templates/upload.html b/1.x/spring-boot-fastDFS/src/main/resources/templates/upload.html deleted file mode 100644 index 2e93a58dd..000000000 --- a/1.x/spring-boot-fastDFS/src/main/resources/templates/upload.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Spring Boot file upload example

- -
-

- -
- - - diff --git a/1.x/spring-boot-fastDFS/src/main/resources/templates/uploadStatus.html b/1.x/spring-boot-fastDFS/src/main/resources/templates/uploadStatus.html deleted file mode 100644 index bcdab68f3..000000000 --- a/1.x/spring-boot-fastDFS/src/main/resources/templates/uploadStatus.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - -

Spring Boot - Upload Status

- -
-

-

- -
-

-

- - - \ No newline at end of file diff --git a/1.x/spring-boot-file-upload/pom.xml b/1.x/spring-boot-file-upload/pom.xml deleted file mode 100644 index 731cfa08c..000000000 --- a/1.x/spring-boot-file-upload/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.neo - spring-boot-file-upload - jar - 1.0 - - - org.springframework.boot - spring-boot-starter-parent - 1.5.9.RELEASE - - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/1.x/spring-boot-file-upload/src/main/java/com/neo/FileUploadWebApplication.java b/1.x/spring-boot-file-upload/src/main/java/com/neo/FileUploadWebApplication.java deleted file mode 100644 index 6e355e38d..000000000 --- a/1.x/spring-boot-file-upload/src/main/java/com/neo/FileUploadWebApplication.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.neo; - -import org.apache.coyote.http11.AbstractHttp11Protocol; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.context.embedded.tomcat.TomcatConnectorCustomizer; -import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; -import org.springframework.context.annotation.Bean; - -@SpringBootApplication -public class FileUploadWebApplication { - - public static void main(String[] args) throws Exception { - SpringApplication.run(FileUploadWebApplication.class, args); - } - - //Tomcat large file upload connection reset - @Bean - public TomcatEmbeddedServletContainerFactory tomcatEmbedded() { - TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); - tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> { - if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol)) { - //-1 means unlimited - ((AbstractHttp11Protocol) connector.getProtocolHandler()).setMaxSwallowSize(-1); - } - }); - return tomcat; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-file-upload/src/main/java/com/neo/controller/GlobalExceptionHandler.java b/1.x/spring-boot-file-upload/src/main/java/com/neo/controller/GlobalExceptionHandler.java deleted file mode 100644 index 8f5caf6cc..000000000 --- a/1.x/spring-boot-file-upload/src/main/java/com/neo/controller/GlobalExceptionHandler.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.neo.controller; - -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.multipart.MultipartException; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -@ControllerAdvice -public class GlobalExceptionHandler { - - //https://jira.spring.io/browse/SPR-14651 - //4.3.5 supports RedirectAttributes redirectAttributes - @ExceptionHandler(MultipartException.class) - public String handleError1(MultipartException e, RedirectAttributes redirectAttributes) { - redirectAttributes.addFlashAttribute("message", e.getCause().getMessage()); - return "redirect:/uploadStatus"; - } -} diff --git a/1.x/spring-boot-file-upload/src/main/java/com/neo/controller/UploadController.java b/1.x/spring-boot-file-upload/src/main/java/com/neo/controller/UploadController.java deleted file mode 100644 index 13d3ab467..000000000 --- a/1.x/spring-boot-file-upload/src/main/java/com/neo/controller/UploadController.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.neo.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; - -@Controller -public class UploadController { - //Save the uploaded file to this folder - private static String UPLOADED_FOLDER = "E://temp//"; - - @GetMapping("/") - public String index() { - return "upload"; - } - - @PostMapping("/upload") // //new annotation since 4.3 - public String singleFileUpload(@RequestParam("file") MultipartFile file, - RedirectAttributes redirectAttributes) { - if (file.isEmpty()) { - redirectAttributes.addFlashAttribute("message", "Please select a file to upload"); - return "redirect:uploadStatus"; - } - - try { - // Get the file and save it somewhere - byte[] bytes = file.getBytes(); - Path path = Paths.get(UPLOADED_FOLDER + file.getOriginalFilename()); - Files.write(path, bytes); - - redirectAttributes.addFlashAttribute("message", - "You successfully uploaded '" + file.getOriginalFilename() + "'"); - - } catch (IOException e) { - e.printStackTrace(); - } - - return "redirect:/uploadStatus"; - } - - @GetMapping("/uploadStatus") - public String uploadStatus() { - return "uploadStatus"; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-file-upload/src/main/resources/application.properties b/1.x/spring-boot-file-upload/src/main/resources/application.properties deleted file mode 100644 index 8ec671da4..000000000 --- a/1.x/spring-boot-file-upload/src/main/resources/application.properties +++ /dev/null @@ -1,11 +0,0 @@ -#http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties -#search multipart -spring.http.multipart.max-file-size=10MB -spring.http.multipart.max-request-size=10MB - -#spring.http.multipart.enabled=true #\u9ED8\u8BA4\u652F\u6301\u6587\u4EF6\u4E0A\u4F20. -#spring.http.multipart.file-size-threshold=0 #\u652F\u6301\u6587\u4EF6\u5199\u5165\u78C1\u76D8. -#spring.http.multipart.location= # \u4E0A\u4F20\u6587\u4EF6\u7684\u4E34\u65F6\u76EE\u5F55 -#spring.http.multipart.max-file-size=1Mb # \u6700\u5927\u652F\u6301\u6587\u4EF6\u5927\u5C0F -#spring.http.multipart.max-request-size=10Mb # \u6700\u5927\u652F\u6301\u8BF7\u6C42\u5927\u5C0F - diff --git a/1.x/spring-boot-file-upload/src/main/resources/logback.xml b/1.x/spring-boot-file-upload/src/main/resources/logback.xml deleted file mode 100644 index 0c0f833bc..000000000 --- a/1.x/spring-boot-file-upload/src/main/resources/logback.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/1.x/spring-boot-file-upload/src/main/resources/templates/from_file.html b/1.x/spring-boot-file-upload/src/main/resources/templates/from_file.html deleted file mode 100644 index 3f95f35e1..000000000 --- a/1.x/spring-boot-file-upload/src/main/resources/templates/from_file.html +++ /dev/null @@ -1,51 +0,0 @@ -
-
-
- Ӹ -
-
- - 0%
- -
- -
-
-
- - - \ No newline at end of file diff --git a/1.x/spring-boot-file-upload/src/main/resources/templates/upload.html b/1.x/spring-boot-file-upload/src/main/resources/templates/upload.html deleted file mode 100644 index 2e93a58dd..000000000 --- a/1.x/spring-boot-file-upload/src/main/resources/templates/upload.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Spring Boot file upload example

- -
-

- -
- - - diff --git a/1.x/spring-boot-file-upload/src/main/resources/templates/uploadStatus.html b/1.x/spring-boot-file-upload/src/main/resources/templates/uploadStatus.html deleted file mode 100644 index 71fb76d3c..000000000 --- a/1.x/spring-boot-file-upload/src/main/resources/templates/uploadStatus.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -

Spring Boot - Upload Status

- -
-

-

- - - \ No newline at end of file diff --git a/1.x/spring-boot-helloWorld/pom.xml b/1.x/spring-boot-helloWorld/pom.xml deleted file mode 100644 index c8280ef2e..000000000 --- a/1.x/spring-boot-helloWorld/pom.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-helloworld - 0.0.1-SNAPSHOT - jar - - spring-boot-helloworld - Demo project for Spring Boot - - - org.springframework.boot - spring-boot-starter-parent - 1.5.6.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-helloWorld/src/main/java/com/neo/Application.java b/1.x/spring-boot-helloWorld/src/main/java/com/neo/Application.java deleted file mode 100644 index 6cda50c81..000000000 --- a/1.x/spring-boot-helloWorld/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-helloWorld/src/main/java/com/neo/controller/HelloWorldController.java b/1.x/spring-boot-helloWorld/src/main/java/com/neo/controller/HelloWorldController.java deleted file mode 100644 index 7d0256b4a..000000000 --- a/1.x/spring-boot-helloWorld/src/main/java/com/neo/controller/HelloWorldController.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class HelloWorldController { - - @RequestMapping("/hello") - public String index() { - return "Hello World"; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-helloWorld/src/main/resources/application.properties b/1.x/spring-boot-helloWorld/src/main/resources/application.properties deleted file mode 100644 index e69de29bb..000000000 diff --git a/1.x/spring-boot-helloWorld/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-helloWorld/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 1faf3f2e7..000000000 --- a/1.x/spring-boot-helloWorld/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello word"); - } - -} diff --git a/1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloTests.java b/1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloTests.java deleted file mode 100644 index d42211135..000000000 --- a/1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloTests.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.neo.controller; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -import static org.hamcrest.Matchers.equalTo; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class HelloTests { - - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().string(equalTo("Hello World"))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloWorldControlerTests.java b/1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloWorldControlerTests.java deleted file mode 100644 index 7abaf5818..000000000 --- a/1.x/spring-boot-helloWorld/src/test/java/com/neo/controller/HelloWorldControlerTests.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.neo.controller; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class HelloWorldControlerTests { - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andDo(MockMvcResultHandlers.print()) - .andReturn(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/pom.xml b/1.x/spring-boot-jpa-thymeleaf-curd/pom.xml deleted file mode 100644 index caa8ecc56..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/pom.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - 4.0.0 - spring-boot-jpa-thymeleaf-curd - spring-boot-jpa-thymeleaf-curd - spring-boot-jpa-thymeleaf-curd - - org.springframework.boot - spring-boot-starter-parent - 1.5.6.RELEASE - - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.springframework.boot - spring-boot-starter-data-jpa - - - mysql - mysql-connector-java - - - org.springframework.boot - spring-boot-devtools - true - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - \ No newline at end of file diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/JpaThymeleafApplication.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/JpaThymeleafApplication.java deleted file mode 100644 index 92f4c0aec..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/JpaThymeleafApplication.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.web.support.SpringBootServletInitializer; - - -@SpringBootApplication -public class JpaThymeleafApplication extends SpringBootServletInitializer { - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(JpaThymeleafApplication.class); - } - - public static void main(String[] args) throws Exception { - SpringApplication.run(JpaThymeleafApplication.class, args); - } -} - diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/entity/User.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/entity/User.java deleted file mode 100644 index a5142227f..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/entity/User.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.neo.entity; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -@Entity -public class User { - @Id - @GeneratedValue - private long id; - @Column(nullable = false, unique = true) - private String userName; - @Column(nullable = false) - private String password; - @Column(nullable = false) - private int age; - - public long getId() { - return id; - } - - public User setId(long id) { - this.id = id; - return this; - } - - public String getUserName() { - return userName; - } - - public User setUserName(String userName) { - this.userName = userName; - return this; - } - - public String getPassword() { - return password; - } - - public User setPassword(String password) { - this.password = password; - return this; - } - - public int getAge() { - return age; - } - - public User setAge(int age) { - this.age = age; - return this; - } -} diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/repository/UserRepository.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/repository/UserRepository.java deleted file mode 100644 index 14821f515..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/repository/UserRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.neo.repository; - -import com.neo.entity.User; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface UserRepository extends JpaRepository { - - User findById(long id); - - Long deleteById(Long id); -} \ No newline at end of file diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/UserService.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/UserService.java deleted file mode 100644 index be9becb4e..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/UserService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.neo.service; - -import com.neo.entity.User; - -import java.util.List; - -public interface UserService { - - public List getUserList(); - - public User findUserById(long id); - - public void save(User user); - - public void edit(User user); - - public void delete(long id); - - -} diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/impl/UserServiceImpl.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/impl/UserServiceImpl.java deleted file mode 100644 index 8e66fad24..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.neo.service.impl; - -import com.neo.entity.User; -import com.neo.repository.UserRepository; -import com.neo.service.UserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class UserServiceImpl implements UserService{ - - @Autowired - private UserRepository userRepository; - - @Override - public List getUserList() { - return userRepository.findAll(); - } - - @Override - public User findUserById(long id) { - return userRepository.findById(id); - } - - @Override - public void save(User user) { - userRepository.save(user); - } - - @Override - public void edit(User user) { - userRepository.save(user); - } - - @Override - public void delete(long id) { - userRepository.delete(id); - } -} - - diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/HelloController.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/HelloController.java deleted file mode 100644 index 82136eb19..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/HelloController.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.web; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@Controller -public class HelloController { - - @RequestMapping("/hello") - public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) { - model.addAttribute("name", name); - return "hello"; - } -} diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/UserController.java b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/UserController.java deleted file mode 100644 index 02eef58ae..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/java/com/neo/web/UserController.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.neo.web; - -import com.neo.entity.User; -import com.neo.service.UserService; -import org.springframework.stereotype.Controller; -import org.springframework.stereotype.Service; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import javax.annotation.Resource; -import java.util.List; - -@Controller -public class UserController { - - @Resource - UserService userService; - - - @RequestMapping("/") - public String index() { - return "redirect:/list"; - } - - @RequestMapping("/list") - public String list(Model model) { - List users=userService.getUserList(); - model.addAttribute("users", users); - return "user/list"; - } - - @RequestMapping("/toAdd") - public String toAdd() { - return "user/userAdd"; - } - - @RequestMapping("/add") - public String add(User user) { - userService.save(user); - return "redirect:/list"; - } - - @RequestMapping("/toEdit") - public String toEdit(Model model,Long id) { - User user=userService.findUserById(id); - model.addAttribute("user", user); - return "user/userEdit"; - } - - @RequestMapping("/edit") - public String edit(User user) { - userService.edit(user); - return "redirect:/list"; - } - - - @RequestMapping("/delete") - public String delete(Long id) { - userService.delete(id); - return "redirect:/list"; - } -} diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/application.properties b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/application.properties deleted file mode 100644 index 65ff9c384..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/application.properties +++ /dev/null @@ -1,10 +0,0 @@ -spring.datasource.url=jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=true -spring.datasource.username=root -spring.datasource.password=root -spring.datasource.driver-class-name=com.mysql.jdbc.Driver - -spring.jpa.properties.hibernate.hbm2ddl.auto=update -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect -spring.jpa.show-sql= true - -spring.thymeleaf.cache=false \ No newline at end of file diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/static/css/bootstrap.css b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/static/css/bootstrap.css deleted file mode 100644 index 42c79d6e4..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/static/css/bootstrap.css +++ /dev/null @@ -1,6760 +0,0 @@ -/*! - * Bootstrap v3.3.6 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - margin: .67em 0; - font-size: 2em; -} -mark { - color: #000; - background: #ff0; -} -small { - font-size: 80%; -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sup { - top: -.5em; -} -sub { - bottom: -.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - height: 0; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - margin: 0; - font: inherit; - color: inherit; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - padding: 0; - border: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - padding: .35em .625em .75em; - margin: 0 2px; - border: 1px solid #c0c0c0; -} -legend { - padding: 0; - border: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-spacing: 0; - border-collapse: collapse; -} -td, -th { - padding: 0; -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ -@media print { - *, - *:before, - *:after { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\002a"; -} -.glyphicon-plus:before { - content: "\002b"; -} -.glyphicon-euro:before, -.glyphicon-eur:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -.glyphicon-cd:before { - content: "\e201"; -} -.glyphicon-save-file:before { - content: "\e202"; -} -.glyphicon-open-file:before { - content: "\e203"; -} -.glyphicon-level-up:before { - content: "\e204"; -} -.glyphicon-copy:before { - content: "\e205"; -} -.glyphicon-paste:before { - content: "\e206"; -} -.glyphicon-alert:before { - content: "\e209"; -} -.glyphicon-equalizer:before { - content: "\e210"; -} -.glyphicon-king:before { - content: "\e211"; -} -.glyphicon-queen:before { - content: "\e212"; -} -.glyphicon-pawn:before { - content: "\e213"; -} -.glyphicon-bishop:before { - content: "\e214"; -} -.glyphicon-knight:before { - content: "\e215"; -} -.glyphicon-baby-formula:before { - content: "\e216"; -} -.glyphicon-tent:before { - content: "\26fa"; -} -.glyphicon-blackboard:before { - content: "\e218"; -} -.glyphicon-bed:before { - content: "\e219"; -} -.glyphicon-apple:before { - content: "\f8ff"; -} -.glyphicon-erase:before { - content: "\e221"; -} -.glyphicon-hourglass:before { - content: "\231b"; -} -.glyphicon-lamp:before { - content: "\e223"; -} -.glyphicon-duplicate:before { - content: "\e224"; -} -.glyphicon-piggy-bank:before { - content: "\e225"; -} -.glyphicon-scissors:before { - content: "\e226"; -} -.glyphicon-bitcoin:before { - content: "\e227"; -} -.glyphicon-btc:before { - content: "\e227"; -} -.glyphicon-xbt:before { - content: "\e227"; -} -.glyphicon-yen:before { - content: "\00a5"; -} -.glyphicon-jpy:before { - content: "\00a5"; -} -.glyphicon-ruble:before { - content: "\20bd"; -} -.glyphicon-rub:before { - content: "\20bd"; -} -.glyphicon-scale:before { - content: "\e230"; -} -.glyphicon-ice-lolly:before { - content: "\e231"; -} -.glyphicon-ice-lolly-tasted:before { - content: "\e232"; -} -.glyphicon-education:before { - content: "\e233"; -} -.glyphicon-option-horizontal:before { - content: "\e234"; -} -.glyphicon-option-vertical:before { - content: "\e235"; -} -.glyphicon-menu-hamburger:before { - content: "\e236"; -} -.glyphicon-modal-window:before { - content: "\e237"; -} -.glyphicon-oil:before { - content: "\e238"; -} -.glyphicon-grain:before { - content: "\e239"; -} -.glyphicon-sunglasses:before { - content: "\e240"; -} -.glyphicon-text-size:before { - content: "\e241"; -} -.glyphicon-text-color:before { - content: "\e242"; -} -.glyphicon-text-background:before { - content: "\e243"; -} -.glyphicon-object-align-top:before { - content: "\e244"; -} -.glyphicon-object-align-bottom:before { - content: "\e245"; -} -.glyphicon-object-align-horizontal:before { - content: "\e246"; -} -.glyphicon-object-align-left:before { - content: "\e247"; -} -.glyphicon-object-align-vertical:before { - content: "\e248"; -} -.glyphicon-object-align-right:before { - content: "\e249"; -} -.glyphicon-triangle-right:before { - content: "\e250"; -} -.glyphicon-triangle-left:before { - content: "\e251"; -} -.glyphicon-triangle-bottom:before { - content: "\e252"; -} -.glyphicon-triangle-top:before { - content: "\e253"; -} -.glyphicon-console:before { - content: "\e254"; -} -.glyphicon-superscript:before { - content: "\e255"; -} -.glyphicon-subscript:before { - content: "\e256"; -} -.glyphicon-menu-left:before { - content: "\e257"; -} -.glyphicon-menu-right:before { - content: "\e258"; -} -.glyphicon-menu-down:before { - content: "\e259"; -} -.glyphicon-menu-up:before { - content: "\e260"; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 10px; - - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #337ab7; - text-decoration: none; -} -a:hover, -a:focus { - color: #23527c; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - display: inline-block; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -[role="button"] { - cursor: pointer; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -mark, -.mark { - padding: .2em; - background-color: #fcf8e3; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777; -} -.text-primary { - color: #337ab7; -} -a.text-primary:hover, -a.text-primary:focus { - color: #286090; -} -.text-success { - color: #3c763d; -} -a.text-success:hover, -a.text-success:focus { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover, -a.text-info:focus { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover, -a.text-warning:focus { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover, -a.text-danger:focus { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #337ab7; -} -a.bg-primary:hover, -a.bg-primary:focus { - background-color: #286090; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover, -a.bg-success:focus { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover, -a.bg-info:focus { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover, -a.bg-warning:focus { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover, -a.bg-danger:focus { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - -webkit-box-shadow: none; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -.row { - margin-right: -15px; - margin-left: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0; -} -@media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0; - } -} -@media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0; - } -} -@media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0; - } -} -table { - background-color: transparent; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #ddd; -} -.table .table { - background-color: #fff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-of-type(odd) { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover { - background-color: #f5f5f5; -} -table col[class*="col-"] { - position: static; - display: table-column; - float: none; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - display: table-cell; - float: none; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -.table-responsive { - min-height: .01%; - overflow-x: auto; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); -} -.form-control::-moz-placeholder { - color: #999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999; -} -.form-control::-webkit-input-placeholder { - color: #999; -} -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - background-color: #eee; - opacity: 1; -} -.form-control[disabled], -fieldset[disabled] .form-control { - cursor: not-allowed; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"].form-control, - input[type="time"].form-control, - input[type="datetime-local"].form-control, - input[type="month"].form-control { - line-height: 34px; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm, - .input-group-sm input[type="date"], - .input-group-sm input[type="time"], - .input-group-sm input[type="datetime-local"], - .input-group-sm input[type="month"] { - line-height: 30px; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg, - .input-group-lg input[type="date"], - .input-group-lg input[type="time"], - .input-group-lg input[type="datetime-local"], - .input-group-lg input[type="month"] { - line-height: 46px; - } -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - position: relative; - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - min-height: 34px; - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-right: 0; - padding-left: 0; -} -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.form-group-sm select.form-control { - height: 30px; - line-height: 30px; -} -.form-group-sm textarea.form-control, -.form-group-sm select[multiple].form-control { - height: auto; -} -.form-group-sm .form-control-static { - height: 30px; - min-height: 32px; - padding: 6px 10px; - font-size: 12px; - line-height: 1.5; -} -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -.form-group-lg select.form-control { - height: 46px; - line-height: 46px; -} -.form-group-lg textarea.form-control, -.form-group-lg select[multiple].form-control { - height: auto; -} -.form-group-lg .form-control-static { - height: 46px; - min-height: 38px; - padding: 11px 16px; - font-size: 18px; - line-height: 1.3333333; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - pointer-events: none; -} -.input-lg + .form-control-feedback, -.input-group-lg + .form-control-feedback, -.form-group-lg .form-control + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback, -.input-group-sm + .form-control-feedback, -.form-group-sm .form-control + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #3c763d; -} -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; -} -.has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d; -} -.has-success .form-control-feedback { - color: #3c763d; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #8a6d3b; -} -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; -} -.has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #a94442; -} -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -} -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; -} -.has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442; -} -.has-error .form-control-feedback { - color: #a94442; -} -.has-feedback label ~ .form-control-feedback { - top: 25px; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 7px; - margin-bottom: 0; - text-align: right; - } -} -.form-horizontal .has-feedback .form-control-feedback { - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 11px; - font-size: 18px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - font-size: 12px; - } -} -.btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus, -.btn.focus { - color: #333; - text-decoration: none; -} -.btn:active, -.btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; -} -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} -.btn-default { - color: #333; - background-color: #fff; - border-color: #ccc; -} -.btn-default:focus, -.btn-default.focus { - color: #333; - background-color: #e6e6e6; - border-color: #8c8c8c; -} -.btn-default:hover { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active:hover, -.btn-default.active:hover, -.open > .dropdown-toggle.btn-default:hover, -.btn-default:active:focus, -.btn-default.active:focus, -.open > .dropdown-toggle.btn-default:focus, -.btn-default:active.focus, -.btn-default.active.focus, -.open > .dropdown-toggle.btn-default.focus { - color: #333; - background-color: #d4d4d4; - border-color: #8c8c8c; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus { - background-color: #fff; - border-color: #ccc; -} -.btn-default .badge { - color: #fff; - background-color: #333; -} -.btn-primary { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary:focus, -.btn-primary.focus { - color: #fff; - background-color: #286090; - border-color: #122b40; -} -.btn-primary:hover { - color: #fff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #fff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active:hover, -.btn-primary.active:hover, -.open > .dropdown-toggle.btn-primary:hover, -.btn-primary:active:focus, -.btn-primary.active:focus, -.open > .dropdown-toggle.btn-primary:focus, -.btn-primary:active.focus, -.btn-primary.active.focus, -.open > .dropdown-toggle.btn-primary.focus { - color: #fff; - background-color: #204d74; - border-color: #122b40; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus { - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary .badge { - color: #337ab7; - background-color: #fff; -} -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:focus, -.btn-success.focus { - color: #fff; - background-color: #449d44; - border-color: #255625; -} -.btn-success:hover { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active:hover, -.btn-success.active:hover, -.open > .dropdown-toggle.btn-success:hover, -.btn-success:active:focus, -.btn-success.active:focus, -.open > .dropdown-toggle.btn-success:focus, -.btn-success:active.focus, -.btn-success.active.focus, -.open > .dropdown-toggle.btn-success.focus { - color: #fff; - background-color: #398439; - border-color: #255625; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #fff; -} -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:focus, -.btn-info.focus { - color: #fff; - background-color: #31b0d5; - border-color: #1b6d85; -} -.btn-info:hover { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active:hover, -.btn-info.active:hover, -.open > .dropdown-toggle.btn-info:hover, -.btn-info:active:focus, -.btn-info.active:focus, -.open > .dropdown-toggle.btn-info:focus, -.btn-info:active.focus, -.btn-info.active.focus, -.open > .dropdown-toggle.btn-info.focus { - color: #fff; - background-color: #269abc; - border-color: #1b6d85; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #fff; -} -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:focus, -.btn-warning.focus { - color: #fff; - background-color: #ec971f; - border-color: #985f0d; -} -.btn-warning:hover { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active:hover, -.btn-warning.active:hover, -.open > .dropdown-toggle.btn-warning:hover, -.btn-warning:active:focus, -.btn-warning.active:focus, -.open > .dropdown-toggle.btn-warning:focus, -.btn-warning:active.focus, -.btn-warning.active.focus, -.open > .dropdown-toggle.btn-warning.focus { - color: #fff; - background-color: #d58512; - border-color: #985f0d; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff; -} -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:focus, -.btn-danger.focus { - color: #fff; - background-color: #c9302c; - border-color: #761c19; -} -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active:hover, -.btn-danger.active:hover, -.open > .dropdown-toggle.btn-danger:hover, -.btn-danger:active:focus, -.btn-danger.active:focus, -.open > .dropdown-toggle.btn-danger:focus, -.btn-danger:active.focus, -.btn-danger.active.focus, -.open > .dropdown-toggle.btn-danger.focus { - color: #fff; - background-color: #ac2925; - border-color: #761c19; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} -.btn-link { - font-weight: normal; - color: #337ab7; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link.active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #23527c; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height, visibility; - -o-transition-property: height, visibility; - transition-property: height, visibility; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px dashed; - border-top: 4px solid \9; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropup, -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175); -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: #262626; - text-decoration: none; - background-color: #f5f5f5; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #fff; - text-decoration: none; - background-color: #337ab7; - outline: 0; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - right: 0; - left: auto; -} -.dropdown-menu-left { - right: auto; - left: 0; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px dashed; - border-bottom: 4px solid \9; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } - .navbar-right .dropdown-menu-left { - right: auto; - left: 0; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn, -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-right: 0; - padding-left: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group .form-control:focus { - z-index: 3; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555; - text-align: center; - background-color: #eee; - border: 1px solid #ccc; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - z-index: 2; - margin-left: -1px; -} -.nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eee; -} -.nav > li.disabled > a { - color: #777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eee; - border-color: #337ab7; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #ddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eee #eee #ddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555; - cursor: default; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #fff; - background-color: #337ab7; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #ddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #fff; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - -webkit-overflow-scrolling: touch; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-right: 0; - padding-left: 0; - } -} -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} -.navbar-form { - padding: 10px 15px; - margin-top: 8px; - margin-right: -15px; - margin-bottom: 8px; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - .navbar-form .form-group:last-child { - margin-bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - margin-bottom: 0; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777; -} -.navbar-default .navbar-nav > li > a { - color: #777; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555; - background-color: #e7e7e7; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #ccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #ddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #ddd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - color: #555; - background-color: #e7e7e7; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #ccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777; -} -.navbar-default .navbar-link:hover { - color: #333; -} -.navbar-default .btn-link { - color: #777; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #333; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #ccc; -} -.navbar-inverse { - background-color: #222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #080808; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - color: #fff; - background-color: #080808; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #9d9d9d; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #fff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #fff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #9d9d9d; -} -.navbar-inverse .navbar-link:hover { - color: #fff; -} -.navbar-inverse .btn-link { - color: #9d9d9d; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #fff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0"; -} -.breadcrumb > .active { - color: #777; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #337ab7; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - z-index: 2; - color: #23527c; - background-color: #eee; - border-color: #ddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 3; - color: #fff; - cursor: default; - background-color: #337ab7; - border-color: #337ab7; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777; - cursor: not-allowed; - background-color: #fff; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #337ab7; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #286090; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: middle; - background-color: #777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge, -.btn-group-xs > .btn .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #fff; - text-decoration: none; - cursor: pointer; -} -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #337ab7; - background-color: #fff; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding-top: 30px; - padding-bottom: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eee; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron, -.container-fluid .jumbotron { - padding-right: 15px; - padding-left: 15px; - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron, - .container-fluid .jumbotron { - padding-right: 60px; - padding-left: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: border .2s ease-in-out; - -o-transition: border .2s ease-in-out; - transition: border .2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-right: auto; - margin-left: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #337ab7; -} -.thumbnail .caption { - padding: 9px; - color: #333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); -} -.progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #337ab7; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -} -.media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media, -.media-body { - overflow: hidden; - zoom: 1; -} -.media-body { - width: 10000px; -} -.media-object { - display: block; -} -.media-object.img-thumbnail { - max-width: none; -} -.media-right, -.media > .pull-right { - padding-left: 10px; -} -.media-left, -.media > .pull-left { - padding-right: 10px; -} -.media-left, -.media-right, -.media-body { - display: table-cell; - vertical-align: top; -} -.media-middle { - vertical-align: middle; -} -.media-bottom { - vertical-align: bottom; -} -.media-heading { - margin-top: 0; - margin-bottom: 5px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - padding-left: 0; - margin-bottom: 20px; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid #ddd; -} -.list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -a.list-group-item, -button.list-group-item { - color: #555; -} -a.list-group-item .list-group-item-heading, -button.list-group-item .list-group-item-heading { - color: #333; -} -a.list-group-item:hover, -button.list-group-item:hover, -a.list-group-item:focus, -button.list-group-item:focus { - color: #555; - text-decoration: none; - background-color: #f5f5f5; -} -button.list-group-item { - width: 100%; - text-align: left; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - color: #777; - cursor: not-allowed; - background-color: #eee; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #fff; - background-color: #337ab7; - border-color: #337ab7; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #c7ddef; -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success, -button.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading, -button.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -button.list-group-item-success:hover, -a.list-group-item-success:focus, -button.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -button.list-group-item-success.active, -a.list-group-item-success.active:hover, -button.list-group-item-success.active:hover, -a.list-group-item-success.active:focus, -button.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info, -button.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading, -button.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -button.list-group-item-info:hover, -a.list-group-item-info:focus, -button.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -button.list-group-item-info.active, -a.list-group-item-info.active:hover, -button.list-group-item-info.active:hover, -a.list-group-item-info.active:focus, -button.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning, -button.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading, -button.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -button.list-group-item-warning:hover, -a.list-group-item-warning:focus, -button.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -button.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -button.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus, -button.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger, -button.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading, -button.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -button.list-group-item-danger:hover, -a.list-group-item-danger:focus, -button.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -button.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -button.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus, -button.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05); -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-title > a, -.panel-title > small, -.panel-title > .small, -.panel-title > small > a, -.panel-title > .small > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group, -.panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-right: 15px; - padding-left: 15px; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive, -.panel > .table + .panel-body, -.panel > .table-responsive + .panel-body { - border-top: 1px solid #ddd; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - margin-bottom: 0; - border: 0; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #ddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd; -} -.panel-default { - border-color: #ddd; -} -.panel-default > .panel-heading { - color: #333; - background-color: #f5f5f5; - border-color: #ddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd; -} -.panel-primary { - border-color: #337ab7; -} -.panel-primary > .panel-heading { - color: #fff; - background-color: #337ab7; - border-color: #337ab7; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #337ab7; -} -.panel-primary > .panel-heading .badge { - color: #337ab7; - background-color: #fff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #337ab7; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} -.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2; -} -.close:hover, -.close:focus { - color: #000; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5; -} -button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: transparent; - border: 0; -} -.modal-open { - overflow: hidden; -} -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: -o-transform .3s ease-out; - transition: transform .3s ease-out; - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%); -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - position: relative; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - outline: 0; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); - box-shadow: 0 3px 9px rgba(0, 0, 0, .5); -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} -.modal-backdrop.fade { - filter: alpha(opacity=0); - opacity: 0; -} -.modal-backdrop.in { - filter: alpha(opacity=50); - opacity: .5; -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 15px; -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 12px; - font-style: normal; - font-weight: normal; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - white-space: normal; - filter: alpha(opacity=0); - opacity: 0; - - line-break: auto; -} -.tooltip.in { - filter: alpha(opacity=90); - opacity: .9; -} -.tooltip.top { - padding: 5px 0; - margin-top: -3px; -} -.tooltip.right { - padding: 0 5px; - margin-left: 3px; -} -.tooltip.bottom { - padding: 5px 0; - margin-top: 3px; -} -.tooltip.left { - padding: 0 5px; - margin-left: -3px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-left .tooltip-arrow { - right: 5px; - bottom: 0; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - - line-break: auto; -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover > .arrow, -.popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover > .arrow { - border-width: 11px; -} -.popover > .arrow:after { - content: ""; - border-width: 10px; -} -.popover.top > .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0; -} -.popover.top > .arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-top-color: #fff; - border-bottom-width: 0; -} -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0; -} -.popover.right > .arrow:after { - bottom: -10px; - left: 1px; - content: " "; - border-right-color: #fff; - border-left-width: 0; -} -.popover.bottom > .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25); -} -.popover.bottom > .arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff; -} -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25); -} -.popover.left > .arrow:after { - right: 1px; - bottom: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} -.carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { - .carousel-inner > .item { - -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: -o-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - left: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - background-color: rgba(0, 0, 0, 0); - filter: alpha(opacity=50); - opacity: .5; -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control:hover, -.carousel-control:focus { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9; -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - margin-top: -10px; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - font-family: serif; - line-height: 1; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px; -} -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff; -} -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -10px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -10px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -10px; - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-header:before, -.modal-header:after, -.modal-footer:before, -.modal-footer:after { - display: table; - content: " "; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-header:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-right: auto; - margin-left: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; -} -.affix { - position: fixed; -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table !important; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table !important; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table !important; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table !important; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table !important; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -/*# sourceMappingURL=bootstrap.css.map */ diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/hello.html b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/hello.html deleted file mode 100644 index bd1f7817e..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/hello.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Hello Thymeleaf! - - -

- - \ No newline at end of file diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/list.html b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/list.html deleted file mode 100644 index 4126a3de1..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/list.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - userList - - - -
-

用户列表

-

-
- - - - - - - - - - - - - - - - - - - - - -
#User NamePasswordAgeEditDelete
1neoOtto6editdelete
-
-
-
- add -
-
- - - \ No newline at end of file diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userAdd.html b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userAdd.html deleted file mode 100644 index 0fa93c38a..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userAdd.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - user - - - -
-

添加用户

-

-
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
-
- -       - -
- -
-
-
- - diff --git a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userEdit.html b/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userEdit.html deleted file mode 100644 index b312daa37..000000000 --- a/1.x/spring-boot-jpa-thymeleaf-curd/src/main/resources/templates/user/userEdit.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - user - - - -
-

修改用户

-

-
-
- -
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
-
- -       - Back -
- -
-
-
- - diff --git a/1.x/spring-boot-mail/pom.xml b/1.x/spring-boot-mail/pom.xml deleted file mode 100644 index d22376fce..000000000 --- a/1.x/spring-boot-mail/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-mail - 1.0.0 - jar - - spring-boot-mail - Demo project for Spring Boot and mail - - - org.springframework.boot - spring-boot-starter-parent - 1.5.3.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-mail - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-devtools - true - - - org.springframework - spring-context-support - RELEASE - - - com.sun.mail - javax.mail - RELEASE - - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-mail/src/main/java/com/neo/Application.java b/1.x/spring-boot-mail/src/main/java/com/neo/Application.java deleted file mode 100644 index 7ce4c6423..000000000 --- a/1.x/spring-boot-mail/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-mail/src/main/java/com/neo/service/MailService.java b/1.x/spring-boot-mail/src/main/java/com/neo/service/MailService.java deleted file mode 100644 index a2948541c..000000000 --- a/1.x/spring-boot-mail/src/main/java/com/neo/service/MailService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.service; - -/** - * Created by summer on 2017/5/4. - */ -public interface MailService { - - public void sendSimpleMail(String to, String subject, String content); - - public void sendHtmlMail(String to, String subject, String content); - - public void sendAttachmentsMail(String to, String subject, String content, String filePath); - - public void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId); - -} diff --git a/1.x/spring-boot-mail/src/main/java/com/neo/service/impl/MailServiceImpl.java b/1.x/spring-boot-mail/src/main/java/com/neo/service/impl/MailServiceImpl.java deleted file mode 100644 index 9053e6fb7..000000000 --- a/1.x/spring-boot-mail/src/main/java/com/neo/service/impl/MailServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.neo.service.impl; - -import com.neo.service.MailService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.FileSystemResource; -import org.springframework.mail.SimpleMailMessage; -import org.springframework.mail.javamail.JavaMailSender; -import org.springframework.mail.javamail.MimeMessageHelper; -import org.springframework.stereotype.Component; - -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; -import java.io.File; - -/** - * Created by summer on 2017/5/4. - */ -@Component -public class MailServiceImpl implements MailService{ - - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - private JavaMailSender mailSender; - - @Value("${mail.fromMail.addr}") - private String from; - - /** - * 发送文本邮件 - * @param to - * @param subject - * @param content - */ - @Override - public void sendSimpleMail(String to, String subject, String content) { - SimpleMailMessage message = new SimpleMailMessage(); - message.setFrom(from); - message.setTo(to); - message.setSubject(subject); - message.setText(content); - - try { - mailSender.send(message); - logger.info("简单邮件已经发送。"); - } catch (Exception e) { - logger.error("发送简单邮件时发生异常!", e); - } - - } - - /** - * 发送html邮件 - * @param to - * @param subject - * @param content - */ - @Override - public void sendHtmlMail(String to, String subject, String content) { - MimeMessage message = mailSender.createMimeMessage(); - - try { - //true表示需要创建一个multipart message - MimeMessageHelper helper = new MimeMessageHelper(message, true); - helper.setFrom(from); - helper.setTo(to); - helper.setSubject(subject); - helper.setText(content, true); - - mailSender.send(message); - logger.info("html邮件发送成功"); - } catch (MessagingException e) { - logger.error("发送html邮件时发生异常!", e); - } - } - - - /** - * 发送带附件的邮件 - * @param to - * @param subject - * @param content - * @param filePath - */ - public void sendAttachmentsMail(String to, String subject, String content, String filePath){ - MimeMessage message = mailSender.createMimeMessage(); - - try { - MimeMessageHelper helper = new MimeMessageHelper(message, true); - helper.setFrom(from); - helper.setTo(to); - helper.setSubject(subject); - helper.setText(content, true); - - FileSystemResource file = new FileSystemResource(new File(filePath)); - String fileName = filePath.substring(filePath.lastIndexOf(File.separator)); - helper.addAttachment(fileName, file); - //helper.addAttachment("test"+fileName, file); - - mailSender.send(message); - logger.info("带附件的邮件已经发送。"); - } catch (MessagingException e) { - logger.error("发送带附件的邮件时发生异常!", e); - } - } - - - /** - * 发送正文中有静态资源(图片)的邮件 - * @param to - * @param subject - * @param content - * @param rscPath - * @param rscId - */ - public void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId){ - MimeMessage message = mailSender.createMimeMessage(); - - try { - MimeMessageHelper helper = new MimeMessageHelper(message, true); - helper.setFrom(from); - helper.setTo(to); - helper.setSubject(subject); - helper.setText(content, true); - - FileSystemResource res = new FileSystemResource(new File(rscPath)); - helper.addInline(rscId, res); - - mailSender.send(message); - logger.info("嵌入静态资源的邮件已经发送。"); - } catch (MessagingException e) { - logger.error("发送嵌入静态资源的邮件时发生异常!", e); - } - } -} diff --git a/1.x/spring-boot-mail/src/main/resources/application.properties b/1.x/spring-boot-mail/src/main/resources/application.properties deleted file mode 100644 index dcbb52168..000000000 --- a/1.x/spring-boot-mail/src/main/resources/application.properties +++ /dev/null @@ -1,9 +0,0 @@ -spring.application.name=spirng-boot-mail - -spring.mail.host=smtp.163.com -spring.mail.username=xxoo@xxoo.com -spring.mail.password=xxoo -spring.mail.default-encoding=UTF-8 - -mail.fromMail.addr=xxoo@xxoo.com - diff --git a/1.x/spring-boot-mail/src/main/resources/templates/emailTemplate.html b/1.x/spring-boot-mail/src/main/resources/templates/emailTemplate.html deleted file mode 100644 index 387a4fbcd..000000000 --- a/1.x/spring-boot-mail/src/main/resources/templates/emailTemplate.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Title - - - 您好,这是验证邮件,请点击下面的链接完成验证,
- 激活账号 - - \ No newline at end of file diff --git a/1.x/spring-boot-mail/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-mail/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-mail/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-mail/src/test/java/com/neo/service/MailServiceTest.java b/1.x/spring-boot-mail/src/test/java/com/neo/service/MailServiceTest.java deleted file mode 100644 index 91c4bbfd2..000000000 --- a/1.x/spring-boot-mail/src/test/java/com/neo/service/MailServiceTest.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.neo.service; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; -import org.thymeleaf.TemplateEngine; -import org.thymeleaf.context.Context; - -/** - * Created by summer on 2017/5/4. - */ -@RunWith(SpringRunner.class) -@SpringBootTest -public class MailServiceTest { - - @Autowired - private MailService mailService; - - @Autowired - private TemplateEngine templateEngine; - - @Test - public void testSimpleMail() throws Exception { - mailService.sendSimpleMail("ityouknow@126.com","test simple mail"," hello this is simple mail"); - } - - @Test - public void testHtmlMail() throws Exception { - String content="\n" + - "\n" + - "

hello world ! 这是一封html邮件!

\n" + - "\n" + - ""; - mailService.sendHtmlMail("ityouknow@126.com","test simple mail",content); - } - - @Test - public void sendAttachmentsMail() { - String filePath="e:\\tmp\\application.log"; - mailService.sendAttachmentsMail("ityouknow@126.com", "主题:带附件的邮件", "有附件,请查收!", filePath); - } - - - @Test - public void sendInlineResourceMail() { - String rscId = "neo006"; - String content="这是有图片的邮件:"; - String imgPath = "C:\\Users\\summer\\Pictures\\favicon.png"; - - mailService.sendInlineResourceMail("ityouknow@126.com", "主题:这是有图片的邮件", content, imgPath, rscId); - } - - - @Test - public void sendTemplateMail() { - //创建邮件正文 - Context context = new Context(); - context.setVariable("id", "006"); - String emailContent = templateEngine.process("emailTemplate", context); - - mailService.sendHtmlMail("ityouknow@126.com","主题:这是模板邮件",emailContent); - } -} diff --git a/1.x/spring-boot-mongodb/pom.xml b/1.x/spring-boot-mongodb/pom.xml deleted file mode 100644 index 3ab5ad8f9..000000000 --- a/1.x/spring-boot-mongodb/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-mongodb - 1.0.0 - jar - - spring-boot-mongodb - Demo project for Spring Boot and mongodb - - - org.springframework.boot - spring-boot-starter-parent - 1.5.3.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-devtools - true - - - org.springframework.boot - spring-boot-starter-data-mongodb - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-mongodb/src/main/java/com/neo/Application.java b/1.x/spring-boot-mongodb/src/main/java/com/neo/Application.java deleted file mode 100644 index 7ce4c6423..000000000 --- a/1.x/spring-boot-mongodb/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-mongodb/src/main/java/com/neo/dao/UserDao.java b/1.x/spring-boot-mongodb/src/main/java/com/neo/dao/UserDao.java deleted file mode 100644 index ba5b8c803..000000000 --- a/1.x/spring-boot-mongodb/src/main/java/com/neo/dao/UserDao.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.neo.dao; - -import com.neo.entity.UserEntity; - -/** - * Created by summer on 2017/5/5. - */ -public interface UserDao { - - public void saveUser(UserEntity user); - - public UserEntity findUserByUserName(String userName); - - public int updateUser(UserEntity user); - - public void deleteUserById(Long id); - -} diff --git a/1.x/spring-boot-mongodb/src/main/java/com/neo/dao/impl/UserDaoImpl.java b/1.x/spring-boot-mongodb/src/main/java/com/neo/dao/impl/UserDaoImpl.java deleted file mode 100644 index e6d8a8f69..000000000 --- a/1.x/spring-boot-mongodb/src/main/java/com/neo/dao/impl/UserDaoImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.neo.dao.impl; - -import com.mongodb.WriteResult; -import com.neo.dao.UserDao; -import com.neo.entity.UserEntity; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.security.SecurityProperties; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.Query; -import org.springframework.data.mongodb.core.query.Update; -import org.springframework.stereotype.Component; - -/** - * Created by summer on 2017/5/5. - */ -@Component -public class UserDaoImpl implements UserDao { - - @Autowired - private MongoTemplate mongoTemplate; - - /** - * 创建对象 - * @param user - */ - @Override - public void saveUser(UserEntity user) { - mongoTemplate.save(user); - } - - /** - * 根据用户名查询对象 - * @param userName - * @return - */ - @Override - public UserEntity findUserByUserName(String userName) { - Query query=new Query(Criteria.where("userName").is(userName)); - UserEntity user = mongoTemplate.findOne(query , UserEntity.class); - return user; - } - - /** - * 更新对象 - * @param user - */ - @Override - public int updateUser(UserEntity user) { - Query query=new Query(Criteria.where("id").is(user.getId())); - Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord()); - //更新查询返回结果集的第一条 - WriteResult result =mongoTemplate.updateFirst(query,update,UserEntity.class); - //更新查询返回结果集的所有 - // mongoTemplate.updateMulti(query,update,UserEntity.class); - if(result!=null) - return result.getN(); - else - return 0; - } - - /** - * 删除对象 - * @param id - */ - @Override - public void deleteUserById(Long id) { - Query query=new Query(Criteria.where("id").is(id)); - mongoTemplate.remove(query,UserEntity.class); - } -} diff --git a/1.x/spring-boot-mongodb/src/main/java/com/neo/entity/UserEntity.java b/1.x/spring-boot-mongodb/src/main/java/com/neo/entity/UserEntity.java deleted file mode 100644 index 20ff74bb5..000000000 --- a/1.x/spring-boot-mongodb/src/main/java/com/neo/entity/UserEntity.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.neo.entity; - -import java.io.Serializable; - -/** - * Created by summer on 2017/5/5. - */ -public class UserEntity implements Serializable { - private static final long serialVersionUID = -3258839839160856613L; - private Long id; - private String userName; - private String passWord; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassWord() { - return passWord; - } - - public void setPassWord(String passWord) { - this.passWord = passWord; - } - - @Override - public String toString() { - return "UserEntity{" + - "id=" + id + - ", userName='" + userName + '\'' + - ", passWord='" + passWord + '\'' + - '}'; - } -} diff --git a/1.x/spring-boot-mongodb/src/main/resources/application.properties b/1.x/spring-boot-mongodb/src/main/resources/application.properties deleted file mode 100644 index 0794fa9d2..000000000 --- a/1.x/spring-boot-mongodb/src/main/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -spring.application.name=spirng-boot-mongodb - -spring.data.mongodb.uri=mongodb://192.168.9.61:20000/test - - diff --git a/1.x/spring-boot-mongodb/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-mongodb/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-mongodb/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-mongodb/src/test/java/com/neo/dao/UserDaoTest.java b/1.x/spring-boot-mongodb/src/test/java/com/neo/dao/UserDaoTest.java deleted file mode 100644 index 75de5a748..000000000 --- a/1.x/spring-boot-mongodb/src/test/java/com/neo/dao/UserDaoTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.neo.dao; - -import com.neo.entity.UserEntity; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -/** - * Created by summer on 2017/5/5. - */ -@RunWith(SpringRunner.class) -@SpringBootTest -public class UserDaoTest { - - @Autowired - private UserDao userDao; - - @Test - public void testSaveUser() throws Exception { - UserEntity user=new UserEntity(); - user.setId(2l); - user.setUserName("小明"); - user.setPassWord("fffooo123"); - userDao.saveUser(user); - } - - @Test - public void findUserByUserName(){ - UserEntity user= userDao.findUserByUserName("小明"); - System.out.println("user is "+user); - } - - @Test - public void updateUser(){ - UserEntity user=new UserEntity(); - user.setId(2l); - user.setUserName("天空"); - user.setPassWord("fffxxxx"); - userDao.updateUser(user); - } - - @Test - public void deleteUserById(){ - userDao.deleteUserById(1l); - } - -} diff --git a/1.x/spring-boot-multi-mongodb/pom.xml b/1.x/spring-boot-multi-mongodb/pom.xml deleted file mode 100644 index 9b484852a..000000000 --- a/1.x/spring-boot-multi-mongodb/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-multi-mongodb - 1.0.0 - jar - - spring-boot-multi-mongodb - Demo project for Spring Boot and multi mongodb - - - org.springframework.boot - spring-boot-starter-parent - 1.5.3.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter-data-mongodb - - - org.projectlombok - lombok - - - org.springframework.boot - spring-boot-autoconfigure - RELEASE - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/Application.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/Application.java deleted file mode 100644 index b9844e1b3..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.neo; - -import com.neo.config.props.MultipleMongoProperties; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.scheduling.annotation.EnableScheduling; - -@EnableConfigurationProperties(MultipleMongoProperties.class) -@SpringBootApplication(exclude = MongoAutoConfiguration.class) -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/MultipleMongoConfig.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/MultipleMongoConfig.java deleted file mode 100644 index faeea29bb..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/MultipleMongoConfig.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.neo.config; - -import com.mongodb.MongoClient; -import com.neo.config.props.MultipleMongoProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.mongo.MongoProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.data.mongodb.MongoDbFactory; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.SimpleMongoDbFactory; - -/** - * @author neo - */ -@Configuration -public class MultipleMongoConfig { - - @Autowired - private MultipleMongoProperties mongoProperties; - - @Primary - @Bean(name = PrimaryMongoConfig.MONGO_TEMPLATE) - public MongoTemplate primaryMongoTemplate() throws Exception { - return new MongoTemplate(primaryFactory(this.mongoProperties.getPrimary())); - } - - @Bean - @Qualifier(SecondaryMongoConfig.MONGO_TEMPLATE) - public MongoTemplate secondaryMongoTemplate() throws Exception { - return new MongoTemplate(secondaryFactory(this.mongoProperties.getSecondary())); - } - - @Bean - @Primary - public MongoDbFactory primaryFactory(MongoProperties mongo) throws Exception { - return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()), - mongo.getDatabase()); - } - - @Bean - public MongoDbFactory secondaryFactory(MongoProperties mongo) throws Exception { - return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()), - mongo.getDatabase()); - } -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/PrimaryMongoConfig.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/PrimaryMongoConfig.java deleted file mode 100644 index 589360655..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/PrimaryMongoConfig.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.neo.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; - -/** - * @author neo - */ -@Configuration -@EnableMongoRepositories(basePackages = "com.neo.model.repository.primary", - mongoTemplateRef = PrimaryMongoConfig.MONGO_TEMPLATE) -public class PrimaryMongoConfig { - - protected static final String MONGO_TEMPLATE = "primaryMongoTemplate"; -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/SecondaryMongoConfig.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/SecondaryMongoConfig.java deleted file mode 100644 index 6a36cb3fe..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/SecondaryMongoConfig.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.neo.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; - -/** - * @author neo - */ -@Configuration -@EnableMongoRepositories(basePackages = "com.neo.model.repository.secondary", - mongoTemplateRef = SecondaryMongoConfig.MONGO_TEMPLATE) -public class SecondaryMongoConfig { - - protected static final String MONGO_TEMPLATE = "secondaryMongoTemplate"; -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/props/MultipleMongoProperties.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/props/MultipleMongoProperties.java deleted file mode 100644 index cd233cfdd..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/config/props/MultipleMongoProperties.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.config.props; - -import lombok.Data; -import org.springframework.boot.autoconfigure.mongo.MongoProperties; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * @author neo - */ -@Data -@ConfigurationProperties(prefix = "mongodb") -public class MultipleMongoProperties { - - private MongoProperties primary = new MongoProperties(); - private MongoProperties secondary = new MongoProperties(); -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryMongoObject.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryMongoObject.java deleted file mode 100644 index c85b2908d..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryMongoObject.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.neo.model.repository.primary; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.Document; - -/** - * @author neo - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Document(collection = "first_mongo") -public class PrimaryMongoObject { - - @Id - private String id; - - private String value; - - @Override - public String toString() { - return "PrimaryMongoObject{" + "id='" + id + '\'' + ", value='" + value + '\'' - + '}'; - } -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryRepository.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryRepository.java deleted file mode 100644 index 9dfdbf4c9..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/primary/PrimaryRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.neo.model.repository.primary; - -import org.springframework.data.mongodb.repository.MongoRepository; - -/** - * @author neo - */ -public interface PrimaryRepository extends MongoRepository { -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryMongoObject.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryMongoObject.java deleted file mode 100644 index 3f0e730ce..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryMongoObject.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.neo.model.repository.secondary; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.Document; - -/** - * @author neo - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Document(collection = "second_mongo") -public class SecondaryMongoObject { - - @Id - private String id; - - private String value; - - - @Override - public String toString() { - return "SecondaryMongoObject{" + "id='" + id + '\'' + ", value='" + value + '\'' - + '}'; - } -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryRepository.java b/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryRepository.java deleted file mode 100644 index ccebefa58..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/java/com/neo/model/repository/secondary/SecondaryRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.neo.model.repository.secondary; - -import org.springframework.data.mongodb.repository.MongoRepository; - -/** - * @author neo - */ -public interface SecondaryRepository extends MongoRepository { -} diff --git a/1.x/spring-boot-multi-mongodb/src/main/resources/application.yml b/1.x/spring-boot-multi-mongodb/src/main/resources/application.yml deleted file mode 100644 index 9e4fed4a2..000000000 --- a/1.x/spring-boot-multi-mongodb/src/main/resources/application.yml +++ /dev/null @@ -1,9 +0,0 @@ -mongodb: - primary: - host: 192.168.9.60 - port: 20000 - database: test - secondary: - host: 192.168.9.61 - port: 20000 - database: test1 \ No newline at end of file diff --git a/1.x/spring-boot-multi-mongodb/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-multi-mongodb/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-multi-mongodb/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-multi-mongodb/src/test/java/com/neo/model/repository/MuliDatabaseTest.java b/1.x/spring-boot-multi-mongodb/src/test/java/com/neo/model/repository/MuliDatabaseTest.java deleted file mode 100644 index 3cec335aa..000000000 --- a/1.x/spring-boot-multi-mongodb/src/test/java/com/neo/model/repository/MuliDatabaseTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.neo.model.repository; - -import com.neo.model.repository.primary.PrimaryMongoObject; -import com.neo.model.repository.primary.PrimaryRepository; -import com.neo.model.repository.secondary.SecondaryMongoObject; -import com.neo.model.repository.secondary.SecondaryRepository; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import java.util.List; - -/** - * Created by neo on 2017/5/6. - */ -@RunWith(SpringRunner.class) -@SpringBootTest -public class MuliDatabaseTest { - - @Autowired - private PrimaryRepository primaryRepository; - - @Autowired - private SecondaryRepository secondaryRepository; - - @Test - public void TestSave() { - - System.out.println("************************************************************"); - System.out.println("测试开始"); - System.out.println("************************************************************"); - - this.primaryRepository - .save(new PrimaryMongoObject(null, "第一个库的对象")); - - this.secondaryRepository - .save(new SecondaryMongoObject(null, "第二个库的对象")); - - List primaries = this.primaryRepository.findAll(); - for (PrimaryMongoObject primary : primaries) { - System.out.println(primary.toString()); - } - - List secondaries = this.secondaryRepository.findAll(); - - for (SecondaryMongoObject secondary : secondaries) { - System.out.println(secondary.toString()); - } - - System.out.println("************************************************************"); - System.out.println("测试完成"); - System.out.println("************************************************************"); - } - -} diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/pom.xml b/1.x/spring-boot-mybatis-annotation-mulidatasource/pom.xml deleted file mode 100644 index 289365a64..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-mybatis-annotation-mulidatasource - 1.0.0 - jar - - spring-boot-mybatis-annotation-mulidatasource - Demo project for Spring Boot and mybatis with annotation - - - org.springframework.boot - spring-boot-starter-parent - 1.4.2.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-web - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 1.1.1 - - - mysql - mysql-connector-java - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/Application.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/Application.java deleted file mode 100644 index 8b612caa1..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo; - -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java deleted file mode 100644 index aef652c94..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.neo.datasource; - -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; -import org.mybatis.spring.SqlSessionTemplate; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; - -import javax.sql.DataSource; - -/** - * Created by summer on 2016/11/25. - */ -@Configuration -@MapperScan(basePackages = "com.neo.mapper.test1", sqlSessionTemplateRef = "test1SqlSessionTemplate") -public class DataSource1Config { - - @Bean(name = "test1DataSource") - @ConfigurationProperties(prefix = "spring.datasource.test1") - @Primary - public DataSource testDataSource() { - return DataSourceBuilder.create().build(); - } - - @Bean(name = "test1SqlSessionFactory") - @Primary - public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception { - SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); - bean.setDataSource(dataSource); - return bean.getObject(); - } - - @Bean(name = "test1TransactionManager") - @Primary - public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean(name = "test1SqlSessionTemplate") - @Primary - public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { - return new SqlSessionTemplate(sqlSessionFactory); - } - -} diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java deleted file mode 100644 index 50e6a8671..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.neo.datasource; - -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; -import org.mybatis.spring.SqlSessionTemplate; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; - -import javax.sql.DataSource; - -/** - * Created by summer on 2016/11/25. - */ -@Configuration -@MapperScan(basePackages = "com.neo.mapper.test2", sqlSessionTemplateRef = "test2SqlSessionTemplate") -public class DataSource2Config { - - @Bean(name = "test2DataSource") - @ConfigurationProperties(prefix = "spring.datasource.test2") - public DataSource testDataSource() { - return DataSourceBuilder.create().build(); - } - - @Bean(name = "test2SqlSessionFactory") - public SqlSessionFactory testSqlSessionFactory(@Qualifier("test2DataSource") DataSource dataSource) throws Exception { - SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); - bean.setDataSource(dataSource); - return bean.getObject(); - } - - @Bean(name = "test2TransactionManager") - public DataSourceTransactionManager testTransactionManager(@Qualifier("test2DataSource") DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean(name = "test2SqlSessionTemplate") - public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { - return new SqlSessionTemplate(sqlSessionFactory); - } - -} diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/entity/UserEntity.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/entity/UserEntity.java deleted file mode 100644 index 9bb349759..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/entity/UserEntity.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.neo.entity; - -import java.io.Serializable; - -import com.neo.enums.UserSexEnum; - -public class UserEntity implements Serializable { - - private static final long serialVersionUID = 1L; - private Long id; - private String userName; - private String passWord; - private UserSexEnum userSex; - private String nickName; - - public UserEntity() { - super(); - } - - public UserEntity(String userName, String passWord, UserSexEnum userSex) { - super(); - this.passWord = passWord; - this.userName = userName; - this.userSex = userSex; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassWord() { - return passWord; - } - - public void setPassWord(String passWord) { - this.passWord = passWord; - } - - public UserSexEnum getUserSex() { - return userSex; - } - - public void setUserSex(UserSexEnum userSex) { - this.userSex = userSex; - } - - public String getNickName() { - return nickName; - } - - public void setNickName(String nickName) { - this.nickName = nickName; - } - - @Override - public String toString() { - // TODO Auto-generated method stub - return "userName " + this.userName + ", pasword " + this.passWord + "sex " + userSex.name(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java deleted file mode 100644 index 0b8be4453..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.neo.enums; - -public enum UserSexEnum { - MAN, WOMAN -} diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java deleted file mode 100644 index 945d8c2d4..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.neo.mapper.test1; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; -import org.apache.ibatis.annotations.*; - -import java.util.List; - -public interface User1Mapper { - - - @Select("SELECT * FROM users") - @Results({ - @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), - @Result(property = "nickName", column = "nick_name") - }) - List getAll(); - - @Select("SELECT * FROM users WHERE id = #{id}") - @Results({ - @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), - @Result(property = "nickName", column = "nick_name") - }) - UserEntity getOne(Long id); - - @Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})") - void insert(UserEntity user); - - @Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}") - void update(UserEntity user); - - @Delete("DELETE FROM users WHERE id =#{id}") - void delete(Long id); - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java deleted file mode 100644 index 91376fa91..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.neo.mapper.test2; - -import java.util.List; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; -import org.apache.ibatis.annotations.*; - -public interface User2Mapper { - - - @Select("SELECT * FROM users") - @Results({ - @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), - @Result(property = "nickName", column = "nick_name") - }) - List getAll(); - - @Select("SELECT * FROM users WHERE id = #{id}") - @Results({ - @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), - @Result(property = "nickName", column = "nick_name") - }) - UserEntity getOne(Long id); - - @Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})") - void insert(UserEntity user); - - @Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}") - void update(UserEntity user); - - @Delete("DELETE FROM users WHERE id =#{id}") - void delete(Long id); - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/web/UserController.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/web/UserController.java deleted file mode 100644 index 684a48469..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/java/com/neo/web/UserController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.neo.web; - -import java.util.List; - -import com.neo.mapper.test1.User1Mapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.neo.entity.UserEntity; -import com.neo.mapper.test2.User2Mapper; - -@RestController -public class UserController { - - @Autowired - private User1Mapper user1Mapper; - - @Autowired - private User2Mapper user2Mapper; - - @RequestMapping("/getUsers") - public List getUsers() { - List users=user1Mapper.getAll(); - return users; - } - - @RequestMapping("/getUser") - public UserEntity getUser(Long id) { - UserEntity user=user2Mapper.getOne(id); - return user; - } - - @RequestMapping("/add") - public void save(UserEntity user) { - user2Mapper.insert(user); - } - - @RequestMapping(value="update") - public void update(UserEntity user) { - user2Mapper.update(user); - } - - @RequestMapping(value="/delete/{id}") - public void delete(@PathVariable("id") Long id) { - user1Mapper.delete(id); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/resources/application.properties b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/resources/application.properties deleted file mode 100644 index 35b74f13c..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/main/resources/application.properties +++ /dev/null @@ -1,13 +0,0 @@ -mybatis.type-aliases-package=com.neo.entity - -spring.datasource.test1.driverClassName = com.mysql.jdbc.Driver -spring.datasource.test1.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8 -spring.datasource.test1.username = root -spring.datasource.test1.password = root - - -spring.datasource.test2.driverClassName = com.mysql.jdbc.Driver -spring.datasource.test2.url = jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8 -spring.datasource.test2.username = root -spring.datasource.test2.password = root - diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java deleted file mode 100644 index f1afbccfb..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.neo.mapper; - -import java.util.List; - -import com.neo.mapper.test1.User1Mapper; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class User1MapperTest { - - @Autowired - private User1Mapper userMapper; - - @Test - public void testInsert() throws Exception { - userMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN)); - userMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN)); - userMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN)); - - Assert.assertEquals(3, userMapper.getAll().size()); - } - - @Test - public void testQuery() throws Exception { - List users = userMapper.getAll(); - if(users==null || users.size()==0){ - System.out.println("is null"); - }else{ - System.out.println(users.size()); - } - } - - - @Test - public void testUpdate() throws Exception { - UserEntity user = userMapper.getOne(6l); - System.out.println(user.toString()); - user.setNickName("neo"); - userMapper.update(user); - Assert.assertTrue(("neo".equals(userMapper.getOne(6l).getNickName()))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java b/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java deleted file mode 100644 index 7ad9e06a0..000000000 --- a/1.x/spring-boot-mybatis-annotation-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.neo.mapper; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; -import com.neo.mapper.test2.User2Mapper; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import java.util.List; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class User2MapperTest { - - @Autowired - private User2Mapper userMapper; - - @Test - public void testInsert() throws Exception { - userMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN)); - userMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN)); - userMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN)); - - Assert.assertEquals(3, userMapper.getAll().size()); - } - - @Test - public void testQuery() throws Exception { - List users = userMapper.getAll(); - if(users==null || users.size()==0){ - System.out.println("is null"); - }else{ - System.out.println(users.toString()); - } - } - - - @Test - public void testUpdate() throws Exception { - UserEntity user = userMapper.getOne(6l); - System.out.println(user.toString()); - user.setNickName("neo"); - userMapper.update(user); - Assert.assertTrue(("neo".equals(userMapper.getOne(6l).getNickName()))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation/pom.xml b/1.x/spring-boot-mybatis-annotation/pom.xml deleted file mode 100644 index 708959c91..000000000 --- a/1.x/spring-boot-mybatis-annotation/pom.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-mybatis-annotation - 1.0.0 - jar - - spring-boot-mybatis-annotation - Demo project for Spring Boot and mybatis - - - org.springframework.boot - spring-boot-starter-parent - 1.4.1.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-web - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 1.1.1 - - - mysql - mysql-connector-java - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - src/main/resources - true - - bootstrap-test.properties - bootstrap-dev.properties - bootstrap-pro.properties - bootstrap.properties - - - - src/main/resources - true - - bootstrap-${env}.properties - bootstrap.properties - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/Application.java b/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/Application.java deleted file mode 100644 index 8f280fe0e..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.neo; - -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -@MapperScan("com.neo.mapper") -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/entity/UserEntity.java b/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/entity/UserEntity.java deleted file mode 100644 index 9bb349759..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/entity/UserEntity.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.neo.entity; - -import java.io.Serializable; - -import com.neo.enums.UserSexEnum; - -public class UserEntity implements Serializable { - - private static final long serialVersionUID = 1L; - private Long id; - private String userName; - private String passWord; - private UserSexEnum userSex; - private String nickName; - - public UserEntity() { - super(); - } - - public UserEntity(String userName, String passWord, UserSexEnum userSex) { - super(); - this.passWord = passWord; - this.userName = userName; - this.userSex = userSex; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassWord() { - return passWord; - } - - public void setPassWord(String passWord) { - this.passWord = passWord; - } - - public UserSexEnum getUserSex() { - return userSex; - } - - public void setUserSex(UserSexEnum userSex) { - this.userSex = userSex; - } - - public String getNickName() { - return nickName; - } - - public void setNickName(String nickName) { - this.nickName = nickName; - } - - @Override - public String toString() { - // TODO Auto-generated method stub - return "userName " + this.userName + ", pasword " + this.passWord + "sex " + userSex.name(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/enums/UserSexEnum.java b/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/enums/UserSexEnum.java deleted file mode 100644 index 0b8be4453..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/enums/UserSexEnum.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.neo.enums; - -public enum UserSexEnum { - MAN, WOMAN -} diff --git a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/mapper/UserMapper.java b/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/mapper/UserMapper.java deleted file mode 100644 index 1946fa1ac..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/mapper/UserMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.neo.mapper; - -import java.util.List; - -import org.apache.ibatis.annotations.Delete; -import org.apache.ibatis.annotations.Insert; -import org.apache.ibatis.annotations.Result; -import org.apache.ibatis.annotations.Results; -import org.apache.ibatis.annotations.Select; -import org.apache.ibatis.annotations.Update; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; - -public interface UserMapper { - - @Select("SELECT * FROM users") - @Results({ - @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), - @Result(property = "nickName", column = "nick_name") - }) - List getAll(); - - @Select("SELECT * FROM users WHERE id = #{id}") - @Results({ - @Result(property = "userSex", column = "user_sex", javaType = UserSexEnum.class), - @Result(property = "nickName", column = "nick_name") - }) - UserEntity getOne(Long id); - - @Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})") - void insert(UserEntity user); - - @Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}") - void update(UserEntity user); - - @Delete("DELETE FROM users WHERE id =#{id}") - void delete(Long id); - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/web/UserController.java b/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/web/UserController.java deleted file mode 100644 index eef4478d5..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/main/java/com/neo/web/UserController.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.neo.web; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.neo.entity.UserEntity; -import com.neo.mapper.UserMapper; - -@RestController -public class UserController { - - @Autowired - private UserMapper userMapper; - - @RequestMapping("/getUsers") - public List getUsers() { - List users=userMapper.getAll(); - return users; - } - - @RequestMapping("/getUser") - public UserEntity getUser(Long id) { - UserEntity user=userMapper.getOne(id); - return user; - } - - @RequestMapping("/add") - public void save(UserEntity user) { - userMapper.insert(user); - } - - @RequestMapping(value="update") - public void update(UserEntity user) { - userMapper.update(user); - } - - @RequestMapping(value="/delete/{id}") - public void delete(@PathVariable("id") Long id) { - userMapper.delete(id); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation/src/main/resources/application.properties b/1.x/spring-boot-mybatis-annotation/src/main/resources/application.properties deleted file mode 100644 index 3673963dc..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -mybatis.type-aliases-package=com.neo.entity - -spring.datasource.driverClassName = com.mysql.jdbc.Driver -spring.datasource.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8 -spring.datasource.username = root -spring.datasource.password = root diff --git a/1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/mapper/UserMapperTest.java b/1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/mapper/UserMapperTest.java deleted file mode 100644 index 08ab926f0..000000000 --- a/1.x/spring-boot-mybatis-annotation/src/test/java/com/neo/mapper/UserMapperTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.neo.mapper; - -import java.util.List; - -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class UserMapperTest { - - @Autowired - private UserMapper UserMapper; - - @Test - public void testInsert() throws Exception { - UserMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN)); - UserMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN)); - UserMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN)); - - Assert.assertEquals(3, UserMapper.getAll().size()); - } - - @Test - public void testQuery() throws Exception { - List users = UserMapper.getAll(); - System.out.println(users.toString()); - } - - - @Test - public void testUpdate() throws Exception { - UserEntity user = UserMapper.getOne(3l); - System.out.println(user.toString()); - user.setNickName("neo"); - UserMapper.update(user); - Assert.assertTrue(("neo".equals(UserMapper.getOne(3l).getNickName()))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-annotation/users.sql b/1.x/spring-boot-mybatis-annotation/users.sql deleted file mode 100644 index c8a2769d5..000000000 --- a/1.x/spring-boot-mybatis-annotation/users.sql +++ /dev/null @@ -1,30 +0,0 @@ -/* -Navicat MySQL Data Transfer - -Source Server : 本地 -Source Server Version : 50505 -Source Host : localhost:3306 -Source Database : test1 - -Target Server Type : MYSQL -Target Server Version : 50505 -File Encoding : 65001 - -Date: 2016-11-05 21:17:33 -*/ - -SET FOREIGN_KEY_CHECKS=0; - --- ---------------------------- --- Table structure for `users` --- ---------------------------- -DROP TABLE IF EXISTS `users`; -CREATE TABLE `users` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', - `userName` varchar(32) DEFAULT NULL COMMENT '用户名', - `passWord` varchar(32) DEFAULT NULL COMMENT '密码', - `user_sex` varchar(32) DEFAULT NULL, - `nick_name` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; - diff --git a/1.x/spring-boot-mybatis-mulidatasource/pom.xml b/1.x/spring-boot-mybatis-mulidatasource/pom.xml deleted file mode 100644 index 5d43e6a9f..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-mybatis-mulidatasource - 1.0.0 - jar - - spring-boot-mybatis-mulidatasource - Demo project for Spring Boot and mybatis - - - org.springframework.boot - spring-boot-starter-parent - 1.4.2.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-web - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 1.1.1 - - - mysql - mysql-connector-java - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/Application.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/Application.java deleted file mode 100644 index 8b612caa1..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo; - -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java deleted file mode 100644 index 3e3c8b482..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource1Config.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.neo.datasource; - -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; -import org.mybatis.spring.SqlSessionTemplate; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; - -import javax.sql.DataSource; - -/** - * Created by summer on 2016/11/25. - */ -@Configuration -@MapperScan(basePackages = "com.neo.mapper.test1", sqlSessionTemplateRef = "test1SqlSessionTemplate") -public class DataSource1Config { - - @Bean(name = "test1DataSource") - @ConfigurationProperties(prefix = "spring.datasource.test1") - @Primary - public DataSource testDataSource() { - return DataSourceBuilder.create().build(); - } - - @Bean(name = "test1SqlSessionFactory") - @Primary - public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception { - SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); - bean.setDataSource(dataSource); - bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml")); - return bean.getObject(); - } - - @Bean(name = "test1TransactionManager") - @Primary - public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean(name = "test1SqlSessionTemplate") - @Primary - public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { - return new SqlSessionTemplate(sqlSessionFactory); - } - -} diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java deleted file mode 100644 index 3b80cce10..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/datasource/DataSource2Config.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.neo.datasource; - -import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; -import org.mybatis.spring.SqlSessionTemplate; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; - -import javax.sql.DataSource; - -/** - * Created by summer on 2016/11/25. - */ -@Configuration -@MapperScan(basePackages = "com.neo.mapper.test2", sqlSessionTemplateRef = "test2SqlSessionTemplate") -public class DataSource2Config { - - @Bean(name = "test2DataSource") - @ConfigurationProperties(prefix = "spring.datasource.test2") - public DataSource testDataSource() { - return DataSourceBuilder.create().build(); - } - - @Bean(name = "test2SqlSessionFactory") - public SqlSessionFactory testSqlSessionFactory(@Qualifier("test2DataSource") DataSource dataSource) throws Exception { - SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); - bean.setDataSource(dataSource); - bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test2/*.xml")); - return bean.getObject(); - } - - @Bean(name = "test2TransactionManager") - public DataSourceTransactionManager testTransactionManager(@Qualifier("test2DataSource") DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean(name = "test2SqlSessionTemplate") - public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { - return new SqlSessionTemplate(sqlSessionFactory); - } - -} diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/entity/UserEntity.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/entity/UserEntity.java deleted file mode 100644 index 9bb349759..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/entity/UserEntity.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.neo.entity; - -import java.io.Serializable; - -import com.neo.enums.UserSexEnum; - -public class UserEntity implements Serializable { - - private static final long serialVersionUID = 1L; - private Long id; - private String userName; - private String passWord; - private UserSexEnum userSex; - private String nickName; - - public UserEntity() { - super(); - } - - public UserEntity(String userName, String passWord, UserSexEnum userSex) { - super(); - this.passWord = passWord; - this.userName = userName; - this.userSex = userSex; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassWord() { - return passWord; - } - - public void setPassWord(String passWord) { - this.passWord = passWord; - } - - public UserSexEnum getUserSex() { - return userSex; - } - - public void setUserSex(UserSexEnum userSex) { - this.userSex = userSex; - } - - public String getNickName() { - return nickName; - } - - public void setNickName(String nickName) { - this.nickName = nickName; - } - - @Override - public String toString() { - // TODO Auto-generated method stub - return "userName " + this.userName + ", pasword " + this.passWord + "sex " + userSex.name(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java deleted file mode 100644 index 0b8be4453..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/enums/UserSexEnum.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.neo.enums; - -public enum UserSexEnum { - MAN, WOMAN -} diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java deleted file mode 100644 index 424a30d98..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test1/User1Mapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.mapper.test1; - -import com.neo.entity.UserEntity; - -import java.util.List; - -public interface User1Mapper { - - List getAll(); - - UserEntity getOne(Long id); - - void insert(UserEntity user); - - void update(UserEntity user); - - void delete(Long id); - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java deleted file mode 100644 index c3c052585..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/mapper/test2/User2Mapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.mapper.test2; - -import java.util.List; - -import com.neo.entity.UserEntity; - -public interface User2Mapper { - - List getAll(); - - UserEntity getOne(Long id); - - void insert(UserEntity user); - - void update(UserEntity user); - - void delete(Long id); - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/web/UserController.java b/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/web/UserController.java deleted file mode 100644 index 198fa5c73..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/java/com/neo/web/UserController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.neo.web; - -import java.util.List; - -import com.neo.mapper.test1.User1Mapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.neo.entity.UserEntity; -import com.neo.mapper.test2.User2Mapper; - -@RestController -public class UserController { - - @Autowired - private User1Mapper user1Mapper; - - @Autowired - private User2Mapper user2Mapper; - - @RequestMapping("/getUsers") - public List getUsers() { - List users=user1Mapper.getAll(); - return users; - } - - @RequestMapping("/getUser") - public UserEntity getUser(Long id) { - UserEntity user=user2Mapper.getOne(id); - return user; - } - - @RequestMapping("/add") - public void save(UserEntity user) { - user2Mapper.insert(user); - } - - @RequestMapping(value="update") - public void update(UserEntity user) { - user2Mapper.update(user); - } - - @RequestMapping(value="/delete/{id}") - public void delete(@PathVariable("id") Long id) { - user1Mapper.delete(id); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/application.properties b/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/application.properties deleted file mode 100644 index 2447cd1cd..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/application.properties +++ /dev/null @@ -1,13 +0,0 @@ -mybatis.config-locations=classpath:mybatis/mybatis-config.xml - -spring.datasource.test1.driverClassName = com.mysql.jdbc.Driver -spring.datasource.test1.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8 -spring.datasource.test1.username = root -spring.datasource.test1.password = root - - -spring.datasource.test2.driverClassName = com.mysql.jdbc.Driver -spring.datasource.test2.url = jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8 -spring.datasource.test2.username = root -spring.datasource.test2.password = root - diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test1/UserMapper.xml b/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test1/UserMapper.xml deleted file mode 100644 index 4728e5327..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test1/UserMapper.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - id, userName, passWord, user_sex, nick_name - - - - - - - - INSERT INTO - users - (userName,passWord,user_sex) - VALUES - (#{userName}, #{passWord}, #{userSex}) - - - - UPDATE - users - SET - userName = #{userName}, - passWord = #{passWord}, - nick_name = #{nickName} - WHERE - id = #{id} - - - - DELETE FROM - users - WHERE - id =#{id} - - - \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test2/UserMapper.xml b/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test2/UserMapper.xml deleted file mode 100644 index b56eec500..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mapper/test2/UserMapper.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - id, userName, passWord, user_sex, nick_name - - - - - - - - INSERT INTO - users - (userName,passWord,user_sex) - VALUES - (#{userName}, #{passWord}, #{userSex}) - - - - UPDATE - users - SET - userName = #{userName}, - passWord = #{passWord}, - nick_name = #{nickName} - WHERE - id = #{id} - - - - DELETE FROM - users - WHERE - id =#{id} - - - \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mybatis-config.xml b/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mybatis-config.xml deleted file mode 100644 index 56097ffb9..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/main/resources/mybatis/mybatis-config.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java b/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java deleted file mode 100644 index f1afbccfb..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User1MapperTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.neo.mapper; - -import java.util.List; - -import com.neo.mapper.test1.User1Mapper; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class User1MapperTest { - - @Autowired - private User1Mapper userMapper; - - @Test - public void testInsert() throws Exception { - userMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN)); - userMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN)); - userMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN)); - - Assert.assertEquals(3, userMapper.getAll().size()); - } - - @Test - public void testQuery() throws Exception { - List users = userMapper.getAll(); - if(users==null || users.size()==0){ - System.out.println("is null"); - }else{ - System.out.println(users.size()); - } - } - - - @Test - public void testUpdate() throws Exception { - UserEntity user = userMapper.getOne(6l); - System.out.println(user.toString()); - user.setNickName("neo"); - userMapper.update(user); - Assert.assertTrue(("neo".equals(userMapper.getOne(6l).getNickName()))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java b/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java deleted file mode 100644 index 7ad9e06a0..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/src/test/java/com/neo/mapper/User2MapperTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.neo.mapper; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; -import com.neo.mapper.test2.User2Mapper; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import java.util.List; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class User2MapperTest { - - @Autowired - private User2Mapper userMapper; - - @Test - public void testInsert() throws Exception { - userMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN)); - userMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN)); - userMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN)); - - Assert.assertEquals(3, userMapper.getAll().size()); - } - - @Test - public void testQuery() throws Exception { - List users = userMapper.getAll(); - if(users==null || users.size()==0){ - System.out.println("is null"); - }else{ - System.out.println(users.toString()); - } - } - - - @Test - public void testUpdate() throws Exception { - UserEntity user = userMapper.getOne(6l); - System.out.println(user.toString()); - user.setNickName("neo"); - userMapper.update(user); - Assert.assertTrue(("neo".equals(userMapper.getOne(6l).getNickName()))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-mulidatasource/users.sql b/1.x/spring-boot-mybatis-mulidatasource/users.sql deleted file mode 100644 index c8a2769d5..000000000 --- a/1.x/spring-boot-mybatis-mulidatasource/users.sql +++ /dev/null @@ -1,30 +0,0 @@ -/* -Navicat MySQL Data Transfer - -Source Server : 本地 -Source Server Version : 50505 -Source Host : localhost:3306 -Source Database : test1 - -Target Server Type : MYSQL -Target Server Version : 50505 -File Encoding : 65001 - -Date: 2016-11-05 21:17:33 -*/ - -SET FOREIGN_KEY_CHECKS=0; - --- ---------------------------- --- Table structure for `users` --- ---------------------------- -DROP TABLE IF EXISTS `users`; -CREATE TABLE `users` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', - `userName` varchar(32) DEFAULT NULL COMMENT '用户名', - `passWord` varchar(32) DEFAULT NULL COMMENT '密码', - `user_sex` varchar(32) DEFAULT NULL, - `nick_name` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; - diff --git a/1.x/spring-boot-mybatis-xml/pom.xml b/1.x/spring-boot-mybatis-xml/pom.xml deleted file mode 100644 index a89db0bcf..000000000 --- a/1.x/spring-boot-mybatis-xml/pom.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-mybatis-xml - 1.0.0 - jar - - spring-boot-mybatis-xml - Demo project for Spring Boot and mybatis - - - org.springframework.boot - spring-boot-starter-parent - 1.5.9.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-web - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 1.1.1 - - - mysql - mysql-connector-java - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - src/main/resources - true - - bootstrap-test.properties - bootstrap-dev.properties - bootstrap-pro.properties - bootstrap.properties - - - - src/main/resources - true - - bootstrap-${env}.properties - bootstrap.properties - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/Application.java b/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/Application.java deleted file mode 100644 index 8f280fe0e..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.neo; - -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -@MapperScan("com.neo.mapper") -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/entity/UserEntity.java b/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/entity/UserEntity.java deleted file mode 100644 index 9bb349759..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/entity/UserEntity.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.neo.entity; - -import java.io.Serializable; - -import com.neo.enums.UserSexEnum; - -public class UserEntity implements Serializable { - - private static final long serialVersionUID = 1L; - private Long id; - private String userName; - private String passWord; - private UserSexEnum userSex; - private String nickName; - - public UserEntity() { - super(); - } - - public UserEntity(String userName, String passWord, UserSexEnum userSex) { - super(); - this.passWord = passWord; - this.userName = userName; - this.userSex = userSex; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassWord() { - return passWord; - } - - public void setPassWord(String passWord) { - this.passWord = passWord; - } - - public UserSexEnum getUserSex() { - return userSex; - } - - public void setUserSex(UserSexEnum userSex) { - this.userSex = userSex; - } - - public String getNickName() { - return nickName; - } - - public void setNickName(String nickName) { - this.nickName = nickName; - } - - @Override - public String toString() { - // TODO Auto-generated method stub - return "userName " + this.userName + ", pasword " + this.passWord + "sex " + userSex.name(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/enums/UserSexEnum.java b/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/enums/UserSexEnum.java deleted file mode 100644 index 0b8be4453..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/enums/UserSexEnum.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.neo.enums; - -public enum UserSexEnum { - MAN, WOMAN -} diff --git a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/mapper/UserMapper.java b/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/mapper/UserMapper.java deleted file mode 100644 index c4f035444..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/mapper/UserMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.mapper; - -import java.util.List; - -import com.neo.entity.UserEntity; - -public interface UserMapper { - - List getAll(); - - UserEntity getOne(Long id); - - void insert(UserEntity user); - - void update(UserEntity user); - - void delete(Long id); - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/web/UserController.java b/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/web/UserController.java deleted file mode 100644 index eef4478d5..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/java/com/neo/web/UserController.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.neo.web; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.neo.entity.UserEntity; -import com.neo.mapper.UserMapper; - -@RestController -public class UserController { - - @Autowired - private UserMapper userMapper; - - @RequestMapping("/getUsers") - public List getUsers() { - List users=userMapper.getAll(); - return users; - } - - @RequestMapping("/getUser") - public UserEntity getUser(Long id) { - UserEntity user=userMapper.getOne(id); - return user; - } - - @RequestMapping("/add") - public void save(UserEntity user) { - userMapper.insert(user); - } - - @RequestMapping(value="update") - public void update(UserEntity user) { - userMapper.update(user); - } - - @RequestMapping(value="/delete/{id}") - public void delete(@PathVariable("id") Long id) { - userMapper.delete(id); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/src/main/resources/application.properties b/1.x/spring-boot-mybatis-xml/src/main/resources/application.properties deleted file mode 100644 index 72c49e690..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/resources/application.properties +++ /dev/null @@ -1,8 +0,0 @@ -mybatis.config-locations=classpath:mybatis/mybatis-config.xml -mybatis.mapper-locations=classpath:mybatis/mapper/*.xml -mybatis.type-aliases-package=com.neo.entity - -spring.datasource.driverClassName = com.mysql.jdbc.Driver -spring.datasource.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8 -spring.datasource.username = root -spring.datasource.password = root diff --git a/1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mapper/UserMapper.xml b/1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mapper/UserMapper.xml deleted file mode 100644 index 7e0459d09..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mapper/UserMapper.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - id, userName, passWord, user_sex, nick_name - - - - - - - - INSERT INTO - users - (userName,passWord,user_sex) - VALUES - (#{userName}, #{passWord}, #{userSex}) - - - - UPDATE - users - SET - userName = #{userName}, - passWord = #{passWord}, - nick_name = #{nickName} - WHERE - id = #{id} - - - - DELETE FROM - users - WHERE - id =#{id} - - - \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mybatis-config.xml b/1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mybatis-config.xml deleted file mode 100644 index 56097ffb9..000000000 --- a/1.x/spring-boot-mybatis-xml/src/main/resources/mybatis/mybatis-config.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/mapper/UserMapperTest.java b/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/mapper/UserMapperTest.java deleted file mode 100644 index 4078e600d..000000000 --- a/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/mapper/UserMapperTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.neo.mapper; - -import java.util.List; - -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import com.neo.entity.UserEntity; -import com.neo.enums.UserSexEnum; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class UserMapperTest { - - @Autowired - private UserMapper UserMapper; - - @Test - public void testInsert() throws Exception { - UserMapper.insert(new UserEntity("aa", "a123456", UserSexEnum.MAN)); - UserMapper.insert(new UserEntity("bb", "b123456", UserSexEnum.WOMAN)); - UserMapper.insert(new UserEntity("cc", "b123456", UserSexEnum.WOMAN)); - - Assert.assertEquals(3, UserMapper.getAll().size()); - } - - @Test - public void testQuery() throws Exception { - List users = UserMapper.getAll(); - if(users==null || users.size()==0){ - System.out.println("is null"); - }else{ - System.out.println(users.toString()); - } - } - - - @Test - public void testUpdate() throws Exception { - UserEntity user = UserMapper.getOne(6l); - System.out.println(user.toString()); - user.setNickName("neo"); - UserMapper.update(user); - Assert.assertTrue(("neo".equals(UserMapper.getOne(6l).getNickName()))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/web/UserControllerTest.java b/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/web/UserControllerTest.java deleted file mode 100644 index 2fd5fa943..000000000 --- a/1.x/spring-boot-mybatis-xml/src/test/java/com/neo/web/UserControllerTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.neo.web; - - - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; - -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class UserControllerTest { - @Autowired - private WebApplicationContext wac; - private MockMvc mockMvc; - - @Before - public void setUp() throws Exception { - mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); //初始化MockMvc对象 - } - - @Test - public void getUsers() throws Exception { - mockMvc.perform(MockMvcRequestBuilders.post("/getUsers") - .accept(MediaType.APPLICATION_JSON_UTF8)).andDo(print()); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-mybatis-xml/users.sql b/1.x/spring-boot-mybatis-xml/users.sql deleted file mode 100644 index c8a2769d5..000000000 --- a/1.x/spring-boot-mybatis-xml/users.sql +++ /dev/null @@ -1,30 +0,0 @@ -/* -Navicat MySQL Data Transfer - -Source Server : 本地 -Source Server Version : 50505 -Source Host : localhost:3306 -Source Database : test1 - -Target Server Type : MYSQL -Target Server Version : 50505 -File Encoding : 65001 - -Date: 2016-11-05 21:17:33 -*/ - -SET FOREIGN_KEY_CHECKS=0; - --- ---------------------------- --- Table structure for `users` --- ---------------------------- -DROP TABLE IF EXISTS `users`; -CREATE TABLE `users` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', - `userName` varchar(32) DEFAULT NULL COMMENT '用户名', - `passWord` varchar(32) DEFAULT NULL COMMENT '密码', - `user_sex` varchar(32) DEFAULT NULL, - `nick_name` varchar(32) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; - diff --git a/1.x/spring-boot-package-war/pom.xml b/1.x/spring-boot-package-war/pom.xml deleted file mode 100644 index c54d0da80..000000000 --- a/1.x/spring-boot-package-war/pom.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-package-war - 0.0.1-SNAPSHOT - war - - spring-boot-package-war - Demo project for Spring Boot package war - - - org.springframework.boot - spring-boot-starter-parent - 1.3.6.RELEASE - - - - - UTF-8 - 1.7 - - - - - org.springframework.boot - spring-boot-starter - - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-tomcat - provided - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-package-war/src/main/java/com/neo/Application.java b/1.x/spring-boot-package-war/src/main/java/com/neo/Application.java deleted file mode 100644 index 6cda50c81..000000000 --- a/1.x/spring-boot-package-war/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-package-war/src/main/java/com/neo/ServletInitializer.java b/1.x/spring-boot-package-war/src/main/java/com/neo/ServletInitializer.java deleted file mode 100644 index e57ead010..000000000 --- a/1.x/spring-boot-package-war/src/main/java/com/neo/ServletInitializer.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.neo; - -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.context.web.SpringBootServletInitializer; - -/** - * Created by summer on 2017/5/8. - */ -public class ServletInitializer extends SpringBootServletInitializer { - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(Application.class); - } -} diff --git a/1.x/spring-boot-package-war/src/main/java/com/neo/controller/HelloWorldController.java b/1.x/spring-boot-package-war/src/main/java/com/neo/controller/HelloWorldController.java deleted file mode 100644 index c231fae49..000000000 --- a/1.x/spring-boot-package-war/src/main/java/com/neo/controller/HelloWorldController.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.neo.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class HelloWorldController { - - @RequestMapping("/hello") - public String index() { - return "Hello World xx"; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-package-war/src/main/resources/application.properties b/1.x/spring-boot-package-war/src/main/resources/application.properties deleted file mode 100644 index e69de29bb..000000000 diff --git a/1.x/spring-boot-package-war/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-package-war/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index f35d76c7a..000000000 --- a/1.x/spring-boot-package-war/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -public class ApplicationTests { - - @Test - public void contextLoads() { - } - -} diff --git a/1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloTests.java b/1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloTests.java deleted file mode 100644 index 02133d7ef..000000000 --- a/1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloTests.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.neo.controller; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.http.MediaType; -import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -import static org.hamcrest.Matchers.equalTo; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = MockServletContext.class) -@WebAppConfiguration -public class HelloTests { - - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().string(equalTo("Hello World"))); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloWorldControlerTests.java b/1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloWorldControlerTests.java deleted file mode 100644 index 423d57caa..000000000 --- a/1.x/spring-boot-package-war/src/test/java/com/neo/controller/HelloWorldControlerTests.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.neo.controller; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.http.MediaType; -import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = MockServletContext.class) -@WebAppConfiguration -public class HelloWorldControlerTests { - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andDo(MockMvcResultHandlers.print()) - .andReturn(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/pom.xml b/1.x/spring-boot-rabbitmq/pom.xml deleted file mode 100644 index b4de1e355..000000000 --- a/1.x/spring-boot-rabbitmq/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-rabbitmq - 1.0.0 - jar - - spring-boot-rabbitmq - Demo project for Spring Boot and rabbitmq - - - org.springframework.boot - spring-boot-starter-parent - 1.4.2.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-amqp - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/Application.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/Application.java deleted file mode 100644 index 6cda50c81..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/model/User.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/model/User.java deleted file mode 100644 index f4eec95e4..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/model/User.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.neo.model; - -import java.io.Serializable; - -/** - * Created by summer on 2016/11/29. - */ -public class User implements Serializable{ - - private String name; - - private String pass; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getPass() { - return pass; - } - - public void setPass(String pass) { - this.pass = pass; - } - - @Override - public String toString() { - return "User{" + - "name='" + name + '\'' + - ", pass='" + pass + '\'' + - '}'; - } -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/FanoutRabbitConfig.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/FanoutRabbitConfig.java deleted file mode 100644 index 4fe21fa9f..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/FanoutRabbitConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.neo.rabbit; - -import org.springframework.amqp.core.Binding; -import org.springframework.amqp.core.BindingBuilder; -import org.springframework.amqp.core.FanoutExchange; -import org.springframework.amqp.core.Queue; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - - -@Configuration -public class FanoutRabbitConfig { - - @Bean - public Queue AMessage() { - return new Queue("fanout.A"); - } - - @Bean - public Queue BMessage() { - return new Queue("fanout.B"); - } - - @Bean - public Queue CMessage() { - return new Queue("fanout.C"); - } - - @Bean - FanoutExchange fanoutExchange() { - return new FanoutExchange("fanoutExchange"); - } - - @Bean - Binding bindingExchangeA(Queue AMessage,FanoutExchange fanoutExchange) { - return BindingBuilder.bind(AMessage).to(fanoutExchange); - } - - @Bean - Binding bindingExchangeB(Queue BMessage, FanoutExchange fanoutExchange) { - return BindingBuilder.bind(BMessage).to(fanoutExchange); - } - - @Bean - Binding bindingExchangeC(Queue CMessage, FanoutExchange fanoutExchange) { - return BindingBuilder.bind(CMessage).to(fanoutExchange); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/RabbitConfig.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/RabbitConfig.java deleted file mode 100644 index d5d649b5c..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/RabbitConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.neo.rabbit; - -import org.springframework.amqp.core.Queue; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - - -@Configuration -public class RabbitConfig { - - @Bean - public Queue helloQueue() { - return new Queue("hello"); - } - - @Bean - public Queue neoQueue() { - return new Queue("neo"); - } - - @Bean - public Queue objectQueue() { - return new Queue("object"); - } - - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/TopicRabbitConfig.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/TopicRabbitConfig.java deleted file mode 100644 index 7bd2a096c..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/TopicRabbitConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.neo.rabbit; - -import org.springframework.amqp.core.Binding; -import org.springframework.amqp.core.BindingBuilder; -import org.springframework.amqp.core.Queue; -import org.springframework.amqp.core.TopicExchange; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - - -@Configuration -public class TopicRabbitConfig { - - final static String message = "topic.message"; - final static String messages = "topic.messages"; - - @Bean - public Queue queueMessage() { - return new Queue(TopicRabbitConfig.message); - } - - @Bean - public Queue queueMessages() { - return new Queue(TopicRabbitConfig.messages); - } - - @Bean - TopicExchange exchange() { - return new TopicExchange("topicExchange"); - } - - @Bean - Binding bindingExchangeMessage(Queue queueMessage, TopicExchange exchange) { - return BindingBuilder.bind(queueMessage).to(exchange).with("topic.message"); - } - - @Bean - Binding bindingExchangeMessages(Queue queueMessages, TopicExchange exchange) { - return BindingBuilder.bind(queueMessages).to(exchange).with("topic.#"); - } -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverA.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverA.java deleted file mode 100644 index 256de2eee..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverA.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.fanout; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "fanout.A") -public class FanoutReceiverA { - - @RabbitHandler - public void process(String message) { - System.out.println("fanout Receiver A : " + message); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverB.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverB.java deleted file mode 100644 index a721da684..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverB.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.fanout; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "fanout.B") -public class FanoutReceiverB { - - @RabbitHandler - public void process(String message) { - System.out.println("fanout Receiver B: " + message); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverC.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverC.java deleted file mode 100644 index aceef8b08..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutReceiverC.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.fanout; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "fanout.C") -public class FanoutReceiverC { - - @RabbitHandler - public void process(String message) { - System.out.println("fanout Receiver C: " + message); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutSender.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutSender.java deleted file mode 100644 index 2fa62d39c..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/fanout/FanoutSender.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.rabbit.fanout; - -import org.springframework.amqp.core.AmqpTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class FanoutSender { - - @Autowired - private AmqpTemplate rabbitTemplate; - - public void send() { - String context = "hi, fanout msg "; - System.out.println("Sender : " + context); - this.rabbitTemplate.convertAndSend("fanoutExchange","", context); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloReceiver.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloReceiver.java deleted file mode 100644 index 2d59b1740..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloReceiver.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.rabbit.hello; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Component; - -import java.util.Date; - -@Component -@RabbitListener(queues = "hello") -public class HelloReceiver { - - @RabbitHandler - public void process(String hello) { - System.out.println("Receiver : " + hello); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloSender.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloSender.java deleted file mode 100644 index 05fc740ac..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/hello/HelloSender.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.neo.rabbit.hello; - -import org.springframework.amqp.core.AmqpTemplate; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Date; - -@Component -public class HelloSender { - - @Autowired - private AmqpTemplate rabbitTemplate; - - public void send() { - String context = "hello " + new Date(); - System.out.println("Sender : " + context); - this.rabbitTemplate.convertAndSend("hello", context); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver1.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver1.java deleted file mode 100644 index c352fbeb5..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver1.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.many; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "neo") -public class NeoReceiver1 { - - @RabbitHandler - public void process(String neo) { - System.out.println("Receiver 1: " + neo); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver2.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver2.java deleted file mode 100644 index d7cbdd758..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoReceiver2.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.many; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "neo") -public class NeoReceiver2 { - - @RabbitHandler - public void process(String neo) { - System.out.println("Receiver 2: " + neo); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender.java deleted file mode 100644 index 755918fb6..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.rabbit.many; - -import org.springframework.amqp.core.AmqpTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class NeoSender { - - @Autowired - private AmqpTemplate rabbitTemplate; - - public void send(int i) { - String context = "spirng boot neo queue"+" ****** "+i; - System.out.println("Sender1 : " + context); - this.rabbitTemplate.convertAndSend("neo", context); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender2.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender2.java deleted file mode 100644 index e34cce647..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/many/NeoSender2.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.rabbit.many; - -import org.springframework.amqp.core.AmqpTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class NeoSender2 { - - @Autowired - private AmqpTemplate rabbitTemplate; - - public void send(int i) { - String context = "spirng boot neo queue"+" ****** "+i; - System.out.println("Sender2 : " + context); - this.rabbitTemplate.convertAndSend("neo", context); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectReceiver.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectReceiver.java deleted file mode 100644 index b97f8a026..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectReceiver.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo.rabbit.object; - -import com.neo.model.User; -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "object") -public class ObjectReceiver { - - @RabbitHandler - public void process(User user) { - System.out.println("Receiver object : " + user); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectSender.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectSender.java deleted file mode 100644 index 9c7aba927..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/object/ObjectSender.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.neo.rabbit.object; - -import com.neo.model.User; -import org.springframework.amqp.core.AmqpTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Date; - -@Component -public class ObjectSender { - - @Autowired - private AmqpTemplate rabbitTemplate; - - public void send(User user) { - System.out.println("Sender object: " + user.toString()); - this.rabbitTemplate.convertAndSend("object", user); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver.java deleted file mode 100644 index 14523941a..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.topic; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "topic.message") -public class TopicReceiver { - - @RabbitHandler - public void process(String message) { - System.out.println("Topic Receiver1 : " + message); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver2.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver2.java deleted file mode 100644 index 9ea81d7fe..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicReceiver2.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo.rabbit.topic; - -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -@Component -@RabbitListener(queues = "topic.messages") -public class TopicReceiver2 { - - @RabbitHandler - public void process(String message) { - System.out.println("Topic Receiver2 : " + message); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicSender.java b/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicSender.java deleted file mode 100644 index 8f17c34e3..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/java/com/neo/rabbit/topic/TopicSender.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.neo.rabbit.topic; - -import org.springframework.amqp.core.AmqpTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Date; - -@Component -public class TopicSender { - - @Autowired - private AmqpTemplate rabbitTemplate; - - public void send() { - String context = "hi, i am message all"; - System.out.println("Sender : " + context); - this.rabbitTemplate.convertAndSend("topicExchange", "topic.1", context); - } - - public void send1() { - String context = "hi, i am message 1"; - System.out.println("Sender : " + context); - this.rabbitTemplate.convertAndSend("topicExchange", "topic.message", context); - } - - public void send2() { - String context = "hi, i am messages 2"; - System.out.println("Sender : " + context); - this.rabbitTemplate.convertAndSend("topicExchange", "topic.messages", context); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/main/resources/application.properties b/1.x/spring-boot-rabbitmq/src/main/resources/application.properties deleted file mode 100644 index da5cc5ed0..000000000 --- a/1.x/spring-boot-rabbitmq/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.application.name=spirng-boot-rabbitmq-example - -spring.rabbitmq.host=192.168.0.86 -spring.rabbitmq.port=5672 -spring.rabbitmq.username=admin -spring.rabbitmq.password=123456 diff --git a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-rabbitmq/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/FanoutTest.java b/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/FanoutTest.java deleted file mode 100644 index d9ee0afd9..000000000 --- a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/FanoutTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.neo.rabbitmq; - -import com.neo.rabbit.fanout.FanoutSender; -import com.neo.rabbit.topic.TopicSender; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class FanoutTest { - - @Autowired - private FanoutSender sender; - - @Test - public void fanoutSender() throws Exception { - sender.send(); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/HelloTest.java b/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/HelloTest.java deleted file mode 100644 index f790b0452..000000000 --- a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/HelloTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.neo.rabbitmq; - -import com.neo.rabbit.hello.HelloSender; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class HelloTest { - - @Autowired - private HelloSender helloSender; - - @Test - public void hello() throws Exception { - helloSender.send(); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ManyTest.java b/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ManyTest.java deleted file mode 100644 index 08c701cfd..000000000 --- a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ManyTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.neo.rabbitmq; - -import com.neo.rabbit.many.NeoSender; -import com.neo.rabbit.many.NeoSender2; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ManyTest { - @Autowired - private NeoSender neoSender; - - @Autowired - private NeoSender2 neoSender2; - - @Test - public void oneToMany() throws Exception { - for (int i=0;i<100;i++){ - neoSender.send(i); - } - } - - @Test - public void manyToMany() throws Exception { - for (int i=0;i<100;i++){ - neoSender.send(i); - neoSender2.send(i); - } - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ObjectTest.java b/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ObjectTest.java deleted file mode 100644 index e36daf7ed..000000000 --- a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/ObjectTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.neo.rabbitmq; - -import com.neo.model.User; -import com.neo.rabbit.object.ObjectSender; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ObjectTest { - - @Autowired - private ObjectSender sender; - - @Test - public void sendOject() throws Exception { - User user=new User(); - user.setName("neo"); - user.setPass("123456"); - sender.send(user); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/TopicTest.java b/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/TopicTest.java deleted file mode 100644 index d69a5b85e..000000000 --- a/1.x/spring-boot-rabbitmq/src/test/java/com/neo/rabbitmq/TopicTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.neo.rabbitmq; - -import com.neo.rabbit.topic.TopicSender; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class TopicTest { - - @Autowired - private TopicSender sender; - - @Test - public void topic() throws Exception { - sender.send(); - } - - @Test - public void topic1() throws Exception { - sender.send1(); - } - - @Test - public void topic2() throws Exception { - sender.send2(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-scheduler/pom.xml b/1.x/spring-boot-scheduler/pom.xml deleted file mode 100644 index b3d18365d..000000000 --- a/1.x/spring-boot-scheduler/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-scheduler - 1.0.0 - jar - - spring-boot-scheduler - Demo project for Spring Boot and scheduler - - - org.springframework.boot - spring-boot-starter-parent - 1.4.2.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-scheduler/src/main/java/com/neo/Application.java b/1.x/spring-boot-scheduler/src/main/java/com/neo/Application.java deleted file mode 100644 index f260f3d89..000000000 --- a/1.x/spring-boot-scheduler/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; - -@SpringBootApplication -@EnableScheduling -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-scheduler/src/main/java/com/neo/task/Scheduler2Task.java b/1.x/spring-boot-scheduler/src/main/java/com/neo/task/Scheduler2Task.java deleted file mode 100644 index 7b59c9f2b..000000000 --- a/1.x/spring-boot-scheduler/src/main/java/com/neo/task/Scheduler2Task.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.neo.task; - -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * Created by summer on 2016/12/1. - */ - -@Component -public class Scheduler2Task { - - private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); - - @Scheduled(fixedRate = 6000) - public void reportCurrentTime() { - System.out.println("现在时间:" + dateFormat.format(new Date())); - } - -} diff --git a/1.x/spring-boot-scheduler/src/main/java/com/neo/task/SchedulerTask.java b/1.x/spring-boot-scheduler/src/main/java/com/neo/task/SchedulerTask.java deleted file mode 100644 index 69885e3cc..000000000 --- a/1.x/spring-boot-scheduler/src/main/java/com/neo/task/SchedulerTask.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.neo.task; - -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.util.Date; - -/** - * Created by summer on 2016/12/1. - */ - -@Component -public class SchedulerTask { - - private int count=0; - - @Scheduled(cron="*/6 * * * * ?") - private void process(){ - System.out.println("this is scheduler task runing "+(count++)); - } - -} diff --git a/1.x/spring-boot-scheduler/src/main/resources/application.properties b/1.x/spring-boot-scheduler/src/main/resources/application.properties deleted file mode 100644 index 8978a46f1..000000000 --- a/1.x/spring-boot-scheduler/src/main/resources/application.properties +++ /dev/null @@ -1,2 +0,0 @@ -spring.application.name=spirng-boot-scheduler - diff --git a/1.x/spring-boot-scheduler/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-scheduler/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 569db8140..000000000 --- a/1.x/spring-boot-scheduler/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello world"); - } - -} diff --git a/1.x/spring-boot-shiro/pom.xml b/1.x/spring-boot-shiro/pom.xml deleted file mode 100644 index 0307f6d44..000000000 --- a/1.x/spring-boot-shiro/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-shiro - 0.0.1-SNAPSHOT - jar - - spring-boot-shiro - Demo project for Spring Boot - - - org.springframework.boot - spring-boot-starter-parent - 1.5.4.RELEASE - - - - - UTF-8 - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter-data-jpa - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - net.sourceforge.nekohtml - nekohtml - 1.9.22 - - - org.springframework.boot - spring-boot-starter-web - - - org.apache.shiro - shiro-spring - 1.7.2 - - - mysql - mysql-connector-java - runtime - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-devtools - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/SpringBootShiroApplication.java b/1.x/spring-boot-shiro/src/main/java/com/neo/SpringBootShiroApplication.java deleted file mode 100644 index 2766a3927..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/SpringBootShiroApplication.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootShiroApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootShiroApplication.class, args); - } -} diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/config/MyShiroRealm.java b/1.x/spring-boot-shiro/src/main/java/com/neo/config/MyShiroRealm.java deleted file mode 100644 index 7bdf9519f..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/config/MyShiroRealm.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.neo.config; - -import com.neo.entity.SysPermission; -import com.neo.entity.SysRole; -import com.neo.entity.UserInfo; -import com.neo.sevice.UserInfoService; -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.AuthenticationInfo; -import org.apache.shiro.authc.AuthenticationToken; -import org.apache.shiro.authc.SimpleAuthenticationInfo; -import org.apache.shiro.authz.AuthorizationInfo; -import org.apache.shiro.authz.SimpleAuthorizationInfo; -import org.apache.shiro.realm.AuthorizingRealm; -import org.apache.shiro.subject.PrincipalCollection; -import org.apache.shiro.util.ByteSource; - -import javax.annotation.Resource; - -public class MyShiroRealm extends AuthorizingRealm { - @Resource - private UserInfoService userInfoService; - @Override - protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { - System.out.println("权限配置-->MyShiroRealm.doGetAuthorizationInfo()"); - SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); - UserInfo userInfo = (UserInfo)principals.getPrimaryPrincipal(); - for(SysRole role:userInfo.getRoleList()){ - authorizationInfo.addRole(role.getRole()); - for(SysPermission p:role.getPermissions()){ - authorizationInfo.addStringPermission(p.getPermission()); - } - } - return authorizationInfo; - } - - /*主要是用来进行身份认证的,也就是说验证用户输入的账号和密码是否正确。*/ - @Override - protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) - throws AuthenticationException { - System.out.println("MyShiroRealm.doGetAuthenticationInfo()"); - //获取用户的输入的账号. - String username = (String)token.getPrincipal(); - System.out.println(token.getCredentials()); - //通过username从数据库中查找 User对象,如果找到,没找到. - //实际项目中,这里可以根据实际情况做缓存,如果不做,Shiro自己也是有时间间隔机制,2分钟内不会重复执行该方法 - UserInfo userInfo = userInfoService.findByUsername(username); - System.out.println("----->>userInfo="+userInfo); - if(userInfo == null){ - return null; - } - SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo( - userInfo, //用户名 - userInfo.getPassword(), //密码 - ByteSource.Util.bytes(userInfo.getCredentialsSalt()),//salt=username+salt - getName() //realm name - ); - return authenticationInfo; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/config/ShiroConfig.java b/1.x/spring-boot-shiro/src/main/java/com/neo/config/ShiroConfig.java deleted file mode 100644 index 00f524b24..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/config/ShiroConfig.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.neo.config; - -import org.apache.shiro.authc.credential.HashedCredentialsMatcher; -import org.apache.shiro.mgt.SecurityManager; -import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; -import org.apache.shiro.spring.web.ShiroFilterFactoryBean; -import org.apache.shiro.web.mgt.DefaultWebSecurityManager; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver; - -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Properties; - -@Configuration -public class ShiroConfig { - @Bean - public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) { - System.out.println("ShiroConfiguration.shirFilter()"); - ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); - shiroFilterFactoryBean.setSecurityManager(securityManager); - //拦截器. - Map filterChainDefinitionMap = new LinkedHashMap(); - // 配置不会被拦截的链接 顺序判断 - filterChainDefinitionMap.put("/static/**", "anon"); - //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了 - filterChainDefinitionMap.put("/logout", "logout"); - //:这是一个坑呢,一不小心代码就不好使了; - // - filterChainDefinitionMap.put("/**", "authc"); - // 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面 - shiroFilterFactoryBean.setLoginUrl("/login"); - // 登录成功后要跳转的链接 - shiroFilterFactoryBean.setSuccessUrl("/index"); - - //未授权界面; - shiroFilterFactoryBean.setUnauthorizedUrl("/403"); - shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); - return shiroFilterFactoryBean; - } - - /** - * 凭证匹配器 - * (由于我们的密码校验交给Shiro的SimpleAuthenticationInfo进行处理了 - * ) - * @return - */ - @Bean - public HashedCredentialsMatcher hashedCredentialsMatcher(){ - HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher(); - hashedCredentialsMatcher.setHashAlgorithmName("md5");//散列算法:这里使用MD5算法; - hashedCredentialsMatcher.setHashIterations(2);//散列的次数,比如散列两次,相当于 md5(md5("")); - return hashedCredentialsMatcher; - } - - @Bean - public MyShiroRealm myShiroRealm(){ - MyShiroRealm myShiroRealm = new MyShiroRealm(); - myShiroRealm.setCredentialsMatcher(hashedCredentialsMatcher()); - return myShiroRealm; - } - - - @Bean - public SecurityManager securityManager(){ - DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); - securityManager.setRealm(myShiroRealm()); - return securityManager; - } - - /** - * 开启shiro aop注解支持. - * 使用代理方式;所以需要开启代码支持; - * @param securityManager - * @return - */ - @Bean - public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager){ - AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor(); - authorizationAttributeSourceAdvisor.setSecurityManager(securityManager); - return authorizationAttributeSourceAdvisor; - } - - @Bean(name="simpleMappingExceptionResolver") - public SimpleMappingExceptionResolver - createSimpleMappingExceptionResolver() { - SimpleMappingExceptionResolver r = new SimpleMappingExceptionResolver(); - Properties mappings = new Properties(); - mappings.setProperty("DatabaseException", "databaseError");//数据库异常处理 - mappings.setProperty("UnauthorizedException","403"); - r.setExceptionMappings(mappings); // None by default - r.setDefaultErrorView("error"); // No default - r.setExceptionAttribute("ex"); // Default is "exception" - //r.setWarnLogCategory("example.MvcLogger"); // No default - return r; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/dao/UserInfoDao.java b/1.x/spring-boot-shiro/src/main/java/com/neo/dao/UserInfoDao.java deleted file mode 100644 index f24938dd7..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/dao/UserInfoDao.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.neo.dao; - -import com.neo.entity.UserInfo; -import org.springframework.data.repository.CrudRepository; - -public interface UserInfoDao extends CrudRepository { - /**通过username查找用户信息;*/ - public UserInfo findByUsername(String username); -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysPermission.java b/1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysPermission.java deleted file mode 100644 index 18f67b93f..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysPermission.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.neo.entity; - -import javax.persistence.*; -import java.io.Serializable; -import java.util.List; - -@Entity -public class SysPermission implements Serializable { - @Id@GeneratedValue - private Integer id;//主键. - private String name;//名称. - @Column(columnDefinition="enum('menu','button')") - private String resourceType;//资源类型,[menu|button] - private String url;//资源路径. - private String permission; //权限字符串,menu例子:role:*,button例子:role:create,role:update,role:delete,role:view - private Long parentId; //父编号 - private String parentIds; //父编号列表 - private Boolean available = Boolean.FALSE; - @ManyToMany - @JoinTable(name="SysRolePermission",joinColumns={@JoinColumn(name="permissionId")},inverseJoinColumns={@JoinColumn(name="roleId")}) - private List roles; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getResourceType() { - return resourceType; - } - - public void setResourceType(String resourceType) { - this.resourceType = resourceType; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getPermission() { - return permission; - } - - public void setPermission(String permission) { - this.permission = permission; - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public String getParentIds() { - return parentIds; - } - - public void setParentIds(String parentIds) { - this.parentIds = parentIds; - } - - public Boolean getAvailable() { - return available; - } - - public void setAvailable(Boolean available) { - this.available = available; - } - - public List getRoles() { - return roles; - } - - public void setRoles(List roles) { - this.roles = roles; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysRole.java b/1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysRole.java deleted file mode 100644 index 9261866b5..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/entity/SysRole.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.neo.entity; - -import javax.persistence.*; -import java.util.List; - -@Entity -public class SysRole { - @Id@GeneratedValue - private Integer id; // 编号 - private String role; // 角色标识程序中判断使用,如"admin",这个是唯一的: - private String description; // 角色描述,UI界面显示使用 - private Boolean available = Boolean.FALSE; // 是否可用,如果不可用将不会添加给用户 - - //角色 -- 权限关系:多对多关系; - @ManyToMany(fetch= FetchType.EAGER) - @JoinTable(name="SysRolePermission",joinColumns={@JoinColumn(name="roleId")},inverseJoinColumns={@JoinColumn(name="permissionId")}) - private List permissions; - - // 用户 - 角色关系定义; - @ManyToMany - @JoinTable(name="SysUserRole",joinColumns={@JoinColumn(name="roleId")},inverseJoinColumns={@JoinColumn(name="uid")}) - private List userInfos;// 一个角色对应多个用户 - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getRole() { - return role; - } - - public void setRole(String role) { - this.role = role; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Boolean getAvailable() { - return available; - } - - public void setAvailable(Boolean available) { - this.available = available; - } - - public List getPermissions() { - return permissions; - } - - public void setPermissions(List permissions) { - this.permissions = permissions; - } - - public List getUserInfos() { - return userInfos; - } - - public void setUserInfos(List userInfos) { - this.userInfos = userInfos; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/entity/UserInfo.java b/1.x/spring-boot-shiro/src/main/java/com/neo/entity/UserInfo.java deleted file mode 100644 index 63753b439..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/entity/UserInfo.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.neo.entity; - -import javax.persistence.*; -import java.io.Serializable; -import java.util.List; - -@Entity -public class UserInfo implements Serializable { - @Id - @GeneratedValue - private Integer uid; - @Column(unique =true) - private String username;//帐号 - private String name;//名称(昵称或者真实姓名,不同系统不同定义) - private String password; //密码; - private String salt;//加密密码的盐 - private byte state;//用户状态,0:创建未认证(比如没有激活,没有输入验证码等等)--等待验证的用户 , 1:正常状态,2:用户被锁定. - @ManyToMany(fetch= FetchType.EAGER)//立即从数据库中进行加载数据; - @JoinTable(name = "SysUserRole", joinColumns = { @JoinColumn(name = "uid") }, inverseJoinColumns ={@JoinColumn(name = "roleId") }) - private List roleList;// 一个用户具有多个角色 - - public Integer getUid() { - return uid; - } - - public void setUid(Integer uid) { - this.uid = uid; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getSalt() { - return salt; - } - - public void setSalt(String salt) { - this.salt = salt; - } - - public byte getState() { - return state; - } - - public void setState(byte state) { - this.state = state; - } - - public List getRoleList() { - return roleList; - } - - public void setRoleList(List roleList) { - this.roleList = roleList; - } - - /** - * 密码盐. - * @return - */ - public String getCredentialsSalt(){ - return this.username+this.salt; - } - //重新对盐重新进行了定义,用户名+salt,这样就更加不容易被破解 -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/sevice/UserInfoService.java b/1.x/spring-boot-shiro/src/main/java/com/neo/sevice/UserInfoService.java deleted file mode 100644 index 149b90c9b..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/sevice/UserInfoService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.neo.sevice; - -import com.neo.entity.UserInfo; - -public interface UserInfoService { - /**通过username查找用户信息;*/ - public UserInfo findByUsername(String username); -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/sevice/impl/UserInfoServiceImpl.java b/1.x/spring-boot-shiro/src/main/java/com/neo/sevice/impl/UserInfoServiceImpl.java deleted file mode 100644 index 58792d475..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/sevice/impl/UserInfoServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.neo.sevice.impl; - -import com.neo.dao.UserInfoDao; -import com.neo.entity.UserInfo; -import com.neo.sevice.UserInfoService; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -@Service -public class UserInfoServiceImpl implements UserInfoService { - @Resource - private UserInfoDao userInfoDao; - @Override - public UserInfo findByUsername(String username) { - System.out.println("UserInfoServiceImpl.findByUsername()"); - return userInfoDao.findByUsername(username); - } -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/web/HomeController.java b/1.x/spring-boot-shiro/src/main/java/com/neo/web/HomeController.java deleted file mode 100644 index d1c069694..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/web/HomeController.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.neo.web; - -import org.apache.shiro.authc.IncorrectCredentialsException; -import org.apache.shiro.authc.UnknownAccountException; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; - -import javax.servlet.http.HttpServletRequest; -import java.util.Map; - -@Controller -public class HomeController { - @RequestMapping({"/","/index"}) - public String index(){ - return"/index"; - } - - @RequestMapping("/login") - public String login(HttpServletRequest request, Map map) throws Exception{ - System.out.println("HomeController.login()"); - // 登录失败从request中获取shiro处理的异常信息。 - // shiroLoginFailure:就是shiro异常类的全类名. - String exception = (String) request.getAttribute("shiroLoginFailure"); - System.out.println("exception=" + exception); - String msg = ""; - if (exception != null) { - if (UnknownAccountException.class.getName().equals(exception)) { - System.out.println("UnknownAccountException -- > 账号不存在:"); - msg = "UnknownAccountException -- > 账号不存在:"; - } else if (IncorrectCredentialsException.class.getName().equals(exception)) { - System.out.println("IncorrectCredentialsException -- > 密码不正确:"); - msg = "IncorrectCredentialsException -- > 密码不正确:"; - } else if ("kaptchaValidateFailed".equals(exception)) { - System.out.println("kaptchaValidateFailed -- > 验证码错误"); - msg = "kaptchaValidateFailed -- > 验证码错误"; - } else { - msg = "else >> "+exception; - System.out.println("else -- >" + exception); - } - } - map.put("msg", msg); - // 此方法不处理登录成功,由shiro进行处理 - return "/login"; - } - - @RequestMapping("/403") - public String unauthorizedRole(){ - System.out.println("------没有权限-------"); - return "403"; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/java/com/neo/web/UserInfoController.java b/1.x/spring-boot-shiro/src/main/java/com/neo/web/UserInfoController.java deleted file mode 100644 index 4e8bde77a..000000000 --- a/1.x/spring-boot-shiro/src/main/java/com/neo/web/UserInfoController.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.neo.web; - -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; - -@Controller -@RequestMapping("/userInfo") -public class UserInfoController { - - /** - * 用户查询. - * @return - */ - @RequestMapping("/userList") - @RequiresPermissions("userInfo:view")//权限管理; - public String userInfo(){ - return "userInfo"; - } - - /** - * 用户添加; - * @return - */ - @RequestMapping("/userAdd") - @RequiresPermissions("userInfo:add")//权限管理; - public String userInfoAdd(){ - return "userInfoAdd"; - } - - /** - * 用户删除; - * @return - */ - @RequestMapping("/userDel") - @RequiresPermissions("userInfo:del")//权限管理; - public String userDel(){ - return "userInfoDel"; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/application.yml b/1.x/spring-boot-shiro/src/main/resources/application.yml deleted file mode 100644 index 6104d8576..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/application.yml +++ /dev/null @@ -1,23 +0,0 @@ -spring: - datasource: - url: jdbc:mysql://localhost:3306/test - username: root - password: root - #schema: database/import.sql - #sql-script-encoding: utf-8 - driver-class-name: com.mysql.jdbc.Driver - - jpa: - database: mysql - show-sql: true - hibernate: - ddl-auto: update - naming: - strategy: org.hibernate.cfg.DefaultComponentSafeNamingStrategy - properties: - hibernate: - dialect: org.hibernate.dialect.MySQL5Dialect - - thymeleaf: - cache: false - mode: LEGACYHTML5 \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/database/import.sql b/1.x/spring-boot-shiro/src/main/resources/database/import.sql deleted file mode 100644 index 73a7f02a0..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/database/import.sql +++ /dev/null @@ -1,12 +0,0 @@ -INSERT INTO `user_info` (`uid`,`username`,`name`,`password`,`salt`,`state`) VALUES ('1', 'admin', '管理员', 'd3c59d25033dbf980d29554025c23a75', '8d78869f470951332959580424d4bf4f', 0); -INSERT INTO `sys_permission` (`id`,`available`,`name`,`parent_id`,`parent_ids`,`permission`,`resource_type`,`url`) VALUES (1,0,'用户管理',0,'0/','userInfo:view','menu','userInfo/userList'); -INSERT INTO `sys_permission` (`id`,`available`,`name`,`parent_id`,`parent_ids`,`permission`,`resource_type`,`url`) VALUES (2,0,'用户添加',1,'0/1','userInfo:add','button','userInfo/userAdd'); -INSERT INTO `sys_permission` (`id`,`available`,`name`,`parent_id`,`parent_ids`,`permission`,`resource_type`,`url`) VALUES (3,0,'用户删除',1,'0/1','userInfo:del','button','userInfo/userDel'); -INSERT INTO `sys_role` (`id`,`available`,`description`,`role`) VALUES (1,0,'管理员','admin'); -INSERT INTO `sys_role` (`id`,`available`,`description`,`role`) VALUES (2,0,'VIP会员','vip'); -INSERT INTO `sys_role` (`id`,`available`,`description`,`role`) VALUES (3,1,'test','test'); -INSERT INTO `sys_role_permission` VALUES ('1', '1'); -INSERT INTO `sys_role_permission` (`permission_id`,`role_id`) VALUES (1,1); -INSERT INTO `sys_role_permission` (`permission_id`,`role_id`) VALUES (2,1); -INSERT INTO `sys_role_permission` (`permission_id`,`role_id`) VALUES (3,2); -INSERT INTO `sys_user_role` (`role_id`,`uid`) VALUES (1,1); \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/templates/403.html b/1.x/spring-boot-shiro/src/main/resources/templates/403.html deleted file mode 100644 index 97a10975c..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/templates/403.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 403 - - -

403没有权限

- - \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/templates/index.html b/1.x/spring-boot-shiro/src/main/resources/templates/index.html deleted file mode 100644 index 088725ce7..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/templates/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - index - - -

index

- - \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/templates/login.html b/1.x/spring-boot-shiro/src/main/resources/templates/login.html deleted file mode 100644 index 07ca33195..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/templates/login.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - Login - - -错误信息:

-
-

账号:

-

密码:

-

-
- - \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/templates/userInfo.html b/1.x/spring-boot-shiro/src/main/resources/templates/userInfo.html deleted file mode 100644 index f835b3fc9..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/templates/userInfo.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - UserInfo - - -

用户查询界面

- - \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/templates/userInfoAdd.html b/1.x/spring-boot-shiro/src/main/resources/templates/userInfoAdd.html deleted file mode 100644 index 0716e44ff..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/templates/userInfoAdd.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Add - - -

用户添加界面

- - \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/main/resources/templates/userInfoDel.html b/1.x/spring-boot-shiro/src/main/resources/templates/userInfoDel.html deleted file mode 100644 index 031e00949..000000000 --- a/1.x/spring-boot-shiro/src/main/resources/templates/userInfoDel.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Del - - -

用户删除界面

- - \ No newline at end of file diff --git a/1.x/spring-boot-shiro/src/test/java/com/neo/SpringBootShiroApplicationTests.java b/1.x/spring-boot-shiro/src/test/java/com/neo/SpringBootShiroApplicationTests.java deleted file mode 100644 index 558159190..000000000 --- a/1.x/spring-boot-shiro/src/test/java/com/neo/SpringBootShiroApplicationTests.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class SpringBootShiroApplicationTests { - - @Test - public void contextLoads() { - } - -} diff --git a/1.x/spring-boot-thymeleaf/pom.xml b/1.x/spring-boot-thymeleaf/pom.xml deleted file mode 100644 index fe179929e..000000000 --- a/1.x/spring-boot-thymeleaf/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - 4.0.0 - spring-boot-thymeleaf - spring-boot-thymeleaf - spring-boot-thymeleaf - - org.springframework.boot - spring-boot-starter-parent - 1.5.6.RELEASE - - - - 1.8 - - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - \ No newline at end of file diff --git a/1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/HelloController.java b/1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/HelloController.java deleted file mode 100644 index 9251d84c9..000000000 --- a/1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/HelloController.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.neo.thymeleaf; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@Controller -public class HelloController { - @RequestMapping("/hello") - public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) { - model.addAttribute("name", name); - return "hello"; - } -} diff --git a/1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/ThymeleafApplication.java b/1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/ThymeleafApplication.java deleted file mode 100644 index cd468c371..000000000 --- a/1.x/spring-boot-thymeleaf/src/main/java/com/neo/thymeleaf/ThymeleafApplication.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.neo.thymeleaf; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.web.support.SpringBootServletInitializer; - - -@SpringBootApplication -public class ThymeleafApplication extends SpringBootServletInitializer { - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(ThymeleafApplication.class); - } - - public static void main(String[] args) throws Exception { - SpringApplication.run(ThymeleafApplication.class, args); - } -} - diff --git a/1.x/spring-boot-thymeleaf/src/main/resources/application.properties b/1.x/spring-boot-thymeleaf/src/main/resources/application.properties deleted file mode 100644 index 760bdc35a..000000000 --- a/1.x/spring-boot-thymeleaf/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.thymeleaf.cache: false \ No newline at end of file diff --git a/1.x/spring-boot-thymeleaf/src/main/resources/templates/hello.html b/1.x/spring-boot-thymeleaf/src/main/resources/templates/hello.html deleted file mode 100644 index bd1f7817e..000000000 --- a/1.x/spring-boot-thymeleaf/src/main/resources/templates/hello.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Hello Thymeleaf! - - -

- - \ No newline at end of file diff --git a/1.x/spring-boot-web/pom.xml b/1.x/spring-boot-web/pom.xml deleted file mode 100644 index ebeec70a0..000000000 --- a/1.x/spring-boot-web/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - 4.0.0 - - com.neo - spring-boot-web - 0.0.1-SNAPSHOT - jar - - spring-boot-web - Demo project for Spring Boot - - - org.springframework.boot - spring-boot-starter-parent - 1.5.6.RELEASE - - - - - UTF-8 - 1.8 - - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-data-jpa - - - mysql - mysql-connector-java - - - org.springframework.boot - spring-boot-devtools - true - - - org.springframework.boot - spring-boot-starter-thymeleaf - - - org.webjars.bower - jquery - 2.0.3 - - - org.webjars.bower - bootstrap - 3.0.3 - - - org.springframework.boot - spring-boot-starter-redis - - - org.springframework.session - spring-session-data-redis - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - - - - - - diff --git a/1.x/spring-boot-web/src/main/java/com/neo/Application.java b/1.x/spring-boot-web/src/main/java/com/neo/Application.java deleted file mode 100644 index 6cda50c81..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/Application.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.neo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} diff --git a/1.x/spring-boot-web/src/main/java/com/neo/WebConfiguration.java b/1.x/spring-boot-web/src/main/java/com/neo/WebConfiguration.java deleted file mode 100644 index cbf7177fd..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/WebConfiguration.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.neo; - -import java.io.IOException; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; - -import org.apache.catalina.filters.RemoteIpFilter; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class WebConfiguration { - @Bean - public RemoteIpFilter remoteIpFilter() { - return new RemoteIpFilter(); - } - - @Bean - public FilterRegistrationBean testFilterRegistration() { - - FilterRegistrationBean registration = new FilterRegistrationBean(); - registration.setFilter(new MyFilter()); - registration.addUrlPatterns("/*"); - registration.addInitParameter("paramName", "paramValue"); - registration.setName("MyFilter"); - registration.setOrder(1); - return registration; - } - - public class MyFilter implements Filter { - @Override - public void destroy() { - // TODO Auto-generated method stub - } - - @Override - public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain) - throws IOException, ServletException { - // TODO Auto-generated method stub - HttpServletRequest request = (HttpServletRequest) srequest; - System.out.println("this is MyFilter,url :"+request.getRequestURI()); - filterChain.doFilter(srequest, sresponse); - } - - @Override - public void init(FilterConfig arg0) throws ServletException { - // TODO Auto-generated method stub - } - } -} - - - diff --git a/1.x/spring-boot-web/src/main/java/com/neo/config/RedisConfig.java b/1.x/spring-boot-web/src/main/java/com/neo/config/RedisConfig.java deleted file mode 100644 index 2925ad9b0..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/config/RedisConfig.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.neo.config; - -import java.lang.reflect.Method; - -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.CachingConfigurerSupport; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.interceptor.KeyGenerator; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.cache.RedisCacheManager; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.PropertyAccessor; -import com.fasterxml.jackson.databind.ObjectMapper; - -@Configuration -@EnableCaching -public class RedisConfig extends CachingConfigurerSupport{ - - @Bean - public KeyGenerator keyGenerator() { - return new KeyGenerator() { - @Override - public Object generate(Object target, Method method, Object... params) { - StringBuilder sb = new StringBuilder(); - sb.append(target.getClass().getName()); - sb.append(method.getName()); - for (Object obj : params) { - sb.append(obj.toString()); - } - return sb.toString(); - } - }; - } - - @SuppressWarnings("rawtypes") - @Bean - public CacheManager cacheManager(RedisTemplate redisTemplate) { - RedisCacheManager rcm = new RedisCacheManager(redisTemplate); - //设置缓存过期时间 - //rcm.setDefaultExpiration(60);//秒 - return rcm; - } - - @Bean - public RedisTemplate redisTemplate(RedisConnectionFactory factory) { - StringRedisTemplate template = new StringRedisTemplate(factory); - Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); - ObjectMapper om = new ObjectMapper(); - om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); - om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); - jackson2JsonRedisSerializer.setObjectMapper(om); - template.setValueSerializer(jackson2JsonRedisSerializer); - template.afterPropertiesSet(); - return template; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/java/com/neo/config/SessionConfig.java b/1.x/spring-boot-web/src/main/java/com/neo/config/SessionConfig.java deleted file mode 100644 index d4fedfcd5..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/config/SessionConfig.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.neo.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; - -@Configuration -@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400*30) -public class SessionConfig { - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/java/com/neo/domain/User.java b/1.x/spring-boot-web/src/main/java/com/neo/domain/User.java deleted file mode 100644 index 74afa234e..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/domain/User.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.neo.domain; - -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -@Entity -public class User implements Serializable { - - private static final long serialVersionUID = 1L; - @Id - @GeneratedValue - private Long id; - @Column(nullable = false, unique = true) - private String userName; - @Column(nullable = false) - private String passWord; - @Column(nullable = false, unique = true) - private String email; - @Column(nullable = true, unique = true) - private String nickName; - @Column(nullable = false) - private String regTime; - - public User() { - super(); - } - public User(String email, String nickName, String passWord, String userName, String regTime) { - super(); - this.email = email; - this.nickName = nickName; - this.passWord = passWord; - this.userName = userName; - this.regTime = regTime; - } - public Long getId() { - return id; - } - public void setId(Long id) { - this.id = id; - } - public String getUserName() { - return userName; - } - public void setUserName(String userName) { - this.userName = userName; - } - public String getPassWord() { - return passWord; - } - public void setPassWord(String passWord) { - this.passWord = passWord; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - public String getNickName() { - return nickName; - } - public void setNickName(String nickName) { - this.nickName = nickName; - } - public String getRegTime() { - return regTime; - } - public void setRegTime(String regTime) { - this.regTime = regTime; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/java/com/neo/domain/UserRepository.java b/1.x/spring-boot-web/src/main/java/com/neo/domain/UserRepository.java deleted file mode 100644 index 5455dbd1e..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/domain/UserRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.neo.domain; - -import org.springframework.data.jpa.repository.JpaRepository; - -public interface UserRepository extends JpaRepository { - - User findByUserName(String userName); - - User findByUserNameOrEmail(String username, String email); - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/java/com/neo/util/NeoProperties.java b/1.x/spring-boot-web/src/main/java/com/neo/util/NeoProperties.java deleted file mode 100644 index ab337bfbd..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/util/NeoProperties.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.neo.util; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -@Component -public class NeoProperties { - - @Value("${com.neo.title}") - private String title; - @Value("${com.neo.description}") - private String description; - public String getTitle() { - return title; - } - public void setTitle(String title) { - this.title = title; - } - public String getDescription() { - return description; - } - public void setDescription(String description) { - this.description = description; - } - -} diff --git a/1.x/spring-boot-web/src/main/java/com/neo/web/HelloController.java b/1.x/spring-boot-web/src/main/java/com/neo/web/HelloController.java deleted file mode 100644 index 5fd95a062..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/web/HelloController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.neo.web; - -import java.util.Locale; -import java.util.UUID; - -import javax.servlet.http.HttpSession; - -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class HelloController { - - @RequestMapping("/hello") - public String hello(Locale locale, Model model) { - return "hello world"; - } - - @RequestMapping("/uid") - String uid(HttpSession session) { - UUID uid = (UUID) session.getAttribute("uid"); - if (uid == null) { - uid = UUID.randomUUID(); - } - session.setAttribute("uid", uid); - return session.getId(); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/java/com/neo/web/ThymeleafController.java b/1.x/spring-boot-web/src/main/java/com/neo/web/ThymeleafController.java deleted file mode 100644 index c384bd1d8..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/web/ThymeleafController.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.neo.web; - -import java.text.DateFormat; -import java.util.Date; -import java.util.Locale; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; - -@Controller -public class ThymeleafController { - - @RequestMapping("/hi") - public String hello(Locale locale, Model model) { - model.addAttribute("greeting", "Hello!"); - - Date date = new Date(); - DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); - String formattedDate = dateFormat.format(date); - model.addAttribute("currentTime", formattedDate); - - return "hello"; - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/java/com/neo/web/UserController.java b/1.x/spring-boot-web/src/main/java/com/neo/web/UserController.java deleted file mode 100644 index 983617cce..000000000 --- a/1.x/spring-boot-web/src/main/java/com/neo/web/UserController.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.neo.web; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.neo.domain.User; -import com.neo.domain.UserRepository; - -@RestController -public class UserController { - - @Autowired - private UserRepository userRepository; - - @RequestMapping("/getUser") - @Cacheable(value="user-key") - public User getUser() { - User user=userRepository.findByUserName("aa"); - System.out.println("若下面没出现“无缓存的时候调用”字样且能打印出数据表示测试成功"); - return user; - } - - @RequestMapping("/getUsers") - @Cacheable(value="key-Users") - public List getUsers() { - List users=userRepository.findAll(); - System.out.println("若下面没出现“无缓存的时候调用”字样且能打印出数据表示测试成功"); - return users; - } -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/resources/application.properties b/1.x/spring-boot-web/src/main/resources/application.properties deleted file mode 100644 index 16fed3698..000000000 --- a/1.x/spring-boot-web/src/main/resources/application.properties +++ /dev/null @@ -1,32 +0,0 @@ -spring.datasource.url=jdbc:mysql://localhost:3306/test -spring.datasource.username=root -spring.datasource.password=root -spring.datasource.driver-class-name=com.mysql.jdbc.Driver - -spring.jpa.properties.hibernate.hbm2ddl.auto=update -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect -spring.jpa.show-sql= true - -com.neo.title=\u7eaf\u6d01\u7684\u5fae\u7b11 -com.neo.description=\u5206\u4eab\u751f\u6d3b\u548c\u6280\u672f - -# REDIS (RedisProperties) -# Redis\u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09 -spring.redis.database=0 -# Redis\u670d\u52a1\u5668\u5730\u5740 -spring.redis.host=192.168.0.71 -# Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3 -spring.redis.port=6379 -# Redis\u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09 -spring.redis.password= -# \u8fde\u63a5\u6c60\u6700\u5927\u8fde\u63a5\u6570\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09 -spring.redis.pool.max-active=8 -# \u8fde\u63a5\u6c60\u6700\u5927\u963b\u585e\u7b49\u5f85\u65f6\u95f4\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09 -spring.redis.pool.max-wait=-1 -# \u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5927\u7a7a\u95f2\u8fde\u63a5 -spring.redis.pool.max-idle=8 -# \u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5c0f\u7a7a\u95f2\u8fde\u63a5 -spring.redis.pool.min-idle=0 -# \u8fde\u63a5\u8d85\u65f6\u65f6\u95f4\uff08\u6beb\u79d2\uff09 -spring.redis.timeout=0 - diff --git a/1.x/spring-boot-web/src/main/resources/static/css/starter.css b/1.x/spring-boot-web/src/main/resources/static/css/starter.css deleted file mode 100644 index e2fc60cd4..000000000 --- a/1.x/spring-boot-web/src/main/resources/static/css/starter.css +++ /dev/null @@ -1,8 +0,0 @@ -body { - padding-top: 50px; -} - -.starter-template { - padding: 40px 15px; - text-align: center; -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/main/resources/static/images/favicon.png b/1.x/spring-boot-web/src/main/resources/static/images/favicon.png deleted file mode 100644 index 890ef0630fea28e0da2800b179d7de4369ed9b18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1553 zcmb7EeM}Q)81FPuCZdSOk7kqGArqMGeYD)Q9hJ1bD^xA3rD~@YceDqb(7SrQ+Lo{^ zR#{{!h=?{$WgZxx4p$pFF?c z^Zi!Y@^TVJ$VbRzvII*mVHej#>5CgC{*&+ZQQ|U5Ae}-!S0n@}o|YLrTpA?~~@aZ5Z7z`?dDkaAkLx@(Zl{ipTA!;c6VOF3*3f7-8$UxA3H_!M4 zhGPMVkt*Z@f*uq-eH?<p0+C?A92C&cxG{!0`@_D;q4ot%MUee+lOUO!*j)W~JN=D+$u2>O2mX zpm}B~?J@J57wAu~j(Ls;C}C3LFpjC!D2!*?<&CSMM}9Iw7mk=M{QWGwSZjRrrm`g8p)r+ZiHhG^o<`mT;l&neg8N7tHm zH~X?Pnul-wecJl7*hd*x5)L%XPyI~w%a>53!&%+6DQV;V@zWN3wR!jE8L6{3ep_&0 z?vmDwfV+}S?QV#s?>#BEYGMh)7Ai;H2p2B?Ep6Mn=A}QM*B%{PrKxD0oV(8a?hLyt z(KdQqbp45p$@2Kl-uC>o%(;&~nDY9Ll~7mY!|tuE&MQ!-&^z3f+_U9j?6tD}4nvE2 zX2E;6dXkpU{NqZ-_VM3TU&3BFU!FH=3EZ8-9a?icc5vdWHFv_+G*!>qqq~of$*KsN z4(va(IaG7=jh`+Z+P|&y-{8rfIAUKDjvwB{)JJPWam^i5?*{&EAASm-f6dj9dNJ00 z|MtEiRW09Lvkd*T?uf=_hoW>v#`}1z_|CA7Q0(DLN$vTT#qx9U>CLBSbuQcWbv65i zt9VLh@{OF*c~@I{wKJ;i?c0}bk?&Zw{Oat>)|^FcDU09US>dn!GwyEfvBrk3l{@}P aKO}qeZd2s!qCKV3C2b+|h@HlFBL4x+L`ZZ1 diff --git a/1.x/spring-boot-web/src/main/resources/templates/hello.html b/1.x/spring-boot-web/src/main/resources/templates/hello.html deleted file mode 100644 index c417054af..000000000 --- a/1.x/spring-boot-web/src/main/resources/templates/hello.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - -

(navbar)
- -
-
-

Spring MVC / Thymeleaf / Bootstrap

-

(greeting)

-

The current time is (time)

-
-
- - - - - diff --git a/1.x/spring-boot-web/src/main/resources/templates/layout.html b/1.x/spring-boot-web/src/main/resources/templates/layout.html deleted file mode 100644 index 422fbb71e..000000000 --- a/1.x/spring-boot-web/src/main/resources/templates/layout.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - (title) - - - - - - - - -
-
-

Spring MVC/Thymeleaf/Bootstrap

-

(greeting)

-
-
- - - - - diff --git a/1.x/spring-boot-web/src/test/java/com/neo/ApplicationTests.java b/1.x/spring-boot-web/src/test/java/com/neo/ApplicationTests.java deleted file mode 100644 index 2a0c47c8f..000000000 --- a/1.x/spring-boot-web/src/test/java/com/neo/ApplicationTests.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.neo; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - System.out.println("hello web"); - } - -} diff --git a/1.x/spring-boot-web/src/test/java/com/neo/domain/UserRepositoryTests.java b/1.x/spring-boot-web/src/test/java/com/neo/domain/UserRepositoryTests.java deleted file mode 100644 index ed372a0ec..000000000 --- a/1.x/spring-boot-web/src/test/java/com/neo/domain/UserRepositoryTests.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.neo.domain; - -import java.text.DateFormat; -import java.util.Date; - -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.neo.Application; -import org.springframework.test.context.junit4.SpringRunner; - - -@RunWith(SpringRunner.class) -@SpringBootTest -public class UserRepositoryTests { - - @Autowired - private UserRepository userRepository; - - @Test - public void test() throws Exception { - Date date = new Date(); - DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); - String formattedDate = dateFormat.format(date); - - userRepository.save(new User("aa1", "aa@126.com", "aa", "aa123456",formattedDate)); - userRepository.save(new User("bb2", "bb@126.com", "bb", "bb123456",formattedDate)); - userRepository.save(new User("cc3", "cc@126.com", "cc", "cc123456",formattedDate)); - - Assert.assertEquals(9, userRepository.findAll().size()); - Assert.assertEquals("bb", userRepository.findByUserNameOrEmail("bb", "cc@126.com").getNickName()); - userRepository.delete(userRepository.findByUserName("aa1")); - } - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/test/java/com/neo/util/TestRedis.java b/1.x/spring-boot-web/src/test/java/com/neo/util/TestRedis.java deleted file mode 100644 index ee0018877..000000000 --- a/1.x/spring-boot-web/src/test/java/com/neo/util/TestRedis.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.neo.util; - -import java.util.concurrent.TimeUnit; - -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.neo.Application; -import com.neo.domain.User; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class TestRedis { - - @Autowired - private StringRedisTemplate stringRedisTemplate; - - @Autowired - private RedisTemplate redisTemplate; - - @Test - public void test() throws Exception { - stringRedisTemplate.opsForValue().set("aaa", "111"); - Assert.assertEquals("111", stringRedisTemplate.opsForValue().get("aaa")); - } - - @Test - public void testObj() throws Exception { - User user=new User("aa@126.com", "aa", "aa123456", "aa","123"); - ValueOperations operations=redisTemplate.opsForValue(); - operations.set("com.neox", user); - operations.set("com.neo.f", user,1,TimeUnit.SECONDS); - Thread.sleep(1000); - //redisTemplate.delete("com.neo.f"); - boolean exists=redisTemplate.hasKey("com.neo.f"); - if(exists){ - System.out.println("exists is true"); - }else{ - System.out.println("exists is false"); - } - // Assert.assertEquals("aa", operations.get("com.neo.f").getUserName()); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/test/java/com/neo/web/HelloControlerTests.java b/1.x/spring-boot-web/src/test/java/com/neo/web/HelloControlerTests.java deleted file mode 100644 index f0a83c9ae..000000000 --- a/1.x/spring-boot-web/src/test/java/com/neo/web/HelloControlerTests.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.neo.web; - -import static org.hamcrest.Matchers.equalTo; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.MediaType; -import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -import static org.hamcrest.Matchers.equalTo; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -import com.neo.web.HelloController; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class HelloControlerTests { - - private MockMvc mvc; - - @Before - public void setUp() throws Exception { - mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build(); - } - - @Test - public void getHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andDo(MockMvcResultHandlers.print()) - .andReturn(); - } - - - - @Test - public void testHello() throws Exception { - mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().string(equalTo("Hello World"))); - } - - -} \ No newline at end of file diff --git a/1.x/spring-boot-web/src/test/java/com/neo/web/ProPertiesTest.java b/1.x/spring-boot-web/src/test/java/com/neo/web/ProPertiesTest.java deleted file mode 100644 index ae0b39960..000000000 --- a/1.x/spring-boot-web/src/test/java/com/neo/web/ProPertiesTest.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.neo.web; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.neo.Application; -import com.neo.util.NeoProperties; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest -public class ProPertiesTest { - - - @Autowired - private NeoProperties neoProperties; - - - @Test - public void getHello() throws Exception { - System.out.println(neoProperties.getTitle()); - Assert.assertEquals(neoProperties.getTitle(), "纯洁的微笑"); - Assert.assertEquals(neoProperties.getDescription(), "分享生活和技术"); - } - - - @Test - public void testMap() throws Exception { - Map orderMinTime=new HashMap(); - long xx=orderMinTime.get("123"); - } - -} \ No newline at end of file