项目作者: lizhaoshuai

项目描述 :
SpringBoo和其他技术的整合
高级语言: Java
项目地址: git://github.com/lizhaoshuai/springboot_integration.git
创建时间: 2019-07-29T01:28:03Z
项目社区:https://github.com/lizhaoshuai/springboot_integration

开源协议:

下载


SpringBoot与其他技术的整合

1、SpringBoot整合Jsp

1.1 pom.xml添加Jsp依赖
  1. <!-- 整合Jsp -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-tomcat</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.tomcat.embed</groupId>
  8. <artifactId>tomcat-embed-jasper</artifactId>
  9. </dependency>
  10. <!-- JSTL -->
  11. <dependency>
  12. <groupId>jstl</groupId>
  13. <artifactId>jstl</artifactId>
  14. <version>1.2</version>
  15. </dependency>
1.2 创建配置文件application.yml
  1. spring:
  2. mvc:
  3. view:
  4. prefix: /
  5. suffix: .jsp
1.3 创建Handler

3、SpringBoot整合Mybatis

3.1 pom.xml添加Mybaits依赖
  1. <!-- Mybaits依赖 -->
  2. <dependency>
  3. <groupId>org.mybatis.spring.boot</groupId>
  4. <artifactId>mybatis-spring-boot-starter</artifactId>
  5. <version>2.0.1</version>
  6. </dependency>
3.2 pom.xml添加数据库驱动依赖
  1. <!-- MYSQL数据库连接驱动 -->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. <version>5.1.49</version>
  6. <scope>runtimer</scope>
  7. </dependency>
3.3 添加数据库连接信息

在application.yml中添加数据库的连接信息

  1. # DB Configuration:
  2. spring:
  3. datasource:
  4. driver-class-name: com.mysql.jdbc.Driver
  5. url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
  6. password: ****
3.4 创建student表
  1. -- -------------------------------
  2. -- TABLE STRUCTURE FOR 'student'
  3. -- -------------------------------
  4. DROP TABLE IF EXISTS `student`;
  5. CREATE TABLE `student` (
  6. `id` INT(11) NOT NULL AUTO_INCREMENT,
  7. `username` VARCHAR(50) DEFAULT NULL,
  8. `password` VARCHAR(50) DEFAULT NULL,
  9. `name` VARCHAR(50) DEFAULT NULL,
  10. PRIMARY KEY (`id`)
  11. )ENGINE=INNODB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
  12. -- -------------------------------
  13. -- RECORDS OF student
  14. -- -------------------------------
  15. INSERT INTO `student` VALUES('1','zhangsan','123','张三');
  16. INSERT INTO `student` VALUES('2','lisi','123','李四');
3.5 创建实体Ben
  1. public class Student {
  2. private Integer id;
  3. private String username;
  4. private String password;
  5. private String name;
  6. ...
  7. 省略GetterSetter方法
  8. }
3.6 编写Mapper
  1. @Mapper
  2. public interface StudentMapper {
  3. public List<Student> findAll();
  4. }
3.7 配置Mapper映射文件
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.qianqiao.mapper.StudentMapper">
  4. <select id="findAll" resultType="student">
  5. select * from student
  6. </select>
  7. </mapper>
3.8 在application.yml中添加Mybatis的信息
  1. # Mybatis配置信息
  2. # Spring集成Mybatis环境
  3. mybatis:
  4. # pojo别名扫描报
  5. type-aliases-package: com.qianqiao.entity
  6. # 加载Mybatis映射文件
  7. mapper-locations: classpath:mapper/*Mapper.xml
3.9 编写测试Controller
  1. @RestController
  2. public class MybatisController {
  3. @Autowired
  4. private StudentMapper studentMapper;
  5. @GetMapping("/findAll")
  6. public List<Student> findAll(){
  7. List<Student> students = studentMapper.findAll();
  8. return students;
  9. }
  10. }

4、SpringBoot整合junit

4.1 pom.xml添加junit依赖
  1. <!-- junit测试依赖 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-test</artifactId>
  5. <scope>test</scope>
  6. </dependency>
4.2 编写测试类
  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class MybatisTest {
  4. @Autowired
  5. private StudentMapper studentMapper;
  6. @Test
  7. public void findAll(){
  8. List<Student> students = studentMapper.findAll();
  9. System.out.println(students);
  10. }
  11. }

5、SpringBoot整合Spring Date JPA

5.1 pom.xml添加Spring Date JPA依赖
  1. <!--添加springdata-jpa依赖 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-data-jpa</artifactId>
  5. </dependency>
5.2 pom.xml添加数据库驱动依赖
  1. <!--添加MySQL驱动依赖 -->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. <version>5.1.49</version>
  6. <scope>runtimer</scope>
  7. </dependency>
5.3 在application.yml中配置数据库和jpa的相关属性
  1. # DB Configuration:
  2. spring:
  3. datasource:
  4. driver-class-name: com.mysql.jdbc.Driver
  5. url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
  6. username: root
  7. password: ****
  8. # JPA Configuration:
  9. jpa:
  10. database: MySQL
  11. show-sql: true
  12. generate-ddl: true
  13. hibernate:
  14. ddl-auto: update
5.4 创建和配置实体
  1. @Data
  2. @Entity
  3. public class Student {
  4. @Id
  5. @GeneratedValue(strategy = GenerationType.IDENTITY) //IDENTITY 自增
  6. private Integer id;
  7. private String username;
  8. private String password;
  9. private String name;
  10. }
5.5 编写StudentRepository
  1. public interface StudentRepository extends JpaRepository<Student,Integer> {
  2. public List<Student> findAll();
  3. }
5.6 编写测试类
  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest(classes = SpringbootJpaApplication.class)
  3. public class JpaTests {
  4. @Autowired
  5. private StudentRepository studentRepository;
  6. @Test
  7. public void test() {
  8. List<Student> students = studentRepository.findAll();
  9. System.out.println(students);
  10. }
  11. }

7、SpringBoot整合Redis

7.1 pom.xml添加Redis依赖
  1. <!--添加Redis依赖 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-data-redis</artifactId>
  5. </dependency>
7.2 编写测试类
  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest(classes = SpringbootJpaApplication.class)
  3. public class RedisTest {
  4. @Autowired
  5. private RedisTemplate<String,String> redisTemplate;
  6. @Autowired
  7. private StudentRepository studentRepository;
  8. @Test
  9. public void test() throws Exception{
  10. // 1、从Redis中获取数据(数据的形式为json字符串)
  11. String studentListJson = redisTemplate.boundValueOps("studentRepository.findAll").get();
  12. // 2、判断Redis中是否存在数据
  13. if (null == studentListJson){
  14. // 3、不存在从数据库中查询
  15. List<Student> students = studentRepository.findAll();
  16. // 4、将查询出来的数据存储到Redis缓存中
  17. ObjectMapper objectMapper = new ObjectMapper();
  18. studentListJson = objectMapper.writeValueAsString(students);
  19. redisTemplate.boundValueOps("studentRepository.findAll").set(studentListJson);
  20. System.out.println("=========从数据库中查询==========");
  21. }else {
  22. System.out.println("===========从Redis缓存中获取==========");
  23. }
  24. // 5、将数据打印到控制台
  25. System.out.println(studentListJson);
  26. }
  27. }