<form id="ddzdh"><form id="ddzdh"><nobr id="ddzdh"></nobr></form></form>

        <address id="ddzdh"><nobr id="ddzdh"></nobr></address>

              歡迎來到DIVCSS5查找CSS資料與學習DIV CSS布局技術!
              前言
               
              前端使用: vue/cli “^4.5.15”
               
              后端使用: springboot2.6.2, mybatis-plus3.5.9,mybatis-plus-generator3.5.1
               
              部署:nginx,tomcat,webpack
               
              小結。雖然項目花里胡哨,但是難度不大。收獲最多的是:
               
              1.技術選型,任務需求。一旦確定,后期變更代價慘重。
               
              2. 注意備份
               
              3.數據庫表單設計
               
              4.bug解決方案
               
              5.更深入體會的是MVVM架構開發模式,流水線式創建實體并實現業務邏輯:
               
              domain/pojo/bean → dao/mapper → mapper.xml → service → serviceimpl → controller
               
              6.記得優先對前端進行數據校驗。
               
              感謝b站王漢遠前輩和開發中幫助我的人。由于版權原因,開源項目不公布任何歌曲
               
              由于當時選型失誤,也沒有圍繞api開發。這就導致歌曲都是自己一首一首上傳的…因此技術選型是我踩得最大的坑。
               
              一。成果展示
               
              前臺大概總覽
               
              后臺大概總覽
               
              二。 后端流程
               
              2.1數據庫表設計
               
              在這一個單用戶項目中基本手握一本 java開發手冊,遵守其中規約就可以了。(但是這怎么說呢,目前階段感覺像雞肋。因此我接著打算看看mysql高級)
               
              單用戶項目開發基本通用樣例,但仍然應當考慮自己項目的實際需求
               
              2.2. 后端搭建
               
              2.2.1 mybatis-plus逆向工程生成代碼簡化開發
               
              為了方便開發,我們應當先建立數據庫。之后使用mybatis-plus的逆向工程,代碼生成器! 這里不建議使用 lombok 省略 實體的構造器和get,set方法。(我曾看到過這樣一句話,如果java內部到處充斥著這種像lmobok可以修改源代碼的插件,那么就如同無根浮萍,沒有自己的核心競爭力,java遲早被取代?。┑覀儾豢煞裾J,它也很方便,我一般用lombok主要是用他的@slf4j日志。
               
              這種方式可以幫助我們自動生成
               
              domain/pojo/bean(完全生成) → dao/mapper (生成模型和一般crud方法)→ mapper.xml (生成模型和一般crud方法)→ service (生成模型和一般crud方法)→ serviceimpl (生成模型和一般crud方法) → controller (生成模型和一般crud方法) 如果不滿意它自帶的crud方法,我們可以自己寫,建議自己寫!
               
              該方法要注意的是mybatis-plus-generator3.5.1版本是一個轉變 代碼生成詳見此處
               
              2.2.2 配置數據,跨域和靜態資源放行
               
              由于基本配置是可以復用的,因此我將其粘貼下方。
               
              采用 配置類和yaml配置文件相結合的方式
               
              1.druid類配置文件
               
              package com.vector.music.config;
               
              import com.alibaba.druid.pool.DruidDataSource;
               
              import com.alibaba.druid.support.http.StatViewServlet;
               
              import com.alibaba.druid.support.http.WebStatFilter;
               
              import org.springframework.boot.context.properties.ConfigurationProperties;
               
              import org.springframework.boot.web.servlet.FilterRegistrationBean;
               
              import org.springframework.boot.web.servlet.ServletRegistrationBean;
               
              import org.springframework.context.annotation.Bean;
               
              import org.springframework.context.annotation.Configuration;
               
              import javax.annotation.PostConstruct;
               
              import javax.sql.DataSource;
               
              import java.sql.SQLException;
               
              import java.util.Arrays;
               
              /**
               
               * @author WangYuanJie
               
               * @description: about jdbcDruidConfig
               
               * @ClassName MyDataSourceConfig
               
               * @date 2022/1/21 16:17
               
               */
               
              @Configuration
               
              public class MyDataSourceConfig {
               
                  @ConfigurationProperties(prefix = "spring.datasource")
               
                  @Bean
               
                  public DataSource dataSource() throws SQLException {
               
                      DruidDataSource druidDataSource = new DruidDataSource();
               
                      //加入監控功能
               
              //        druidDataSource.setFilters("stat,wall");
               
                      return druidDataSource;
               
                  }
               
                  /*
               
                   * 解決druid 日志報錯:discard long time none received connection:xxx
               
                   * */
               
                  @PostConstruct
               
                  public void setProperties(){
               
                      System.setProperty("druid.mysql.usePingMethod","false");
               
                  }
               
                  /**
               
                   * 配置druid的監控頁
               
                   * @return
               
                   */
               
                  @Bean
               
                  public ServletRegistrationBean statViewServlet(){
               
                      StatViewServlet statViewServlet = new StatViewServlet();
               
                      ServletRegistrationBean<StatViewServlet> registrationBean = new ServletRegistrationBean<>(statViewServlet, "/druid/*");
               
                      registrationBean.addInitParameter("loginUsername","admin");
               
                      registrationBean.addInitParameter("loginPassword","123456");
               
                      return registrationBean;
               
                  }
               
                  /**
               
                   * WebStatFilter用于采集web-jdbc關聯監控的數據
               
                   */
               
                  @Bean
               
                  public FilterRegistrationBean webStatFilter(){
               
                      WebStatFilter webStatFilter = new WebStatFilter();
               
                      FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<>(webStatFilter);
               
                      filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
               
                      filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.ico,/druid/*");
               
                      return filterRegistrationBean;
               
                  }
               
              }
               
              2.后端解決跨域問題
               
              /**
               
               * 解決跨域問題
               
               */
               
              @Configuration
               
              public class WebMvcConfig implements WebMvcConfigurer {
               
                  @Override
               
                  public void addCorsMappings(CorsRegistry registry) {
               
                      registry.addMapping("/**")
               
                              .allowedOriginPatterns("*")
               
                              .allowCredentials(true)
               
                              .allowedMethods("*");
               
                  }
               
              3.解決靜態資源放行問題
               
              你可以將靜態資源放在你想放置的位置,但是盡量不要放在項目工程中,因為項目工程后來只會在內存中運行。不要增加內存負荷,而且你將會出現一個奇怪的問題 springboot圖片回顯 詳見此處
               
                  /**
               
                   * 默認情況下Spring Boot 使用WebMvcAutoConfiguration中配置的各種屬性。
               
                   * 默認映射的文件夾有:
               
                   * classpath:/META-INF/resources
               
                   * classpath:/resources
               
                   * classpath:/static
               
                   * classpath:/public
               
                   * 上面這幾個都是靜態資源的映射路徑,優先級順序為:META-INF/resources > resources > static > public
               
                   * 原理: 靜態映射/**。
               
                   * 請求進來,先去找Controller看能不能處理。不能處理的所有請求又都交給靜態資源處理器。靜態資源也找不到則響應404頁面
               
                   * 靜態資源訪問前綴
               
                   * 默認無前綴
               
                   * spring:
               
                   * mvc:
               
                   * static-path-pattern: /res/**
               
                   * 當前項目 + static-path-pattern + 靜態資源名 = 靜態資源文件夾下找
               
                   */
               
                  // 以下是自定義靜態資源訪問
               
                  @Override
               
                  public void addResourceHandlers(ResourceHandlerRegistry registry) {
               
                      /**
               
                       * spring boot中上傳圖片回顯問題
               
                       * 定位歌手頭像地址
               
                       * 絕對路徑映射,這個不重新部署就可以回顯,因為映射你的本地
               
                       */
               
                      registry.addResourceHandler("static/**")。addResourceLocations(
               
                              System.getProperty("user.dir") + File.separator + "static" + File.separator);
               
                  }

              如需轉載,請注明文章出處和來源網址:http://www.yfzzdoors.com/html/h65259.shtml

              人妻AV乱片AV,A∨天堂网在线观看免费,希崎杰西卡亚洲精品中文字幕

                  <form id="ddzdh"><form id="ddzdh"><nobr id="ddzdh"></nobr></form></form>

                    <address id="ddzdh"><nobr id="ddzdh"></nobr></address>