Spring中加载XML文件的方式

Spring中加载XML文件的方式,第1张

spring 中加载xml配置文件的方式 好像有 种 xml是最常见的spring 应用系统配置源 Spring中的几种容器都支持使用xml装配bean 包括

XmlBeanFactory

ClassPathXmlApplicationContext

FileSystemXmlApplicationContext

XmlWebApplicationContext

一 XmlBeanFactory 引用资源

Resource resource = new ClassPathResource( appcontext xml )

BeanFactory factory = new XmlBeanFactory(resource)

二 ClassPathXmlApplicationContext 编译路径

ApplicationContext factory=new ClassPathXmlApplicationContext( classpath:appcontext xml )

ApplicationContext factory=new ClassPathXmlApplicationContext( appcontext xml ) // src目录下的

ApplicationContext factory=new ClassPathXmlApplicationContext( conf/appcontext xml ) // src/conf 目录下的

ApplicationContext factory=new ClassPathXmlApplicationContext( file:G:/Test/src/appcontext xml )

三 : 用文件系统的路径

ApplicationContext factory=new FileSystemXmlApplicationContext( src/appcontext xml )

//使用了 classpath: 前缀 作为标志 这样 FileSystemXmlApplicationContext 也能够读入classpath下的相对路径

ApplicationContext factory=new FileSystemXmlApplicationContext( classpath:appcontext xml )

ApplicationContext factory=new FileSystemXmlApplicationContext( file:G:/Test/src/appcontext xml )

ApplicationContext factory=new FileSystemXmlApplicationContext( G:/Test/src/appcontext xml )

四 XmlWebApplicationContext 是专为Web工程定制的

ServletContext servletContext = request getSession() getServletContext()

lishixinzhi/Article/program/Java/ky/201311/28211

1基于XML的定时器

11 Spring的XML文件片段内容

方法1:

<!-- 定时器开关-->

<task:scheduled-tasks>

         <!-- 定时任务(可以有多个定时任务),和执行时间,每5秒执行一次  -->

          <task:scheduled ref="myTask" method="printSomeThing" cron="/5 "></>

</ task:scheduled-tasks >

<!-- 定时任务Bean所在位置 -->

<context:component-scan base-package="comyuxiSofterwaretask"/>

方法2:

<bean id="demoTask" class="comyuxiSofterwaretaskDemoTask"/>

<bean id="BuildTask" class="orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean">

<property name="targetObject" ref="demoTask"/>

<property name="targetMethod" value="printSomeThing" />

<property name="concurrent" value="false" />

</bean>

<bean id="BuildTrigger" class="orgspringframeworkschedulingquartzCronTriggerBean">

<property name="jobDetail" ref="BuildTask"/>

<property name="cronExpression" value="0/5 0 " />

</bean>

12 Bean类片段内容

package comyuxiSofterwaretask;

/

  基于XML的Spring定时器

@author yuxiSofterware

/

public class DemoTask {

public void printSomeThing() {

          Systemoutprintln("XML定时器触发。");

}

}

13 编写main方法,解析Spring的XML文件,定时器就会按时触发,编写过程略。

2 基于注解的Spring定时器

package comyuxiSofterwaretask;
import orgspringframeworkschedulingannotationScheduled;
import orgspringframeworkstereotypeComponent;

/

基于注解的Spring定时器

@author yuxiSofterware

/

@Component

public class DemoTask {

 /

  定时任务,每五秒钟执行一次

 /

@Scheduled(corn=" /5 ")

public voidprintSomeThing() {

Systemoutprintln("XML定时器触发。");

}

}

3 关于定时器,定时任务时间的说明

定时表达式的格式:秒 分 时 日 月 周 年(可选)。
字段名                 允许的值                        允许的特殊字符

秒                         0-59                               , - /

分                         0-59                               , - /

小时                   0-23                               , - /

日                         1-31                               , - / L W C

月                         1-12 or JAN-DEC          , - /

周几                     1-7 or SUN-SAT            , - / L C #

年 (可选字段)     empty, 1970-2099      , - /

“”字符:表示不确定的值

“,”字符:指定数个值

“-”字符:指定一个值的范围

“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

“W”字符:指定离给定日期最近的工作日(周一到周五)

“#”字符:表示该月第几个周X。6#3表示该月第3个周五

1、第一步,先新建一个properties文件,
appproperties里面内容
admin=admin
test=test
2、第二步,新建一个xml文件,在applicationContextxml,
<!-- 用来解析Java Properties属性文件值(注意class指定的类)-->
<bean id="placeholderConfigurer" class="orgspringframeworkbeansfactoryconfigPropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:appproperties</value>
</list>
</property>
</bean>
<!-- 把properties里面的信息读进来: -->
<bean id="report" class="javalangString">
<constructor-arg value="${admin}"/>
</bean>

获取spring框架管理的类实例的方法有多种,如下:
方法一:在初始化时保存ApplicationContext对象
代码:
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContextxml");
acgetBean("beanId");
说明:
这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。
方法二:通过Spring提供的工具类获取ApplicationContext对象
代码:
import orgspringframeworkwebcontextsupportWebApplicationContextUtils;
ApplicationContext ac1 =
WebApplicationContextUtilsgetRe

springmvc + spring + hibernate 配置时需要两个xml的配置文件,一个是配置spring容器的,一个是配置hibernate持久层的,你报的什么错,最好贴个图出来,才能对症下药

观察下面这个xml文件(spring框架文件头):

假设有如下情况:
有个 tablexml 文件,在表格中记载着歌词:

还有另外一个 tablexml 文件,记录着一张桌子的信息:

如果我们工作需要同时使用这两个xml文件,这样就会出现2个 <table> 元素,必然会造成解析错误,无法正常处理。<br />

github 就是命名空间前缀,它主要是代指后面命名空间的,不用每次都写那么长,用前缀就可以了。

回到 table 的问题,在xml文件中声明了命名空间后,可以写成如下形式

以及:

这样就对 table 以及其子元素进行了区分,不会造成同名冲突问题。

xsd文件其实也是xml文件,它的作用是校验一个xml文件的格式,dtd文件也是同样作用,但是xsd功能更加强大,语法更加优雅。

这是一个<schema>标签,它是xsd的核心标签:

以上就是xml/xsd文件命名空间配置介绍。

参考资料:



<br /><br />


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13400445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存