最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Spring Context加載方式

 更新時間:2018年05月30日 14:44:31   作者:David_jim  
這篇文章主要介紹了淺談Spring Context加載方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Spring 加載方式

對于可執(zhí)行文件方式,我們一般的加載Spring 配置的方式是

ClassPathXmlApplicationContext

 public static void main(String[] args) {
    ClassPathXmlApplicationContext xmlApplicationContext = new ClassPathXmlApplicationContext("classpath:spring-context.xml");
    DemoService demoService = (DemoService) xmlApplicationContext.getBean("demoService");
    String text = demoService.hello();
    System.out.println(text);
  }
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.2.xsd"
    default-autowire="byName" default-lazy-init="false">

  <!-- 采用注釋的方式配置bean -->
  <context:annotation-config/>
  <!-- 配置要掃描的包 -->
  <context:component-scan base-package="com.jin.lesson.context"/>
</beans>

從spring 3.0開始,開始使用注解的方式來進(jìn)行spring 配置的注冊

 public static void main(String[] args) {
    AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext();
    // 告訴要掃描的包,通常是應(yīng)用的根目錄的Application類
    annotationConfigApplicationContext.scan(Main.class.getPackage().getName());
    // 刷新上下文,使用得相應(yīng)的bean注冊成功
    annotationConfigApplicationContext.refresh();
    // 通過名稱的方式獲取相應(yīng)的DemoService
    DemoService demoService = (DemoService) annotationConfigApplicationContext.getBean("demoService");
    String text = demoService.hello();
    System.out.println(text);
  }

demoService是定義的一個Service的名稱,xml配置的方式也是可以設(shè)定好是否采用注解的方式進(jìn)行掃描,如1中的

<context:annotation-config/>

demoService 很簡單,如下的方式

@Service(value = "demoService")
public class DemoService {
  public String hello() {
    return "hello world";
  }
}

Web應(yīng)用的初始化

  1. web.xml配置方式
  2. 注解的方式

web.xml 配置方式

利用spring 自帶的Servlet 進(jìn)行初始注冊

  <servlet>
    <servlet-name>SpringMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/spring-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

利用 Listener進(jìn)行注冊 ,像Spring+structs,就是以這種方式來初始化上下文內(nèi)容的

  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>

注解的方式

也是利用Servlet的方式來配置初始化參數(shù),不過這次里要用基于注解的類AnnotationConfigWebApplicationContext,同時要注冊Servlet

 @Override
  public void onStartup(ServletContext servletContext) throws ServletException {
    ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", DispatcherServlet.class);
    dispatcher.setInitParameter("contextConfigLocation", getClass().getName());
    dispatcher.setInitParameter("contextClass", AnnotationConfigWebApplicationContext.class.getName());
    dispatcher.addMapping("/*");
    dispatcher.setLoadOnStartup(1);
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Fluent Mybatis如何做到代碼邏輯和sql邏輯的合一

    Fluent Mybatis如何做到代碼邏輯和sql邏輯的合一

    對比原生Mybatis, Mybatis Plus或者其他框架,F(xiàn)luentMybatis提供了哪些便利呢?很多朋友對這一問題不是很清楚,今天小編給大家?guī)硪黄坛剃P(guān)于Fluent Mybatis如何做到代碼邏輯和sql邏輯的合一,一起看看吧
    2021-08-08
  • Redis Java 集成到 Spring Boot的詳細(xì)過程

    Redis Java 集成到 Spring Boot的詳細(xì)過程

    本文介紹了如何使用SpringBoot連接Redis,并展示了如何配置Redis服務(wù)地址、創(chuàng)建Controller類以及進(jìn)行基本的Redis操作,如字符串、列表、集合、哈希和有序集合,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Java實現(xiàn)的圖像查看器完整實例

    Java實現(xiàn)的圖像查看器完整實例

    這篇文章主要介紹了Java實現(xiàn)的圖像查看器,以完整實例形式較為詳細(xì)的分析了java處理圖片的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • SimpleDateFormat格式化日期問題

    SimpleDateFormat格式化日期問題

    這篇文章主要介紹了SimpleDateFormat格式化日期問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 詳談Java枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)

    詳談Java枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)

    下面小編就為大家?guī)硪黄斦凧ava枚舉、靜態(tài)導(dǎo)入、自動拆裝箱、增強(qiáng)for循環(huán)、可變參數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 解決idea創(chuàng)建版本時只有Java21和Java17選項

    解決idea創(chuàng)建版本時只有Java21和Java17選項

    你是否在使用IntelliJ?IDEA創(chuàng)建新項目時遇到了只有Java?21和Java?17的選項?別擔(dān)心,我們的指南將為你提供解決方案,通過簡單的步驟,你將能夠選擇你需要的任何Java版本,繼續(xù)閱讀,讓我們開始吧!
    2024-03-03
  • Mybatis-plus操作json字段實戰(zhàn)教程

    Mybatis-plus操作json字段實戰(zhàn)教程

    這篇文章主要介紹了Mybatis-plus操作json字段實戰(zhàn)教程,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • JSP頁面pageEncoding和contentType屬性

    JSP頁面pageEncoding和contentType屬性

    有關(guān)于JSP頁面中pageEncoding和contentType屬性。
    2013-04-04
  • 如何利用java實現(xiàn)生成PDF文件

    如何利用java實現(xiàn)生成PDF文件

    前段時間因為相關(guān)業(yè)務(wù)需求需要后臺生成pdf文件,下面這篇文章主要給大家介紹了關(guān)于如何利用java實現(xiàn)生成PDF文件的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 關(guān)于idea的gitignore文件編寫及解決ignore文件不生效問題

    關(guān)于idea的gitignore文件編寫及解決ignore文件不生效問題

    這篇文章主要介紹了idea的gitignore文件編寫及解決ignore文件不生效問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論

开阳县| 红河县| 柞水县| 西宁市| 四川省| 化隆| 华宁县| 襄垣县| 景德镇市| 平远县| SHOW| 汉源县| 昂仁县| 绥芬河市| 通渭县| 平度市| 五华县| 仁怀市| 许昌市| 南澳县| 衡南县| 朝阳县| 灵丘县| 曲沃县| 焉耆| 丽水市| 修文县| 栖霞市| 军事| 黑水县| 清远市| 阜新| 吉木乃县| 夏河县| 松滋市| 宜兰市| 剑河县| 竹山县| 喀喇| 林甸县| 班戈县|