日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot开发之流水无情(二)

發布時間:2025/3/16 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot开发之流水无情(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇記錄Spring Boot的幾個知識點:?
(一)一個Maven+Spring Boot項目基本的包結構形式?
(二)一個簡單的在Spring Boot項目集成安全控制?
(二)如何在Spring Boot中記錄log日志?
(四)Spring Boot中幾個常用注解介紹?


ok下面開始正題:?

(一)先看下,官網給出的一個簡單的包結構組成:?

Java代碼???
  • com??
  • ?+-?example??
  • ?????+-?myproject??
  • ?????????+-?Application.java??
  • ?????????|??
  • ?????????+-?domain??
  • ?????????|???+-?Customer.java??
  • ?????????|???+-?CustomerRepository.java??
  • ?????????|??
  • ?????????+-?service??
  • ?????????|???+-?CustomerService.java??
  • ?????????|??
  • ?????????+-?web??
  • ?????????????+-?CustomerController.java ?
  • 然后,看下散仙實際工作中的項目結構:?
    ? ? ?
    需要注意的地方如下:?
    1,在src/main/java包下的第一層結構中,是必須放一個含有main方法的主啟動的類,而且只能有一個main方法,如果再出現其他的main方法,在使用maven編譯打包時,會報編譯錯誤,當然在src/test/java包下,可以出現多個,但建議最好使用Junit進行單元測試.?
    ? ? 這個main方法啟動,就會啟動內嵌的tomcat或jetty容器,然后加載所有需要加載的或掃描的類或資源文件。上篇博客中,散仙為了測試方便,是直接在當前的Conroller中,啟動了一個測試服務,這樣做適合單獨調試,如果是生產環境下的啟動方法,則是散仙前面所講的,在java包的根目錄下建立一個main方法類,負責啟動所有的資源。?

    在本例中,散仙的main代碼如下:?

    Java代碼???
  • package?com.dhgate.rate;??
  • ??
  • import?org.springframework.boot.SpringApplication;??
  • import?org.springframework.boot.autoconfigure.EnableAutoConfiguration;??
  • import?org.springframework.context.annotation.ComponentScan;??
  • import?org.springframework.context.annotation.Configuration;??
  • ??
  • @Configuration//配置控制??
  • @EnableAutoConfiguration//啟用自動配置??
  • @ComponentScan//組件掃描??
  • public?class?ApplicationMain?{??
  • ????public?static?void?main(String[]?args)?throws?Exception?{??
  • ????????//啟動Spring?Boot項目的唯一入口??
  • ????????SpringApplication.run(ApplicationMain.class,?args);??
  • ??
  • ????}??
  • ??
  • } ?
  • 2,在src/main/resource目錄下面,是放置一些配置文件,或模板支持的文件,如JSP,Velocity,Freemaker等,這里面比較常用或重要的一個文件,就是Spring Boot的集中式配置文件application.properties這個文件了,這里面給其他大部分的組件,提供了一個可集中管理和配置的中心,包括安全控制,redis,solr,mangodb的連接信息,以及數據庫連接池,容器端口號,jmx,java mail,動態模板等。此外這個目錄下默認是可以訪問靜態資源的,比如我們的css,js,或者第三方的一些引用文件等。?

    (二)關于在Spring Boot的配置簡單的安全訪問控制,這一點非常容器,我們只需要做如下二步,即可。?
    1,在pom文件中,引入spring-boot-starter-security的maven依賴。?

    Xml代碼???
  • <dependency>??
  • ????????<groupId>org.springframework.boot</groupId>??
  • ????????<artifactId>spring-boot-starter-security</artifactId>??
  • ????</dependency>??
  • 2,在application.properties中,配置訪問的用戶名和密碼?
    Java代碼???
  • #用戶名?密碼配置??
  • security.user.name=admin??
  • security.user.password=test ?
  • 再次,訪問鏈接時,會出現以下,攔截頁面,就代表配置成功:?
    ?


    當然這只是,一個初級的配置,更復雜的配置,可以分不用角色,在控制范圍上,能夠攔截到方法級別的權限控制。?

    (三)日志的重要性,不言而喻,Spring Boot支持大部分的log配置,其中包括:?
    (1)java util logging?
    (2)log4j?
    (3)log4j2?
    (4)logbak?
    默認的情況下spring boot會選擇logback作為日志記錄的載體,當然要想它正常的工作,需要依賴 Commons Logging, Java Util Logging, Log4J 或 SLF4J,相信大部分同學都是選擇使用log4j.properties作為我們的日志配置和管理,但是散仙在Spring Boot中一直沒有測試集成成功,所以就放棄使用log4j.properties作為日志載體,而是選擇了Spring Boot推薦的logbak作為日志的配置文件,用過之后感覺也不錯。?

    使用步驟:?
    1,將logbak.xml拷貝至resource目錄下的根目錄,然后在logbak.xml中,配置相關的log生成規則,log級別,以及日志路徑,log的字符編碼集,這個非常重要,因為剛開始用這個log記錄程序運行的信息時,發現它不支持中文log,后來經查名,需要配置相關的log編碼才可以正確記錄對應的信息。一個通用的配置如下:?

    Xml代碼???
  • <!--?Logback?configuration.?See?http://logback.qos.ch/manual/index.html?-->??
  • <configuration?scan="true"?scanPeriod="10?seconds">??
  • ????
  • ??<!--?Simple?file?output?-->??
  • ??<appender?name="FILE"?class="ch.qos.logback.core.rolling.RollingFileAppender">??
  • ????<!--?encoder?defaults?to?ch.qos.logback.classic.encoder.PatternLayoutEncoder?-->??
  • ????<encoder>??
  • ????????<pattern>??
  • ????????????[?%-5level]?[%date{yyyy-MM-dd?HH:mm:ss}]?%logger{96}?[%line]?-?%msg%n??
  • ????????</pattern>??
  • ????????<charset>UTF-8</charset>?<!--?此處設置字符集?-->??
  • ????</encoder>??
  • ??
  • ????<rollingPolicy?class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">??
  • ??????<!--?rollover?daily?配置日志所生成的目錄以及生成文件名的規則?-->??
  • ??????<fileNamePattern>logs/mylog-%d{yyyy-MM-dd}.%i.log</fileNamePattern>??
  • ??????<timeBasedFileNamingAndTriggeringPolicy??
  • ??????????class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">??
  • ????????<!--?or?whenever?the?file?size?reaches?64?MB?-->??
  • ????????<maxFileSize>64?MB</maxFileSize>??
  • ??????</timeBasedFileNamingAndTriggeringPolicy>??
  • ????</rollingPolicy>??
  • ??
  • ??
  • ????<filter?class="ch.qos.logback.classic.filter.ThresholdFilter">??
  • ??????<level>DEBUG</level>??
  • ????</filter>??
  • ????<!--?Safely?log?to?the?same?file?from?multiple?JVMs.?Degrades?performance!?-->??
  • ????<prudent>true</prudent>??
  • ??</appender>??
  • ??
  • ??
  • ??<!--?Console?output?-->??
  • ??<appender?name="STDOUT"?class="ch.qos.logback.core.ConsoleAppender">??
  • ????<!--?encoder?defaults?to?ch.qos.logback.classic.encoder.PatternLayoutEncoder?-->??
  • ??????<encoder>??
  • ??????????<pattern>??
  • ??????????????[?%-5level]?[%date{yyyy-MM-dd?HH:mm:ss}]?%logger{96}?[%line]?-?%msg%n??
  • ??????????</pattern>??
  • ??????????<charset>GBK</charset>?<!--?此處設置字符集?-->??
  • ??????</encoder>??
  • ????<!--?Only?log?level?WARN?and?above?-->??
  • ????<filter?class="ch.qos.logback.classic.filter.ThresholdFilter">??
  • ??????<level>WARN</level>??
  • ????</filter>??
  • ??</appender>??
  • ??
  • ??
  • ??<!--?Enable?FILE?and?STDOUT?appenders?for?all?log?messages.??
  • ???????By?default,?only?log?at?level?INFO?and?above.?-->??
  • ??<root?level="INFO">??
  • ????<appender-ref?ref="FILE"?/>??
  • ????<appender-ref?ref="STDOUT"?/>??
  • ??</root>??
  • ??
  • ??<!--?For?loggers?in?the?these?namespaces,?log?at?all?levels.?-->??
  • ??<logger?name="pedestal"?level="ALL"?/>??
  • ??<logger?name="hammock-cafe"?level="ALL"?/>??
  • ??<logger?name="user"?level="ALL"?/>??
  • </configuration>??
  • 2,在application.properties中,指定log文件的加載路徑,已經配置通用的log日志級別:?
    Java代碼???
  • #指定log的配置文件,以及記錄Spring?Boot的log級別??
  • logging.config=logback.xml??
  • logging.level.org.springframework.web:?INFO ?
  • (四)介紹下Spring Boot中幾個常用的注解,其中大部分都是來自Spring MVC的注解,這些注解使用的頻率一般都在90%之上。?
    (1)@RestController和@Controller指定一個類,作為控制器的注解?
    (2)@RequestMapping方法級別的映射注解,這一個用過Spring MVC的小伙伴相信都很熟悉?
    (3)@EnableAutoConfiguration和@SpringBootApplication是類級別的注解,根據maven依賴的jar來自動猜測完成正確的spring的對應配置,只要引入了spring-boot-starter-web的依賴,默認會自動配置Spring MVC和tomcat容器?
    (4)@Configuration類級別的注解,一般這個注解,我們用來標識main方法所在的類?
    (5)@ComponentScan類級別的注解,自動掃描加載所有的Spring組件包括Bean注入,一般用在main方法所在的類上?
    (6)@ImportResource類級別注解,當我們必須使用一個xml的配置時,使用@ImportResource和@Configuration來標識這個文件資源的類。?
    (7)@Autowired注解,一般結合@ComponentScan注解,來自動注入一個Service或Dao級別的Bean?
    (8)@Component類級別注解,用來標識一個組件,比如我自定了一個filter,則需要此注解標識之后,Spring Boot才會正確識別。?

    ok,本篇的講解,就到此結束,這些都是項目工程的基礎知識,了解這些,有助于我們快速的上手一個Spring Boot應用。?

    總結

    以上是生活随笔為你收集整理的Spring Boot开发之流水无情(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 啪视频在线观看 | 欧美日韩成人精品 | 欧美理论在线观看 | 欧美日韩成人一区二区三区 | 久久成人毛片 | 丰满少妇在线观看资源站 | javxxx| 久久精品成人av | 日本一本久草 | 女性女同性aⅴ免费观女性恋 | 亚洲视频在线观看免费 | 黑人操亚洲人 | 夜夜躁狠狠躁日日躁av | 亚洲一区二区高清视频 | 欧洲色视频 | 天天狠天天操 | 亚洲免费av网址 | 国产日韩在线看 | 三级精品在线观看 | 日本jizz在线观看 | 欧美中文字幕一区二区三区 | 叶山小百合av一区二区 | 全部毛片永久免费看 | 国产农村妇女精品久久久 | 久久午夜网站 | 超碰免费观看 | 福利视频第一页 | 九色在线播放 | 久草资源在线 | 一级黄色在线观看 | 欧美资源在线观看 | 免费人妻一区二区三区 | 国产视频在线观看视频 | 交视频在线播放 | 欧美成人综合 | 国产婷婷一区二区三区久久 | 一区二区视频免费观看 | 欧美成年人 | 亚洲v天堂 | av片在线观看 | 深夜福利免费在线观看 | 人人97| 国产视频第一页 | 国产精品性爱在线 | 六月丁香婷婷激情 | 少妇爽| 国产jizz| 日韩欧美在线一区二区 | 天堂色区 | 五月天婷婷在线视频 | 国产福利一区在线观看 | 国产欧美视频在线观看 | 中文字幕一区二区三区av | 天堂精品一区二区三区 | 色婷婷97 | 精品人妻一区二区免费 | 国产又爽又猛又粗的视频a片 | 中日韩午夜理伦电影免费 | av在线播放网站 | a视频| 国产一级免费片 | 日韩女同互慰一区二区 | 狠狠人妻久久久久久 | 精品人妻一区二区三区在线视频 | 日本不卡在线观看 | 午夜影院福利 | 男女互操视频 | 亚洲国产美女视频 | 亚洲午夜精品久久久久久app | 双性人做受视频 | 久久久成人免费视频 | jizz中国女人 | 国产xxxx在线 | 亚洲一区二区三区四区不卡 | 色妞在线| 国产在线国偷精品免费看 | 成人免费无码大片a毛片 | 久久欲 | 美女伊人网 | 黄大片18满岁 | 91在线精品一区二区 | 午夜精品久久久久久久久久久久久蜜桃 | 吸咬奶头狂揉60分钟视频 | 日韩在线视屏 | 久青草影视 | 另类尿喷潮videofree | 亚洲成人国产 | 米奇7777狠狠狠狠视频 | 黄色三级三级三级三级 | 亚洲精品欧美日韩 | 日韩爱爱视频 | 亚洲日本japanese丝袜 | 梦梦电影免费高清在线观看 | 日本aa在线观看 | 天天天天天天干 | 中文字幕在线播放一区二区 | 黄色网视频 | 亚洲午夜久久久久久久久 | 黄色av免费在线 |