当前位置: 首页 > wzjs >正文

自己做网站服务器多少钱上海不限关键词优化

自己做网站服务器多少钱,上海不限关键词优化,广东网站建设方便,珠海市城乡规划建设局网站以下是Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码: 一、Spring集成MyBatis示例 1. 项目结构 spring-mybatis-demo/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com.example/…

以下是Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码:
在这里插入图片描述


一、Spring集成MyBatis示例

1. 项目结构
spring-mybatis-demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com.example/
│   │   │       ├── config/
│   │   │       ├── mapper/
│   │   │       ├── service/
│   │   │       └── web/
│   │   └── resources/
│   │       ├── mybatis-config.xml
│   │       ├── applicationContext.xml
│   │       └── mapper/
│   │           └── UserMapper.xml
│   └── test/
│       └── java/
│           └── com.example/
│               └── UserTest.java
├── pom.xml
└── schema.sql
2. Maven依赖(pom.xml)
<!-- Spring核心 -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.20</version>
</dependency>
<!-- MyBatis -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.10</version>
</dependency>
<!-- MyBatis-Spring整合 -->
<dependency><groupId>org.mybatis.spring</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version>
</dependency>
<!-- 数据库驱动 -->
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.30</version>
</dependency>
<!-- 测试 -->
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope>
</dependency>
3. 数据库表(schema.sql)
CREATE TABLE user (id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(255) NOT NULL,email VARCHAR(255) UNIQUE NOT NULL
);
4. MyBatis全局配置(mybatis-config.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><settings><setting name="cacheEnabled" value="true"/></settings>
</configuration>
5. Spring配置(applicationContext.xml)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 数据源 --><bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/><property name="username" value="root"/><property name="password" value="root"/></bean><!-- MyBatis工厂 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!-- 扫描Mapper接口 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.example.mapper"/></bean></beans>
6. Mapper接口(UserMapper.java)
package com.example.mapper;import com.example.entity.User;public interface UserMapper {User selectById(Long id); // 对应XML中的SQL
}
7. Mapper XML(UserMapper.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper"><select id="selectById" resultType="com.example.entity.User">SELECT * FROM user WHERE id = #{id}</select>
</mapper>
8. Service层(UserService.java)
package com.example.service;import org.springframework.beans.factory.annotation.Autowired;
import com.example.mapper.UserMapper;
import com.example.entity.User;public class UserService {@Autowiredprivate UserMapper userMapper;public User getUser(Long id) {return userMapper.selectById(id);}
}
9. 测试类(UserTest.java)
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class UserTest {@Testpublic void testGetUser() {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = context.getBean(UserService.class);User user = userService.getUser(1L);System.out.println(user.getName());}
}

二、Spring Boot集成MyBatis示例

1. 项目结构
springboot-mybatis-demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com.example/
│   │   │       ├── config/
│   │   │       ├── mapper/
│   │   │       ├── service/
│   │   │       └── Application.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── mapper/
│   │           └── UserMapper.xml
│   └── test/
│       └── java/
│           └── com.example/
│               └── UserTest.java
├── pom.xml
└── schema.sql
2. Maven依赖(pom.xml)
<dependencies><!-- Spring Boot Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- MyBatis Starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><!-- 数据库驱动 --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.30</version></dependency><!-- 测试 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>
3. 数据库表(schema.sql)
// 与Spring示例相同
4. 配置文件(application.properties)
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Drivermybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.entity
5. 启动类(Application.java)
package com.example;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);}
}
6. Mapper接口(UserMapper.java)
package com.example.mapper;import org.apache.ibatis.annotations.Mapper; // 非必需,但显式标注
import com.example.entity.User;@Mapper
public interface UserMapper {User selectById(Long id);
}
7. Mapper XML(UserMapper.xml)
// 与Spring示例相同
8. Service层(UserService.java)
package com.example.service;import org.springframework.beans.factory.annotation.Autowired;
import com.example.mapper.UserMapper;
import com.example.entity.User;@Service // Spring Boot自动扫描组件
public class UserService {@Autowiredprivate UserMapper userMapper;public User getUser(Long id) {return userMapper.selectById(id);}
}
9. 测试类(UserTest.java)
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class UserTest {@Autowiredprivate UserService userService;@Testpublic void testGetUser() {User user = userService.getUser(1L);System.out.println(user.getName());}
}

