基于SpringBoot的完成SSM整合项目开发

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 基于SpringBoot的完成SSM整合项目开发

1. 整合JUnit


问题导入

回忆一下Spring整合JUnit的步骤?


1.1 Spring整合JUnit(复习)


809a2e16a98765e1310385789428bd54_6a9a464e883053edf14c2da07e7d3575.png


1.2 SpringBoot整合JUnit


【第一步】添加整合junit起步依赖(可以直接勾选)


<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>


【第二步】编写测试类,默认自动生成了一个


@SpringBootTest
class Springboot07JunitApplicationTests {
    @Autowired
    private BookService bookService;
    @Test
    public void testSave() {
        bookService.save();
    }
}


2. 基于SpringBoot实现SSM整合


问题导入

回忆一下Spring整合MyBatis的核心思想?


2.1 Spring整合MyBatis(复习)


SpringConfig


导入JdbcConfig
导入MyBatisConfig
@Configuration
@ComponentScan("com.itheima")
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class, MyBatisConfig.class})
public class SpringConfig {
}


JDBCConfig


定义数据源(加载properties配置项:driver、url、username、password)
#jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_db
jdbc.username=root
jdbc.password=itheima


public class JdbcConfig {
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String userName;
    @Value("${jdbc.password}")
    private String password;
    @Bean
    public DataSource getDataSource() {
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }
}



MyBatisConfig


定义SqlSessionFactoryBean
定义映射配置
@Bean
public SqlSessionFactoryBean getSqlSessionFactoryBean(DataSource dataSource) {
    SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
    ssfb.setTypeAliasesPackage("com.itheima.domain");
    ssfb.setDataSource(dataSource);
    return ssfb;
}


@Bean
public MapperScannerConfigurer getMapperScannerConfigurer() {
    MapperScannerConfigurer msc = new MapperScannerConfigurer();
    msc.setBasePackage("com.itheima.dao");
    return msc;
}


2.2 SpringBoot整合MyBatis


SpringBoot整合Spring(不存在)

SpringBoot整合SpringMVC(不存在)

SpringBoot整合MyBatis(主要)

①:创建新模块,选择Spring初始化,并配置模块相关基础信息


8153a33058f69a72ac66f18189a360cb_f59912f94c75e7ba41d54e83fe97ffb7.png


②:选择当前模块需要使用的技术集(MyBatis、MySQL)


059fa019df31c1fe3f7186908276dc80_808665442d6a73509750892a509f3482.png


③:设置数据源参数


spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource


注意事项:


SpringBoot版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区,或在MySQL数据库端配置时区解决此问题


jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC


④:定义数据层接口与映射配置


@Mapper
public interface UserDao {
    @Select("select * from tbl_book where id=#{id}")
    Book getById(Integer id);
}


⑤:测试类中注入dao接口,测试功能


@SpringBootTest
class Springboot08MybatisApplicationTests {
    @Autowired
    private BookDao bookDao;
    @Test
    public void testGetById() {
        Book book = bookDao.getById(1);
        System.out.println(book);
    }
}


2.3 案例-SpringBoot实现ssm整合


【第一步】创建SpringBoot工程,添加druid依赖


<!-- todo 1 添加druid连接池依赖-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.6</version>
</dependency>


【第二步】复制springmvc工程各种资源(主java类、页面、测试类)


【第三步】删除config包中的所有配置,在BookDao接口上加@Mapper注解


//todo 3 在BookDao接口上加@Mapper注解,让SpringBoot给接口创建代理对象
@Mapper
public interface BookDao {
    //...
}


【第四步】将application.properties修改成application.yml,配置端口号和连接参数


server:
  port: 80
# todo 4 配置数据库连接参数
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource


【第五步】修改BookServiceTest配置类,进行配置


// todo 5 修改单元测试类,添加@SpringBootTest主键,修复@Test注解导包
@SpringBootTest
public class BookServiceTest {
    @Autowired
    private BookService bookService;
    @Test
    public void testGetById(){
        Book book = bookService.getById(2); //传递参数1会抛出异常
        System.out.println(book);
    }
    @Test
    public void testGetAll(){
        List<Book> all = bookService.getAll();
        System.out.println(all);
    }
}



【第六步】在static目录中提供index.html页面,跳转到"pages/books.html"


<script>
    location.href="pages/books.html"
</script>


最后:运行引导类即可访问

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
918 37
|
Java 关系型数据库 MySQL
SpringBoot整合JUnit、MyBatis、SSM
SpringBoot整合JUnit、MyBatis、SSM
163 4
|
JavaScript Java 测试技术
基于小程序的教育培训微信小程序ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的教育培训微信小程序ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
142 1
|
JavaScript Java 测试技术
基于小程序的外卖小程序ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的外卖小程序ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
132 2
|
JavaScript Java 测试技术
松江大学城就餐推荐系统+ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
松江大学城就餐推荐系统+ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
132 1
|
JavaScript Java 测试技术
食堂订餐小程序ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
食堂订餐小程序ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
133 1
|
JavaScript Java 测试技术
基于微信小程序的校园综合服务平台ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序的校园综合服务平台ssm+springboot+vue.js附带文章和源代码设计说明文档ppt
284 1
|
11月前
|
存储 Java 关系型数据库
ssm026校园美食交流系统(文档+源码)_kaic
本文介绍了基于Java语言和MySQL数据库的校园美食交流系统的设计与实现。该系统采用B/S架构和SSM框架,旨在提高校园美食信息管理的效率与便捷性。主要内容包括:系统的开发背景、目的及内容;对Java技术、MySQL数据库、B/S结构和SSM框架的介绍;系统分析部分涵盖可行性分析、性能分析和功能需求分析;最后详细描述了系统各功能模块的具体实现,如登录、管理员功能(美食分类管理、用户管理等)和前台首页功能。通过此系统,管理员可以高效管理美食信息,用户也能方便地获取和分享美食资讯,从而提升校园美食交流的管理水平和用户体验。
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
10月前
|
Java 关系型数据库 MySQL
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
本文针对高校体育场管理系统的开发与实现进行详细介绍。随着经济快速发展,人们对手机软件需求增加,高校体育场管理系统应运而生。系统采用JAVA技术、Mysql数据库和SSM框架等成熟技术,通过分析功能需求、可行性及性能,设计出包含管理员、用户和学生角色的功能模块。系统实现用户注册登录、信息管理等功能,简化传统手工统计模式,提高管理效率,满足用户对信息获取的及时性与准确性需求。
weixin050高校体育场管理系统+ssm(文档+源码)_kaic

热门文章

最新文章