SpringBoot_03_SpringBoot对其他技术的整合
1.SpringBoot整合Mybatis
1.2 添加Mybatis的起步依赖
- <!--mybatis起步依赖-->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>1.1.1</version>
- </dependency>
1.3添加数据库驱动坐标
- <!-- MySQL连接驱动 -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
1.4添加数据库连接信息
- #DB Configuration:
- spring.datasource.driverClassName=com.mysql.jdbc.Driver
- spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
- spring.datasource.username=root
- spring.datasource.password=root
2 SpringBoot整合Junit
2.1 添加Junit的起步依赖
- <!--测试的起步依赖-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
2.2测试
SpringRunner继承自SpringJUnit4ClassRunner,使用哪一个Spring提供的测试测试引擎都可以
- public final class SpringRunner extends SpringJUnit4ClassRunner
@SpringBootTest的属性指定的是引导类的字节码对象
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = MySpringBootApplication.class)
- public class MapperTest {
- @Autowired
- private UserMapper userMapper;
- @Test
- public void test() {
- List<User> users = userMapper.queryUserList();
- System.out.println(users);
- }
- }
5.3 SpringBoot整合Spring Data JPA
3.1 添加Spring Data JPA的起步依赖
- <!-- springBoot JPA的起步依赖 -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
3.2 添加数据库驱动依赖
- <!-- MySQL连接驱动 -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
3.3 在application.properties中配置数据库和jpa的相关属性
- #DB Configuration:
- spring.datasource.driverClassName=com.mysql.jdbc.Driver
- spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
- spring.datasource.username=root
- spring.datasource.password=root
- #JPA Configuration:
- spring.jpa.database=MySQL
- spring.jpa.show-sql=true
- spring.jpa.generate-ddl=true
- spring.jpa.hibernate.ddl-auto=update
- spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
如果是JDK1.9测试会报错需要加上以下依赖
- <!--jdk9需要导入如下坐标-->
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <version>2.3.0</version>
- </dependency>
4 SpringBoot整合Redis
4.1 添加redis的起步依赖
- <!-- 配置使用redis启动器 -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-redis</artifactId>
- </dependency>
4.2 配置redis的连接信息
- #Redis
- spring.redis.host=127.0.0.1
- spring.redis.port=6379
4.3 注入RedisTemplate测试redis操作
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = SpringbootJpaApplication.class)
- public class RedisTest {
- @Autowired
- private UserRepository userRepository;
- @Autowired
- private RedisTemplate<String, String> redisTemplate;
- @Test
- public void test() throws JsonProcessingException {
- //从redis缓存中获得指定的数据
- String userListData = redisTemplate.boundValueOps("user.findAll").get();
- //如果redis中没有数据的话
- if(null==userListData){
- //查询数据库获得数据
- List<User> all = userRepository.findAll();
- //转换成json格式字符串
- ObjectMapper om = new ObjectMapper();
- userListData = om.writeValueAsString(all);
- //将数据存储到redis中,下次在查询直接从redis中获得数据,不用在查询数据库
- redisTemplate.boundValueOps("user.findAll").set(userListData);
- System.out.println("===============从数据库获得数据===============");
- }else{
- System.out.println("===============从redis缓存中获得数据===============");
- }
- System.out.println(userListData);
- }
- }
<你是我自发三杯也不肯开口的秘密>
SpringBoot_03_SpringBoot对其他技术的整合的更多相关文章
- Spring 5.x 、Spring Boot 2.x 、Spring Cloud 与常用技术栈整合
项目 GitHub 地址:https://github.com/heibaiying/spring-samples-for-all 版本说明: Spring: 5.1.3.RELEASE Spring ...
- 【Spring】对持久层技术的整合
一.持久层技术 二.JdbcTemplate 开发步骤: 1. 导入相关的jar包 2. 配置连接池(数据源) 将参数设置到属性文件中: 3. 创建表 4. 编写实体类 5. Dao层实现 5.1 继 ...
- Spring Boot 整合Web 层技术(整合Servlet)
1 整合Servlet 方式一1.1通过注解扫描完成Servlet 组件的注册 1.1.1创建Servlet /*** 整合Servlet 方式一*/@WebServlet(name = & ...
- .NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- 转载:.NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- (转)iOS Wow体验 - 第八章 - 易用性与自动化技术
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第八章译文精选,也是全书译文的最后一篇.上一篇:W ...
- (转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第五章译文精选,其余章节将陆续放出.上一篇:Wow ...
- 关于Ajax的技术组成与核心原理
1.Ajax 特点: 局部刷新.提高用户的体验度,数据从服务器商加载 2.AJax的技术组成 不是新技术,而是之前技术的整合 Ajax: Asynchronous Javascript And Xml ...
- [转载]CTO和技术总监区别
原文地址:http://blog.sina.com.cn/s/blog_6024cfa90101cb0h.html 技术总监(Chief Technical Officer)与CTO(Chief Te ...
随机推荐
- HTML5字体、伪元素、背景
1.字体样式: 选择器 { font:font-style font-weight font-size / line-height font-family:} 例:p { font: ita ...
- Pregel的应用实例——单源最短路径
- 获取文件或目录的属性 stat 函数
头文件: <sys/types.h> <sys/stat.h> <unistd.h> int stat(const char *path, struct ...
- visual studio 2013下搭建 安卓,ios,wp app开发平台
1.安装 visual studio 2013 + Microsoft Visual Studio 2013 Update 4+Microsoft Build Tools 2015 2.安装java ...
- PHP算法之有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可被认为是 ...
- vue-cli 4058错误
vue搭建项目 执行命令 npm install -g vue-cli 出现错误 4058 1.按照文章http://www.jb51.net/article/126221.htm操作没有效果 2 ...
- 使用jQuery对象
1基本行为 * size()/length: 包含的DOM元素个数 * [index]/get(index): 得到对应位置的DOM元素 * each(): 遍历包含的所有DOM元素 * index( ...
- 【NOI2019模拟2019.7.4】朝夕相处 (动态规划+BM)
Description: 题解: 这种东西肯定是burnside引理: \(\sum置换后不动点数 \over |置换数|\) 一般来说,是枚举置换\(i\),则\(对所有x,满足a[x+i]=a[i ...
- 矩阵乘法分配律+bitset优化——hdu4920
因为是模3,所以把原矩阵拆成两个01矩阵,然后按分配律拆开分别进行矩阵乘法,行列用bitset来存进行优化即可 注意 int bitset<int>::count() 函数可以统计bits ...
- cnn知识点汇总
关于卷积神经网络的入门基础知识: https://blog.csdn.net/weixin_42451919/article/details/81381294 卷积神经网络的相关公式推导: htt ...