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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

@Configurattion注解的作用及一些列组合使用

發布時間:2025/4/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 @Configurattion注解的作用及一些列组合使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從Spring3.0開始,@Configuration用于定義配置類,用戶替換xml配置文件,被注解的類內部包含有一個或多個被@Bean注解的方法,這些方法將會被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext類進行掃描,并用于構建bean定義,初始化Spring容器。

注意:@Configuration注解的配置類有如下要求:

  • @Configuration不可以是final類型;
  • @Configuration不可以是匿名類;
  • 嵌套的configuration必須是靜態類。
  • 一、用@Configuration加載spring

    使用@Configuration標注的類相當于SSM中配置的xml核心配置文件。

    1.1、@Configuration配置spring并啟動spring容器

    1.2、@Configuration啟動容器+@Bean注冊Bean



    1.3、@Configuration啟動容器+@Component注冊Bean



    1.4、使用AnnotationConfigApplicationContext 注冊 AppContext 類的兩種方法

    1.4.1配置類的注冊方式是將其傳遞給 AnnotationConfigApplicationContext 構造函數

    1.4.2AnnotationConfigApplicationContext 的register 方法傳入配置類來注冊配置類

    1.5、配置Web應用程序(web.xml中配置AnnotationConfigApplicationContext)

    過去,通常要利用 XmlWebApplicationContext 上下文來配置 Spring Web 應用程序,即在 Web 部署描述符文件 web.xml 中指定外部 XML 上下文文件的路徑。XMLWebApplicationContext 是 Web 應用程序使用的默認上下文類。以下代碼描述了 web.xml 中指向將由 ContextLoaderListener 監聽器類載入的外部 XML 上下文文件的元素。

    現在,您要將 web.xml 中的上述代碼更改為使用 AnnotationConfigApplicationContext 類。切記,XmlWebApplicationContext 是 Spring 為 Web 應用程序使用的默認上下文實現,因此您永遠不必在您的web.xml 文件中顯式指定這個上下文類?,F在,您將使用基于 Java 的配置,因此在配置 Web 應用程序時,需要在web.xml 文件中指定 AnnotationConfigApplicationContext 類。上述代碼將修改如下:

    以上修改后的 web.xml 現在定義了AnnotationConfigWebApplicationContext 上下文類,并將其作為上下文參數和 servlet 元素的一部分。上下文配置位置現在指向 AppContext 配置類。這非常簡單。下一節將演示 bean 的生命周期回調和范圍的實現。

    1.6@Configuation總結

    二、組合多個配置類(混合配置)

    2.1、在@configuration中引入springml配置文件

    使用@ImportResource加載xml文件到配置類中生效


    2.2、在@configuration中引入其它注解配置

    使用@Import注解將其他配置類引入到另一個配置類中生效


    2.3、@configuration嵌套(嵌套的Configuration必須是靜態類)



    三、@EnableXXX注解

    例如:@EnanleWebmvc注解
    SSM中原來SpringMVC核心配置信息MvcConfig.xml文件添加配置信息,作為Mvc框架環境,原來是通過xml來進行配置(視圖解析器,JSON轉換器,文件上傳解析器)但是這里是基于注解通過繼承WebMvcConfigurerAdapter類并重寫相關方法來進行配置(注意需要通過@EnableWebMvc注解來啟動MVC環境

    要實現spring mvc自定義配置,需要開啟MVC配置:


    總結:
    當個遇到需要開啟注解驅動的配置,在配置配置類的時候就需要添加@EnanleXXX注解

    例如:
    在配置AOP編程的時候配置xml文件需要聲明自動代理生成器,創建代理 <aop:aspectj-autoproxy>,那么在使用配置類替代xml配置文件的時候,就需要在配置類上加上@EnableAspectJAutoProxy注解來聲明自動代理生成器,創建代理。

    四、@Profile指定不同的環境

    我們在開發時,難免碰到不同環境的配置不同,比如,生產環境,測試環境,開發環境的數據庫不一樣。這樣就需要我們指定不同環境中使用不同的URL。在Spring中,我們可以創建指定環境的Bean來解決這個問題。只有當規定的profile激活時,相應的bean才會被創建。另外沒有指定profile的bean之中都會被創建,與激活哪個profile沒有關系。


    那么,如何激活一個Bean呢?我們可以指定spring.profile.active屬性來指定哪個環境的bean被激活。如果不指定這個屬性,它會去找spring.profiles.default的值。
    如果均沒有指定的話,就沒有激活的profile,就不會創建指定profile的bean。

    有多種方式設置這個屬性:

    • 作為DispatcherServlet的初始化參數
    • 作為Web應用的上下文參數
    • 作為環境變量
    • 使用@ActiveProfiles注解設置

    例如在SpringBoot的application.properties文件中配置

    五、使用外部變量

    例如:在springboot項目中
    通過在核心配置文件中自定義配置兩個屬性,然后通過@value注解注入到相應的屬性中。

    在 SpringBootController 中定義屬性,并使用@Value 注解或者自定義配置值,并對 其方法進行測試;

    總結

    以上是生活随笔為你收集整理的@Configurattion注解的作用及一些列组合使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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