成人午夜一区二区_操碰在线视频_国产精品麻豆一区二区三区_中文黄色一级片_欧美日本中文字幕_高清视频91

當(dāng)前位置: 首頁 / 技術(shù)干貨 / 正文
好程序員Java培訓(xùn)分享SpringBoot -啟動流程

2020-07-31

Java培訓(xùn)

  好程序員Java培訓(xùn)分享SpringBoot -啟動流程一、主程序入口類

好程序員

  Application.class

  @SpringBootApplication

  public class SpringbootExampleApplication {

  public static void main(String[] args) {

  SpringApplication.run(SpringbootExampleApplication.class, args);

  }

  }

  特點

  該類使用了@SpringBootApplication修飾

  SpringApplication.run方法XxxApplication.class作為參數(shù)傳入

  注意: 必須是一個使用@SpringBootApplication注解類 當(dāng)你注釋掉該類的時候直接報錯

  二、@SpringBootApplication注解

  概要

  @SpringBootApplication注解是Spring Boot的核心注解,它是一個組合注解,它的主要作用是標(biāo)注在某個類上,表示這是一個Spring Boot的配置類

  等價于

  @SpringBootApplication = (默認(rèn)屬性)@Configuration + @EnableAutoConfiguration + @ComponentScan。

  源碼

  @Target(ElementType.TYPE)

  @Retention(RetentionPolicy.RUNTIME)

  @Inherited

  // 配置注解

  @SpringBootConfiguration

  // 開啟自動注解

  @EnableAutoConfiguration

  // 類似于spring中的自動掃描包

  @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

  @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

  public @interface SpringBootApplication {

  @AliasFor(annotation = EnableAutoConfiguration.class)

  Class[] exclude() default {};

  @AliasFor(annotation = EnableAutoConfiguration.class)

  String[] excludeName() default {};

  @AliasFor(annotation = ComponentScan.class, attribute = "basePackages")

  String[] scanBasePackages() default {};

  @AliasFor(annotation = ComponentScan.class, attribute = "basePackageClasses")

  Class[] scanBasePackageClasses() default {};

  }

  說明

  本身就是注解,提供了exclude()和excludeName()兩個注解屬性

  @ComponentScan注解,同時是@ComponentScan注解的容器。我們發(fā)現(xiàn)scanBasePackages和scanBasePackageClasses兩個注解屬性上面同樣聲明了@AliasFor注解,分別指向了@ComponentScan注解的basePackages注解屬性和basePackageClasses屬性。

  聲明了@EnableAutoConfiguration注解,表明聲明了它的類本身會默認(rèn)開啟自動配置

  聲明了@Configuration注解,表明聲明了它的類本身也是個配置類。

  三、@Configuration

  說明

  SpringBoot社區(qū)推薦使用基于JavaConfig的配置形式 ,@Configuration表示一個IoC容器的配置類

  配置方式的區(qū)別

  表達(dá)形式

  xml方式

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://www.springframework.org/schema/beans

  http://www.springframework.org/schema/beans/spring-beans.xsd">

  JavaConfig方式

  @Configuration

  public class DruidConfiguration{

  }

  注冊Bean

  xml形式注冊

  class="com.alibaba.druid.pool.DruidDataSource" />

  JavaConfig方式

  @Configuration

  public class DruidConfiguration{

  public DataSource druidDataSource() {

  return new DruidDataSource();

  }

  }

  依賴注入

  xml形式注冊

  class="org.apache.shiro.web.mgt.DefaultWebSecurityManager" />

  JavaConfig方式

  @Configuration

  public class ShiroConfiguration {

  @Bean

  public SecurityManager securityManager() {

  DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();

  securityManager.setCacheManager(cacheManager);

  return securityManager;

  }

  @Bean

  public RedisCacheManager cacheManager(CustomRedisManager redisManager) {

  RedisCacheManager redisCacheManager = new RedisCacheManager();

  redisCacheManager.setRedisManager(redisManager);

  return redisCacheManager;

  }

  }

  總結(jié)

  @Configuration一定要配合@Bean。用來替換xml配置文件

  @Bean注解告訴Spring,帶有@Bean的注解方法將返回一個對象

  四、@ComponentScan

  作用

  @ComponentScan對應(yīng)XML配置中的元素@ComponentScan的功能其實就是自動掃描并加載符合條件的組件

  我們可以通過basePackages等屬性來細(xì)粒度的定制@ComponentScan自動掃描的范圍,如果不指定,則默認(rèn)Spring框架實現(xiàn)會從聲明@ComponentScan所在類的package進(jìn)行掃描

好程序員公眾號

  • · 剖析行業(yè)發(fā)展趨勢
  • · 匯聚企業(yè)項目源碼

好程序員開班動態(tài)

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數(shù)據(jù)+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發(fā) <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數(shù)據(jù)分析 <高端班>

    開班時間:2021-07-12(北京)

    預(yù)約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發(fā) <高端班>

    開班時間:2021-07-12(北京)

    預(yù)約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓(xùn)IT培訓(xùn)
在線咨詢
IT培訓(xùn)IT培訓(xùn)
試聽
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號-5 京公網(wǎng)安備 11010802035720號

主站蜘蛛池模板: 欧美大片一区二区三区 | 欧美手机在线视频 | 午夜激情在线播放 | 日韩精品免费在线观看 | xxxx网| 中文字幕在线观看一区二区三区 | 男女羞羞免费视频 | www.久久久 | 成人97| 国产一区二区三区在线免费观看 | 日韩欧美中文字幕在线视频 | 一区二区三区高清在线观看 | 久久久久成人精品免费播放 | 精品性高朝久久久久久久 | 亚洲视频在线观看视频 | 亚洲成人毛片 | 久久熟| 91久久精品一区二区别 | 天天综合久久 | 欧美三级电影 | 一区二区网站 | 人人爽人人爽 | 91av视频网| 国产精品久久久久久久久久久久久 | 日本久久网 | 亚洲视频在线观看 | 欧美综合图 | 久久免费视频观看 | 午夜黄色大片 | 中文字幕三级 | 久久久久久久久久国产精品 | 一区二区三区四区国产 | 一区在线播放 | 欧美精品久久久久a | 亚洲iv一区二区三区 | 国产不卡在线观看 | 色噜噜在线观看 | 成年人视频网站 | 色免费观看 | 性色av一区二区 | 狠狠综合 |