<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot--基礎

      SpringBoot--基礎

      • SpringBoot的設計目的是用來簡化Spring應用的初始搭建以及開發過程

      idea創建springboot入門步驟(需要idea聯網)

      1. 創建一個空項目

      2. 之后再項目構建中添加springboot相關配置

      本處的springboot版本為2.7.14,如果maven報錯可以自己修改一下版本,最新的3.0版本以上需要jdk17以上

      1. 編寫控制類

        //Rest模式
        @RestController
        @RequestMapping("/book")
        public class BookController {
        
        //    限制為get請求
            @GetMapping
            public  String getById(){
                System.out.println("springboot is running");
                return "springboot is running";
            }
        }
        
      2. 運行

      一些服務器信息

      結果:

      除了idea還可以通過官網創建或者阿里云創建:

      另外在idea選擇阿里云的網頁創建:

      springboot和spring程序的對比

      • Spring程序缺點:
        • 依賴設置繁瑣
        • 配置繁瑣
      • SpringBoot程序優點
        • 起步依賴(簡化依賴配置)
        • 自動配置(簡化常用工程配置)
        • 輔助功能(內置服務器,......)

      springboot入門解析

      parent--管理坐標版本

      管理坐標版本方式

      在pom.xml可以找到parent

      <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>2.5.3</version>
         <relativePath/> <!-- lookup parent from repository -->
      </parent>
      

      starter--定義項目依賴坐標

      即:

      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      

      starter就是一個包含了若干個坐標的依賴集,而一個starter中也可以包括starter,嵌套多層

      starter定義當前項目使用的所有依賴坐標,以達到減少依賴配置的目的,達到簡化配置的目的

      總結:實際開發中我們寫坐標時,只需要寫 ,版本parent幫我們導入,另外如果報錯證明parent中沒有該坐標的版本需要按照以前的寫法把版本也寫上

      引導類

      引導類就是我們創建springboot自帶的那個類

      內嵌Tomcat

      我們可以在starter里面找到tomcat相關坐標:

      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <version>2.5.3</version>
        <scope>compile</scope>
      </dependency>
      

      springboot內置服務器

      把tomcat替換為jetty服務器:

      SpringBoot的基礎配置

      找到resources下的application.properties,這就是springboot的配置文件,通過鍵值對的方式進行配置

      一些配置展示:

      # 服務的端口配置
      server.port=80
      
      #修改banner--啟動springboot項目時的圖案
      ##啟動時圖案出現方式--本處為直接關閉
      spring.main.banner-mode=off
      ##指定banner的圖片
      spring.banner.image.location=xx.png
      
      #控制日志
      #日志級別默認為info--本處為調試級別
      logging.level.root=debug
      #出錯才顯示日志
      #logging.level.root=error
      

      小知識:80端口是瀏覽網頁端口,不用在網址中輸入80,例如localhost:80/aaa直接寫成localhost/aaa

      其他配置自行去官網查閱

      Common Application Properties (spring.io)

      另外springboot提供了多種屬性的配置方式:上面的properties只是其中的一種配置方式:

      現在的主流是yml格式

      yaml語法規則

      語法規則:

      字面值:

      數組:

      變量引用:

      country: sichuan
      
      likes: ${country}\aaa
      #用引號包裹的字符串轉義字符會生效
      likes: "${country}\temp \t1 \t2"
      

      讀取yml的數據

      //  讀取yaml數據中的單一數據
          @Value("${country}")
          private String country1;
      
      //多級數據
      @Value("${country.china}")
      private String country1;
      
      //  讀取yaml數據中的數組
          @Value("${likes[0]}")
          private String country1;
      
      //使用自動裝配將所有數據封裝到該對象中
      @Autowired
      private Environment env;
      //調用方法
      env.getProperty("country")
      

      裝配指定數據:

      #配置文件中
      datasource:
        url: xxx
        driver: com.mysql.jdbc.Driver
        username: root
        password: 123456
      
      //datasource類
      //實例化bean
      @Component
      //指定加載的數據
      @ConfigurationProperties(prefix = "datasource")
      public class MyDataSource {
          private String driver;
          private String url;
          private String username;
          private String password;
      
          @Override
          public String toString() {
              return "MyDataSource{" +
                      "driver='" + driver + '\'' +
                      ", url='" + url + '\'' +
                      ", username='" + username + '\'' +
                      ", password='" + password + '\'' +
                      '}';
          }
      
          public String getDriver() {
              return driver;
          }
      
          public void setDriver(String driver) {
              this.driver = driver;
          }
      
          public String getUrl() {
              return url;
          }
      
          public void setUrl(String url) {
              this.url = url;
          }
      
          public String getUsername() {
              return username;
          }
      
          public void setUsername(String username) {
              this.username = username;
          }
      
          public String getPassword() {
              return password;
          }
      
          public void setPassword(String password) {
              this.password = password;
          }
      
      
      }
      
      //使用
      //    自動裝配
          @Autowired
          private MyDataSource myDataSource;
      

      其他注意事項

      指定springboot的配置文件:

      復制模塊:

      SpringBoot整合第三方技術

      整合JUnit

      SpringBoot是默認導入了Junit的,在對應的starter中

      進行測試的步驟:

      1. 找到test目錄下的該類

      2. 注入要測試的對象

      3. 執行測試對象的方法

        @SpringBootTest
        class Springboot0101QuickstartApplicationTests {
        // 注入測試對象
           @Autowired
           private BookController bookController;
           @Test
           void contextLoads() {
        //    執行對象相關方法
              bookController.getById();
           }
        
        }
        

      之后運行即可,springboot測試的關鍵就是@SpringBootTest注

      但是如果想把測試類換一個位置就需要改一下注解

      至于原因:找不到對應包下的引導類設置

      整合MyBatis

      首先,創建項目的時候勾上這兩個,當然你也可以自己手動添加相關坐標

      配置相關信息:

      # 配置相關信息
      spring:
        datasource:
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql://localhost:3306/jdbcstudy
          username: root
          password: 123456
      

      之后就按照之前mybait學的一樣寫dao層等

      類
      public class Book {
          private int id;
          private String username;
          private int password;
      
          @Override
          public String toString() {
              return "Book{" +
                      "id=" + id +
                      ", username='" + username + '\'' +
                      ", password=" + password +
                      '}';
          }
      
          public int getId() {
              return id;
          }
      
          public void setId(int id) {
              this.id = id;
          }
      
          public String getUsername() {
              return username;
          }
      
          public void setUsername(String username) {
              this.username = username;
          }
      
          public int getPassword() {
              return password;
          }
      
          public void setPassword(int password) {
              this.password = password;
          }
      }
      
      dao:
      @Repository
      @Mapper
      public interface BookDao {
          @Select("select * from user where id = #{id}")
          public Book getById(int id);
      }
      
      測試:
      @SpringBootTest
      class DemoApplicationTests {
      
          @Autowired
          private BookDao bookDao;
          @Test
          void contextLoads() {
              System.out.println(bookDao.getById(1));
          }
      
      }
      

      如果時區錯誤或mysql版本過高:

      spring:
        datasource:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/jdbcstudy?serverTimezone=GMT
          username: root
          password: 123456
          
          
      mybatis-plus:
        global-config:
          db-config:
      #      設置id為自增
            id-type: auto
      

      整合MyBatis-Plus

      類似MyBatis,但是也有一些不同:

      • 導入的坐標不同
      • 數據層實現簡化

      springboot沒有收錄mybatis-plus

      創建方法(第一種--快速):

      • 使用阿里云的創建:

      • 選擇mybatis-plus:

      創建方法(第二種--正統):

      • 選擇默認的創建方法:

      • 在pom文件手動導入mybaits-plus的坐標:

        <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-boot-starter</artifactId>
           <version>3.4.3</version>
        </dependency>
        

      整合使用:

      在之前寫的mybatis整個的基礎上:

      @Repository
      @Mapper
      public  interface  BookDao extends BaseMapper<Book>{
      
      }
      
      //下面改成上面
      //public interface BookDao {
      //    @Select("select * from user where id = #{id}")
      //    public Book getById(int id);
      //}
      

      測試類改為:

      @SpringBootTest
      class DemoApplicationTests {
      
          @Autowired
          private BookDao bookDao;
          @Test
          void contextLoads() {
              //selectById是 BaseMapper的方法,具體自行查閱api
              System.out.println(bookDao.selectById(2));
          }
      
      }
      

      另外,映射數據庫的實體類名字改成和表名一樣

      如果表名叫tb_book,而類叫book,可以在配置文件中為其添加前綴

      #設置mybatis-plus相關配置
      mybatis-plus:
        global-config:
          db-config:
            table-prefix: tb_
      

      整合Druid

      導入druid的starter坐標:

      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid-spring-boot-starter</artifactId>
          <version>1.2.6</version>
      </dependency>
      

      配置方法一:

      在springboot的配置文件中:

      spring:
        datasource:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/jdbcstudy?serverTimezone=GMT
          username: root
          password: 123456
          type: com.alibaba.druid.pool.DruidDataSource
      

      配置方法二:(推薦)

      spring:
        datasource:
         druid:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/jdbcstudy?serverTimezone=GMT
          username: root
          password: 123456
      
      posted @ 2023-09-04 13:21  云歸處、  閱讀(27)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品国产高清国产av| 国产卡一卡二卡三免费入口| 中文字幕日韩一区二区不卡| 国产美女高潮流白浆视频| 中文字幕在线视频不卡一区二区| 嫩草院一区二区乱码| 国产亚洲精品一区二区无| 成人精品一区日本无码网| 精品国产亚洲午夜精品a| 国产一区二区在线影院| 天天躁日日躁狠狠躁性色avq| 国产成人精品午夜二三区| 无码中文字幕人妻在线一区| 成人精品区| 中文字幕国产精品av| 亚洲精品无amm毛片| 超碰人人模人人爽人人喊手机版| 国产一区二区精品久久岳| 成人3d动漫一区二区三区| 国产成人高清亚洲综合| 国产精品日韩深夜福利久久| 亚洲av午夜福利精品一区二区| 国产寡妇偷人在线观看| 人人妻人人澡人人爽人人精品av| 国产精品成人综合色在线| 南岸区| 九九热精彩视频在线免费| 极品少妇无套内射视频| 国产午夜精品在人线播放| 国产成人一区二区三区免费| 国产精品人妻久久无码不卡| 国产成人精品一区二三区| 国产精品国产高清国产av| 久久亚洲女同第一区综合| 中文字幕有码日韩精品| 亚洲一区二区三区啪啪| 久热这里只精品视频99| 国产一区二区三区av在线无码观看 | 午夜一区欧美二区高清三区| 成人免费A级毛片无码片2022| 璧山县|