您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Spring框架的节本用法介绍

2024/5/2 2:05:50发布40次查看
本篇文章给大家带来的内容是关于spring框架的节本用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
作为spring框架,它最主要的功能就是管理一堆使app(应用)发挥功能的类,这些作为整个app的基石、主干的类,就叫做bean。
要管理bean,也即是这堆发挥业务功能的类,就不能直接把它们new出来,这样缺乏统一的调度。所以,spring使用.xml配置文件作为媒介,以ioc(inversion of control 控制反转)作为工具,将这些bean拿给spring container作统一管理。
基于此,要把一个bean扔给container,至少需要两部分:
bean对应的类的定义
间接控制的.xml配置文件
之所以需要两部分也是容易理解的,首先你得有一个bean自身的定义吧。再来,你得告诉spring container应该以什么样的方式去接受这个bean,这个就是由.xml文件来说明。
例如,我们要管理的bean叫做helloworld,那么它的这两部分分别是:applicationcontext-src.xml:
<?xml version="1.0" encoding="utf-8"?><beans xmlns="http://www.springframework.org/schema/beans" 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-3.0.xsd">        <bean id="helloworld" class="com.terence.helloworld">                <property name="message" value="hello terence's world!" />    </bean>  </beans>
和helloworld.java:
public class helloworld {    private string message;             public void setmessage(string message) {               this.message  = message;        }             public void getmessage() {               system.out.println(your message :  + message);        } }
有了这两部分,spring container就可以正确地接收名为helloworld的bean。
现在,如果要使用这个bean,当然不可以直接去触碰helloworld这个bean,而是需要通过管理它的代理人spring container来得到bean,进而用这个bean来为自己服务。
例如,名为mainapp.java的这个类,现在需要使用helloworld这个bean的服务,我们就可以这样做:
import org.springframework.context.applicationcontext;import org.springframework.context.support.classpathxmlapplicationcontext;public class mainapp {            @suppresswarnings(resource)    public static void main(string[] args) {               applicationcontext context = new classpathxmlapplicationcontext(applicationcontext-src.xml);                helloworld obj = (helloworld) context.getbean(helloworld);                obj.getmessage();        }}
这里有两部分:
首先根据配.xml置文件的位置去拿到spring container,也即是这里的context,可以把它理解为几种spring container中最著名的代言人。
有了这个代言人后,自然就可以向这个代言人索取需要的bean helloworld,于是由context.getbean()方法去拿到需要的bean。
这样得到bean后,就可以直接使用了。
由此可见,spring框架的出发点是直观的,它就是去充当一堆发挥功能的类(bean)的代理,将这些bean统一归到自己的container作管理。任何其他需要使用到bean的类,都必须通过它这个代理人做索取。
一个值得探讨的问题是,以上相当直观易懂,但为什么在一般的java web开发中,没怎么看到关于applicationcontext的声明?
原因是,在通常的j2ee开发中,spring context的声明不是直接在用户代码中完成的,而是借由web.xml中配置的:
<context-param>    <param-name>contextconfiglocation</param-name>    <param-value>/web-inf/daocontext.xml /web-inf/applicationcontext.xml</param-value></context-param><listener>    <listener-class>org.springframework.web.context.contextloaderlistener</listener-class></listener>
这里借助了contextloaderlistener就把applicationcontext注册进了我们的web app。
另一个更重要的考虑是:
你的代码中不应该出现对applicationcontext的直接使用,而是同样地使用配置文件、借助ioc去使用context。
以上就是spring框架的节本用法介绍的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product