SpringBoot入门练习

一、创建项目出现的问题

 
 
  1. 问题1、application.yml文件无法识别 
  2.     *解决方法:File->Settions->Plugins目录下    选中YAML,重启IDEA问题2、application.yml文件图标错误 
  3.     *解决方法:File->Settings->File Types下    删除*.yml 

二、创建一个SpringBoot的项目

1 New Project
2 选择Spring Initializr
3 选择Web下的Web,然后Flish
4 导入依赖

 
 
  1.  
  2.  
  3.    org.springframework.boot 
  4.    spring-boot-starter-parent 
  5.    2.1.5.RELEASE 
  6.  
  7.  
  8.     
  9.     
  10.        org.springframework.boot 
  11.        spring-boot-starter-web 
  12.     
  13.     
  14.     
  15.        org.springframework.boot 
  16.        spring-boot-devtools 
  17.     
  18.  

IDEA设置,完成热部署

在Settings中找到Compiler,选中Build Project automatically
按Ctrl+Shift+Alt+/:选中compiler.automake.allow.when.app.running

底层分析:

 
 
  1. spring-boot-starter-parent:springboot起步依赖 
  2.     在spring-boot-starter-parent中    resources资源引入:        ${basedir}/src/main/resources下的            application*.yml            application*.yaml            application*.properties文件    在spring-boot-dependencies中        自动根据spring-boot-starter-parent的版本匹配相应的版本,进行了版本控制的作用    自动配置分析:    @SpringBootApplication        标志该类是一个配置类:@Configration 

三、SpringBoot整合Mybatis

第1步:导依赖:

  1.  
  2.  
  3.     org.mybatis.spring.boot 
  4.     mybatis-spring-boot-starter 
  5.     2.0.1 
  6.  
  7.  
  8.  
  9.     mysql 
  10.     mysql-connector-java 
  11.     5.1.6 
  12.  

第2步:yml配置文件

