自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SpringBoot入門練習(xí)

開發(fā)
今天給大家?guī)鞸pringBoot入門練習(xí)的一些方法

一、創(chuàng)建項(xiàng)目出現(xiàn)的問題

  1. 問題1、application.yml文件無法識(shí)別 
  2.     *解決方法:File->Settions->Plugins目錄下    選中YAML,重啟IDEA問題2、application.yml文件圖標(biāo)錯(cuò)誤 
  3.     *解決方法:File->Settings->File Types下    刪除*.yml 

二、創(chuàng)建一個(gè)SpringBoot的項(xiàng)目

1 New Project
2 選擇Spring Initializr
3 選擇Web下的Web,然后Flish
4 導(dǎo)入依賴

  1. <!--SpringBoot起步依賴--> 
  2. <parent> 
  3.    <groupId>org.springframework.boot</groupId> 
  4.    <artifactId>spring-boot-starter-parent</artifactId> 
  5.    <version>2.1.5.RELEASE</version> 
  6. </parent> 
  7. <dependencies> 
  8.    <!--web功能的起步依賴:SpringBoot集成SpringMVC進(jìn)行Controller開發(fā)--> 
  9.    <dependency> 
  10.        <groupId>org.springframework.boot</groupId> 
  11.        <artifactId>spring-boot-starter-web</artifactId> 
  12.    </dependency> 
  13.    <!--熱部署--> 
  14.    <dependency> 
  15.        <groupId>org.springframework.boot</groupId> 
  16.        <artifactId>spring-boot-devtools</artifactId> 
  17.    </dependency> 
  18. </dependencies> 

IDEA設(shè)置,完成熱部署

在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中        自動(dòng)根據(jù)spring-boot-starter-parent的版本匹配相應(yīng)的版本,進(jìn)行了版本控制的作用    自動(dòng)配置分析:    @SpringBootApplication        標(biāo)志該類是一個(gè)配置類:@Configration 

三、SpringBoot整合Mybatis

第1步:導(dǎo)依賴:

 

  1. <!--mybatis起步依賴--> 
  2. <dependency> 
  3.     <groupId>org.mybatis.spring.boot</groupId> 
  4.     <artifactId>mybatis-spring-boot-starter</artifactId> 
  5.     <version>2.0.1</version> 
  6. </dependency> 
  7. <!--MySQL依賴--> 
  8. <dependency> 
  9.     <groupId>mysql</groupId> 
  10.     <artifactId>mysql-connector-java</artifactId> 
  11.     <version>5.1.6</version> 
  12. </dependency> 

 

第2步:yml配置文件

數(shù)據(jù)庫配置spring:
配置Mybatis配置信息
spring集成Mybatis環(huán)境
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步:創(chuàng)建實(shí)體

  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步:創(chuàng)建接口

  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<User> queryUserList(); 

第5步:創(chuàng)建映射文件

  1. <?xml version="1.0" encoding="utf-8" ?> 
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
  3.     "http://mybatis.org/dtd/mybatis-3-mapper.dtd"
  4. <mapper namespace="com.zero.mapper.UserMapper"
  5.     <select id="queryUserList" resultType="user"
  6.         SELECT * FROM demo    </select
  7. </mapper> 

第6步:測(cè)試

  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<User> queryUserList(){ 
  15.         List<User> users = userMapper.queryUserList(); 
  16.         return users; 
  17.     } 

四、SpringBoot整合Spring Data JPA
第1步:導(dǎo)入依賴

  1. <!--spring-data-jpa--> 
  2. <dependency> 
  3.     <groupId>org.springframework.boot</groupId> 
  4.     <artifactId>spring-boot-starter-data-jpa</artifactId> 
  5. </dependency> 
  6. <!--Mysql驅(qū)動(dòng)--> 
  7. <dependency> 
  8.     <groupId>mysql</groupId> 
  9.     <artifactId>mysql-connector-java</artifactId> 
  10.     <version>5.1.6</version> 
  11. </dependency> 
  12. <!--jdk9需要導(dǎo)入--> 
  13. <dependency> 
  14.     <groupId>javax.xml.bind</groupId> 
  15.     <artifactId>jaxb-api</artifactId> 
  16.     <version>2.3.0</version> 
  17. </dependency> 

第2步:創(chuàng)建實(shí)體,使用注解進(jìn)行配置

  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步:創(chuàng)建接口

  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<User,Integer> { 
  6.     public List<User> findAll(); 

第4步:創(chuàng)建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步:測(cè)試

  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<Userall = userReposytory.findAll();        System.out.println(all); 
  18.     }} 

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

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

第2步:測(cè)試

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<String,String> redisTemplate; 
  17.     @Autowired 
  18.     private UserReposytory userReposytory; 
  19.     @Test 
  20.     public void test() throws JsonProcessingException { 
  21.         //1.從Redis中獲取數(shù)據(jù),json字符串 
  22.         String s = redisTemplate.boundValueOps("user.findall").get(); 
  23.         //2.判斷Redis中是否存在想要的數(shù)據(jù) 
  24.         if(null==s){ 
  25.             //3.1:不存在,從數(shù)據(jù)庫中查詢 
  26.             List<Userall = userReposytory.findAll(); 
  27.             //3.2:將查詢出的數(shù)據(jù)存儲(chǔ)到Redis中 
  28.             //通過web先將集合換換成json的字符串,使用Jackson進(jìn)行轉(zhuǎn)換 
  29.             ObjectMapper ob = new ObjectMapper(); 
  30.             s = ob.writeValueAsString(all); 
  31.             redisTemplate.boundValueOps("user.findall").set(s); 
  32.             System.out.println("從數(shù)據(jù)庫中獲取數(shù)據(jù)"); 
  33.         }else { 
  34.             System.out.println("從Redis緩存中獲取數(shù)據(jù)"); 
  35.         } 
  36.         //4.將數(shù)據(jù)打印在控制臺(tái) 
  37.         System.out.println(s); 
  38.     } 

 

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2017-09-12 10:26:47

springbootmaven結(jié)構(gòu)

2021-04-07 08:43:09

SpringBootRocketMQ開發(fā)技術(shù)

2024-08-27 09:09:49

Web系統(tǒng)JSP

2023-10-13 08:23:05

2017-08-10 10:28:43

SpringBootSpring

2020-12-24 08:07:18

SpringBootSpring SecuWeb

2021-01-19 12:33:32

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-06-28 07:13:33

進(jìn)階Vim筆記

2021-01-19 10:09:02

鴻蒙HarmonyOS應(yīng)用

2009-08-03 18:46:38

Silverlight

2019-12-06 09:30:55

curl命令Linux

2021-10-19 09:59:25

二分法排序數(shù)組

2011-06-14 16:33:21

Android視頻教程

2021-03-29 10:10:15

Linuxgrep

2020-09-23 10:24:45

數(shù)據(jù)庫SQL技術(shù)

2011-02-28 13:34:51

SpringMVC

2024-09-29 00:00:02

2017-08-17 08:59:40

磁盤RAIDShell

2012-11-05 10:33:40

IBMdw

2021-06-16 12:57:27

FreeDOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)