Spring学习——SpringBoot整合第三方技术

整合JUnit

  • Spring整合JUnit
//设置运行器
@Runwith(SpringJUnit4ClassRunner.class)
//加载环境
@ContextConfiguration(classes = SpringConfig.class)
public class UserServiceTest {
    //注入测试对象
    @Autowired
    private BookService bookService;
    //测试功能
    @Test
    public void testSave(){
    	bookService.save();
    }
}
  • SpringBoot整合JUnit
@SpringBootTest
class Springboot07JunitApplicationTests {
	@Autowired
	private BookService bookService;
    @Test
	public void testSave(){
    	bookService.save();
    }
}

  • 名称:@SpringBootTest

  • 类型:测试类注解

  • 位置:测试类定义上方

  • 作用:设置JUnit加载的SpringBoot启动类

  • 范例:

    @SpringBootTest(classes = Springboot07JunitApplication.class)
    class Springboot07JunitApplicationTests {}
    
  • 相关属性
    classes:设置springBoot启动类

如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是省略classes的设定.


基于SpringBoot实现SSM整合

SpringBoot整合Spring

  • 不需要

SpringBoot整合SpringMvC

  • 不需要

SpringBoot整合MyBatis

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)
public class JdbcConfig {
    @Value( "${jdbc.driver}")
    private String driver;
    @Value("${jdbc.ur1}")
    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(ur1);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }
}
#jdbc.properties
jdbc.driver=com.mysq1.jdbc.Driver
jdbc.ur1=jdbc:mysql://loca1host:3306/spring_db
jdbc.username=root
jdbc.password=passwd
  • MyBatisConfig

    • 定义SqlSessionFactoryBean

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

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

SpringBoot整合Mybatis

  1. 创建项目,选择Spring初始化,配置模块相关信息
  2. 选择当前模块需要用到的技术集(Mybatis,Mysql)

1

  1. 设置数据源参数
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: passwd
  • 注意:SpringBoot2.4.3(不含)以前的版本需要在配置文件的url中加上时区

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/ssm_db
        username: root
        password: passwd
    

    或在Mysql数据库端配置时区解决问题

  1. 定义数据层接口与映射配置
@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);

    @Select("select * from tbl_book")
    public List<Book> getAll();
}
  1. 测试类中注入dao接口,测试功能
@SpringBootTest
class Springboote8MybatisApplicationTests {
    @Autowired
    private BookDao bookDao;
    
    @Test
    void testGetById() {
        Book book = bookDao.getById(1);
        System.out.println(book);
    }
    @Test
    void testGetAll() {
        for (Book book : bookDao.getAll()) {
            System.out.println(book);
        }
    }
}

配置其他数据源

  1. 导入数据源依赖
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>
  1. 在配置文件中指定数据源
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: passwd
    type: com.alibaba.druid.pool.DruidDataSource

配置前端页面

  • 将前端页面直接放在src/main/resources/static目录下即可

2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值