数据库配置spring:
配置Mybatis配置信息
spring集成Mybatis环境
pojo别名扫描包

 
 
  1. spring: 
  2. datasource: 
  3. driver-class-name: com.mysql.jdbc.Driver 
  4. url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false 
  5. username: root 
  6. password: 123456 
  7. mybatis: 
  8.     type-aliases-package: com.zero.domain 
  9.     mapper-locations: classpath:mapper/*Mapper.xml 

第3步:创建实体

 
 
  1. package com.zero.domain; 
  2. public class User { 
  3.     private Integer id; 
  4.     private String name; 
  5.     private String pass; 
  6.     public Integer getId() { 
  7.         return id; 
  8.     }    public void setId(Integer id) { 
  9.         this.id = id; 
  10.     }    public String getName() { 
  11.         return name; 
  12.     }    public void setName(String name) { 
  13.         this.name = name; 
  14.     }    public String getPass() { 
  15.         return pass; 
  16.     }    public void setPass(String pass) { 
  17.         this.pass = pass; 
  18.     }    @Override 
  19.     public String toString() { 
  20.         return "User{" + 
  21.             "id=" + id + 
  22.             ", name='" + name + '\'' + 
  23.             ", pass='" + pass + '\'' + 
  24.             '}'; 
  25.         }    } 

第4步:创建接口

 
 
  1. package com.zero.mapper; 
  2. import com.zero.domain.User; 
  3. import org.apache.ibatis.annotations.Mapper; 
  4. import java.util.List; 
  5. @Mapper 
  6. public interface UserMapper { 
  7.     public List queryUserList(); 

第5步:创建映射文件

 
 
  1.  
  2.     "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
  3.  
  4.      
  5.         SELECT * FROM demo     
  6.  

第6步:测试

 
 
  1. package com.zero.controller; 
  2. import com.zero.domain.User; 
  3. import com.zero.mapper.UserMapper; 
  4. import org.springframework.beans.factory.annotation.Autowired; 
  5. import org.springframework.web.bind.annotation.RequestMapping; 
  6. import org.springframework.web.bind.annotation.RestController; 
  7. import java.util.List; 
  8. //以json格式或字符串格式回写 
  9. @RestController 
  10. public class democontroller { 
  11.     @Autowired 
  12.     private UserMapper userMapper; 
  13.     @RequestMapping("/quick") 
  14.     public List queryUserList(){ 
  15.         List users = userMapper.queryUserList(); 
  16.         return users; 
  17.     } 

四、SpringBoot整合Spring Data JPA
第1步:导入依赖

 
 
  1.  
  2.  
  3.     org.springframework.boot 
  4.     spring-boot-starter-data-jpa 
  5.  
  6.  
  7.  
  8.     mysql 
  9.     mysql-connector-java 
  10.     5.1.6 
  11.  
  12.  
  13.  
  14.     javax.xml.bind 
  15.     jaxb-api 
  16.     2.3.0 
  17.  

第2步:创建实体,使用注解进行配置

 
 
  1. package com.zero.domain; 
  2. import javax.persistence.Entity; 
  3. import javax.persistence.GeneratedValue; 
  4. import javax.persistence.GenerationType; 
  5. import javax.persistence.Id; 
  6. @Entity 
  7. public class User { 
  8. @Id 
  9. @GeneratedValue(strategy = GenerationType.IDENTITY) 
  10. private Integer id; 
  11. private String name; 
  12. private String pass; 
  13. public Integer getId() { 
  14.     return id; 
  15. }public void setId(Integer id) { 
  16.     this.id = id; 
  17. }public String getName() { 
  18.     return name; 
  19. }public void setName(String name) { 
  20.     this.name = name; 
  21. }public String getPass() { 
  22.     return pass; 
  23. }public void setPass(String pass) { 
  24.     this.pass = pass; 
  25. }@Override 
  26. public String toString() { 
  27.     return "User{" + 
  28.             "id=" + id + 
  29.             ", name='" + name + '\'' + 
  30.             ", pass='" + pass + '\'' + 
  31.             '}'; 
  32. }} 

第3步:创建接口

 
 
  1. package com.zero.reposytory; 
  2. import com.zero.domain.User; 
  3. import org.springframework.data.jpa.repository.JpaRepository; 
  4. import java.util.List; 
  5. public interface UserReposytory extends JpaRepository { 
  6.     public List findAll(); 

第4步:创建yml配置

 
 
  1. spring: 
  2.     datasource: 
  3.         driver-class-name: com.mysql.jdbc.Driver 
  4.         url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false 
  5.         username: root 
  6.         password: 123456 
  7. #JPA Configuration 
  8.     jpa: 
  9.         database: MySQL 
  10.         show-sql: true 
  11.         generate-ddl: true 
  12.         hibernate: 
  13.             ddl-auto: update 

第5步:测试

 
 
  1. package com.zero; 
  2. import com.zero.domain.User; 
  3. import com.zero.reposytory.UserReposytory; 
  4. import org.junit.Test; 
  5. import org.junit.runner.RunWith; 
  6. import org.springframework.beans.factory.annotation.Autowired; 
  7. import org.springframework.boot.test.context.SpringBootTest; 
  8. import org.springframework.test.context.junit4.SpringRunner; 
  9. import java.util.List; 
  10. @RunWith(SpringRunner.class) 
  11. @SpringBootTest(classes = Demo614Application.class) 
  12. public class JpaTest { 
  13.     @Autowired 
  14.     private UserReposytory userReposytory; 
  15.     @Test 
  16.     public void test(){ 
  17.         List all = userReposytory.findAll();        System.out.println(all); 
  18.     }} 

五、Redis缓存
第1步:配置yml文件信息

 
 
  1. #redis 
  2. redis: 
  3.     host: 127.0.0.1 
  4.     port: 6379 

第2步:测试

package com.zero;

 
 
  1. import com.fasterxml.jackson.core.JsonProcessingException; 
  2. import com.fasterxml.jackson.databind.ObjectMapper; 
  3. import com.zero.domain.User; 
  4. import com.zero.reposytory.UserReposytory; 
  5. import org.junit.Test; 
  6. import org.junit.runner.RunWith; 
  7. import org.springframework.beans.factory.annotation.Autowired; 
  8. import org.springframework.boot.test.context.SpringBootTest; 
  9. import org.springframework.data.redis.core.RedisTemplate; 
  10. import org.springframework.test.context.junit4.SpringRunner; 
  11. import java.util.List; 
  12. @RunWith(SpringRunner.class) 
  13. @SpringBootTest(classes = Demo614Application.class) 
  14. public class RedisTest { 
  15.     @Autowired 
  16.     private RedisTemplate redisTemplate; 
  17.     @Autowired 
  18.     private UserReposytory userReposytory; 
  19.     @Test 
  20.     public void test() throws JsonProcessingException { 
  21.         //1.从Redis中获取数据,json字符串 
  22.         String s = redisTemplate.boundValueOps("user.findall").get(); 
  23.         //2.判断Redis中是否存在想要的数据 
  24.         if(null==s){ 
  25.             //3.1:不存在,从数据库中查询 
  26.             List all = userReposytory.findAll(); 
  27.             //3.2:将查询出的数据存储到Redis中 
  28.             //通过web先将集合换换成json的字符串,使用Jackson进行转换 
  29.             ObjectMapper ob = new ObjectMapper(); 
  30.             s = ob.writeValueAsString(all); 
  31.             redisTemplate.boundValueOps("user.findall").set(s); 
  32.             System.out.println("从数据库中获取数据"); 
  33.         }else { 
  34.             System.out.println("从Redis缓存中获取数据"); 
  35.         } 
  36.         //4.将数据打印在控制台 
  37.         System.out.println(s); 
  38.     } 

新闻标题:SpringBoot入门练习
分享地址:http://www.shufengxianlan.com/qtweb/news5/338455.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联