三、核心差异对比表

特性Spring集成Spring Boot集成
依赖管理需显式声明所有依赖(如MyBatis、Spring模块)通过starter自动引入依赖,减少配置
配置方式XML/Java Config手动配置Bean属性文件(application.properties)+ 注解
数据源配置手动定义dataSource Bean通过spring.datasource前缀自动配置
Mapper扫描MapperScannerConfigurer配置通过@Mapper注解或mybatis.mapper-locations
启动方式ClassPathXmlApplicationContext加载配置单一入口类加@SpringBootApplication注解
测试框架需JUnit4和Spring Test支持Spring Boot Test简化测试配置
环境兼容性兼容传统Spring应用服务器(如Tomcat)内置嵌入式Tomcat,直接运行JAR
代码量配置复杂,需定义多个Bean配置简洁,依赖约定优于配置原则
扩展性手动控制所有配置细节通过@EnableAutoConfiguration禁用自动配置

四、关键差异总结

  1. 依赖简化:Spring Boot通过starter自动管理依赖版本,避免冲突。
  2. 配置自动化:Spring Boot的application.properties替代了大量XML配置,如数据源和Mapper扫描。
  3. 启动便捷性:Spring Boot通过@SpringBootApplication简化了应用启动流程。
  4. 测试效率:Spring Boot的测试框架(如@SpringBootTest)减少了测试代码的复杂性。
  5. 开发模式:Spring Boot遵循“约定优于配置”,适合快速开发;Spring保留了对复杂场景的完全控制能力。
http://www.dtcms.com/wzjs/178830.html

相关文章:

  • 免费货源供应商win优化大师官网
  • 做网站语言知乎东莞seo排名收费
  • 广州网站建设哪家强百度seo指数查询
  • 查询公司的网站备案信息百度爱采购平台登录
  • 手机网站自适应布局怎么做seo域名综合查询
  • 使用vue路由做网站收录优美图片官网
  • 杭州精品课程网站建设售卖链接
  • 电脑怎做单页网站百度推广信息流有用吗
  • 求一个网站上海百度关键词搜索推广服务
  • 做中学数学教案有哪些好的网站网站建设公司好
  • 推广网站的方法有搜索引擎营销、邮件营销谷歌关键词推广怎么做
  • 上海网站制作公司企业培训课程种类
  • 厦门网红如何进行搜索引擎优化?
  • 设计做兼职最好的网站最全bt磁力搜索引擎索引
  • 会员类网站模板2345网址导航下载桌面
  • 一级a做爰片365网站免费引流人脉推广软件
  • 私人定制哪个网站做的比较好产品营销方案策划书
  • 政府建设网站费用seo优化外包顾问
  • 个人网站免费做外贸互联网推广的
  • 湖南营销型网站建设案例宣传网站怎么做
  • 求职网站怎么做互联网广告公司排名前十
  • 工作是否能给我们带来快乐搜索引擎优化seo什么意思
  • 织梦商城网站模板百度网盘网页
  • 如何做网站收徒弟网站泉州百度seo
  • 网站建设综合实训ppt模板网站seo链接购买
  • 公司网站设计规划网站免费软件
  • 网站系统设计方案搜索推广渠道有哪些
  • 中国女排赛程时间最新消息东莞网站优化公司哪家好
  • 网站备案链接直接查看郑州seo排名哪有
  • 重庆有哪些网络公司快速优化排名公司推荐