spring入门之ContextLoadListener

首先众所周知,将spring作为容器管理java的web项目的话,首先要将

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener/listener-class>
</listener>

1、contextConfigLocation这个contextParam

配置这个参数会让应用启动时,加载这个参数来读取spring配置文件,如果没有设置这个参数,spring会默认读取WEB-INF下面的applicationContext.xml,

如果该目下没有,则启动应用会报错如下错误:IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml] nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

2、listener配置

这个listener能监听能捕捉到服务器的启动和停止,在启动和停止触发里面的方法做相应的操作!
它必须在web.xml 中配置才能使用,是配置监听类的。然后应用会走contextInitialized的方法,这边ContextLoaderListener是实现的ServletContextListener的接口这个是servlet-api里面的接口,这边我们也可以自己继承ContextLoaderListener来对容器的初始化,定义我们自己的内容

只要配置好如上两个配置项,我们的web容器就是能正常工作,然而并没有bean被加入管理

3、applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns="http://www.springframework.org/schema/beans"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
    <!-- 配置一个singleton Bean实例:默认 -->  
    <bean id="bean1" class="com.mytest.beans.Beans1" >
    <property name="name" value="123"></property>
    </bean>  
    <!-- 配置一个prototype Bean实例 -->  
    <bean id="bean2" class="com.mytest.beans.Beans2" scope="prototype"/>  
      
</beans>  

如上是一个简单的spring容器配置文件的模板

这个配置文件在后面做详细更新,因为这边涉及到很多spring主要的bean容器的涉及思想

                        <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#csdnc-thumbsup"></use>
                        </svg><span class="name">点赞</span>
                        <span class="count"></span>
                        </a></li>
                        <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#icon-csdnc-Collection-G"></use>
                        </svg><span class="name">收藏</span></a></li>
                        <li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
                            <use xlink:href="#icon-csdnc-fenxiang"></use>
                        </svg>分享</a></li>
                        <!--打赏开始-->
                                                <!--打赏结束-->
                                                <li class="tool-item tool-more">
                            <a>
                            <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                            </a>
                            <ul class="more-box">
                                <li class="item"><a class="article-report">文章举报</a></li>
                            </ul>
                        </li>
                                            </ul>
                </div>
                            </div>
            <div class="person-messagebox">
                <div class="left-message"><a href="https://blog.csdn.net/cyssxt">
                    <img src="https://profile.csdnimg.cn/C/B/0/3_cyssxt" class="avatar_pic" username="cyssxt">
                                            <img src="https://g.csdnimg.cn/static/user-reg-year/2x/9.png" class="user-years">
                                    </a></div>
                <div class="middle-message">
                                        <div class="title"><span class="tit"><a href="https://blog.csdn.net/cyssxt" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">徐涛_java_web前端</a></span>
                                            </div>
                    <div class="text"><span>发布了24 篇原创文章</span> · <span>获赞 8</span> · <span>访问量 6万+</span></div>
                </div>
                                <div class="right-message">
                                            <a href="https://im.csdn.net/im/main.html?userName=cyssxt" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                        </a>
                                                            <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">关注</a>
                                    </div>
                            </div>
                    </div>
    
发布了5 篇原创文章 · 获赞 0 · 访问量 164

猜你喜欢

转载自blog.csdn.net/qq_44813090/article/details/104095140
今日推荐