• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Spring框架的节本用法介绍

java 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于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中最著名的代言人。

有了这个代言人后,自然就可以向这个代言人索取

本文来源gaodai^.ma#com搞#代!码网

需要的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框架的节本用法介绍的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Spring框架的节本用法介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址