자동 조립은 springboot의 핵심입니다. 일반적으로 자동 조립은 springboot와 관련이 있습니다. 실제로 Spring Framework에서는 이미 이 기능을 구현했습니다. Spring Boot는 SPI를 통해서만 이를 더욱 최적화합니다.
SpringBoot는 인터페이스 사양 세트를 정의합니다. 이 사양 세트는 SpringBoot가 시작 시 외부 참조 jar 패키지의 META-INF/spring.factories 파일을 스캔하고 파일에 구성된 유형 정보를 Spring 컨테이너에 로드하도록 규정합니다. 여기에는 JVM 클래스 로딩 메커니즘과 Spring 컨테이너 지식이 포함되며 클래스에 정의된 다양한 작업을 수행합니다. 외부 jar의 경우 SpringBoot
@EnableAutoConfiguration: 스캔 패키지 범위는 기본적으로 현재 클래스입니다.
@ComponentScan(" ") 패키지 검색 범위는 기본적으로 현재 클래스가 있는 전체 패키지의 모든 클래스로 설정됩니다.
패키지 검색 범위는 @EnableAutoConfiguration보다 크고 @ComponentScan(" ")은 @EnableAutoConfiguration을 사용하여 프로그램을 시작합니다.
@EnableAutoConfiguration
@ComponentScan("타사 패키지")
app.run()
@SpringBootApplication 형제 패키지의 패키지 범위와 현재 패키지를 스캔합니다.
@SpringBootApplication의 하단 레이어는 @EnableAutoConfiguration+@ComponentScan과 동일합니다. 타사 패키지를 스캔하지 마세요
1. 먼저 관련 종속성을 가져옵니다
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>1.9.1.RELEASE</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.7.8</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
2. 프로젝트
4. 리소스 아래에 application.propertis를 생성하고
DROP TABLE IF EXISTS `category`; CREATE TABLE `category` ( `cid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, `cname` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, PRIMARY KEY (`cid`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of category -- ---------------------------- INSERT INTO `category` VALUES ('c001', '家电'); INSERT INTO `category` VALUES ('c002', '鞋服'); INSERT INTO `category` VALUES ('c003', '化妆品'); INSERT INTO `category` VALUES ('c004', '汽车'); -- ---------------------------- -- Table structure for products -- ---------------------------- DROP TABLE IF EXISTS `products`; CREATE TABLE `products` ( `pid` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, `pname` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, `price` int NULL DEFAULT NULL, `flag` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, `category_id` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, PRIMARY KEY (`pid`) USING BTREE, INDEX `category_id`(`category_id`) USING BTREE, CONSTRAINT `products_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `category` (`cid`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of products -- ---------------------------- INSERT INTO `products` VALUES ('p001', '小\r\n米电视 机', 5000, '1', 'c001'); INSERT INTO `products` VALUES ('p002', '格\r\n力空调', 3000, '1', 'c001'); INSERT INTO `products` VALUES ('p003', '美\r\n的冰箱', 4500, '1', 'c001'); INSERT INTO `products` VALUES ('p004', '篮\r\n球鞋', 800, '1', 'c002'); INSERT INTO `products` VALUES ('p005', '运\r\n动裤', 200, '1', 'c002'); INSERT INTO `products` VALUES ('p006', 'T\r\n恤', 300, '1', 'c002'); INSERT INTO `products` VALUES ('p009', '篮球', 188, '1', 'c002');
5. pojo
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql:///springboot #日志 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl mybatis.mapper-locations=classpath:mapper/*.xml
6 아래에 엔터티 클래스를 생성합니다. mybatisplus가 캡슐화하기 때문입니다. 단일 테이블의 추가, 삭제, 수정 및 쿼리는 BaseMapper 인터페이스를 상속하는 것뿐입니다. 7. 리소스 아래의 매퍼 아래에 ProductsDao.xml을 생성합니다. 8. 테스트 패키지 아래의 테스트 클래스에서 테스트합니다.
테스트 완료
위 내용은 MyBatisPlus를 통합하기 위한 Java SpringBoot의 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!