包含applicationcontext.xml的词条

http://www.itjxue.com  2023-01-21 08:54  来源:未知  点击次数: 

applicationContext.xml 的配置

?xml version="1.0" encoding="UTF-8"?

beans xmlns=""

xmlns:xsi=""

xmlns:aop=""

xmlns:tx=""

xsi:schemaLocation="

"

!--

这是itsalon项目spring框架的核心配置

任何spring配置文件都会导入这个配置文件

内容主要包括:

连接MS SQL Server 2005的数据源(jdbcMSSQLServerDataSource)

使用c3p0连接MS SQL Server 2005的数据源(c3p0MSSQLServerDataSource)

会话工厂(sessionFactory)

--

!--

使用jdbc连接MS SQL Server 2005的数据源

bean id="jdbcMSSQLServerDataSource"

class="org.apache.commons.dbcp.BasicDataSource"

property name="driverClassName"

value="com.microsoft.sqlserver.jdbc.SQLServerDriver"

/property

property name="url"

value="jdbc:sqlserver://localhost:1433;databaseName=itsalon"

/property

property name="username" value="sa"/property

property name="password" value="sa"/property

/bean

--

!--

使用c3p0连接MS SQL Server 2005的数据源

--

bean id="c3p0MSSQLServerDataSource"

class="com.mchange.v2.c3p0.ComboPooledDataSource"

destroy-method="close"

property name="driverClass"

value="com.microsoft.sqlserver.jdbc.SQLServerDriver"

/property

property name="jdbcUrl"

value="jdbc:sqlserver://localhost:1433;databaseName=itsalon"

/property

property name="user" value="sa"/property

property name="password" value="abc"/property

property name="maxPoolSize" value="40"/property

property name="minPoolSize" value="1"/property

property name="initialPoolSize" value="1"/property

property name="maxIdleTime" value="20"/property

/bean

!--

Hibernate数据访问会话工厂

--

bean id="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"

property name="dataSource"

ref bean="c3p0MSSQLServerDataSource" /

/property

property name="hibernateProperties"

props

!--

以下为使用proxool数据库连接池的配置

有异常,未调试完毕

--

!--

prop key="hibernate.connection.provider_class"

org.hibernate.connection.ProxoolConnectionProvider

/prop

prop key="hibernate.proxool.pool_alias"

dbProxool

/prop

prop key="hibernate.proxool.xml"

proxool-config.xml

/prop

--

prop key="hibernate.dialect"

org.hibernate.dialect.SQLServerDialect

/prop

prop key="hibernate.show_sql"true/prop

prop key="hibernate.format_sql"true/prop

/props

/property

property name="mappingResources"

list

valuenet/itsalon/entity/Users.hbm.xml/value

valuenet/itsalon/entity/City.hbm.xml/value

valuenet/itsalon/entity/Province.hbm.xml/value

valuenet/itsalon/entity/ManagerPower.hbm.xml/value

valuenet/itsalon/entity/Manager.hbm.xml/value

valuenet/itsalon/entity/WebSite.hbm.xml/value

valuenet/itsalon/entity/BbsTopicOperation.hbm.xml/value

valuenet/itsalon/entity/BbsComment.hbm.xml/value

valuenet/itsalon/entity/BbsSessionType.hbm.xml/value

valuenet/itsalon/entity/BbsUsers.hbm.xml/value

valuenet/itsalon/entity/BbsSession.hbm.xml/value

valuenet/itsalon/entity/BbsSessionMaster.hbm.xml/value

valuenet/itsalon/entity/BbsCollection.hbm.xml/value

valuenet/itsalon/entity/BbsUsersType.hbm.xml/value

valuenet/itsalon/entity/BbsTopicType.hbm.xml/value

valuenet/itsalon/entity/BbsTopic.hbm.xml/value

valuenet/itsalon/entity/BbsInfo.hbm.xml/value

valuenet/itsalon/entity/BbsGrade.hbm.xml/value

/list

/property

/bean

!-- 事务管理 --

bean id="hibTransactionManager"

class="org.springframework.orm.hibernate3.HibernateTransactionManager"

property name="sessionFactory" ref="sessionFactory" /

/bean

tx:advice id="tranAdvice"

transaction-manager="hibTransactionManager"

tx:attributes

tx:method name="add*" propagation="REQUIRED" /

tx:method name="del*" propagation="REQUIRED" /

tx:method name="update*" propagation="REQUIRED" /

tx:method name="do*" propagation="REQUIRED" /

tx:method name="*" propagation="SUPPORTS" read-only="true" /

/tx:attributes

/tx:advice

aop:config

aop:pointcut id="serviceMethods"

expression="execution(* net.itsalon.*.service.*.*(..))" /

aop:advisor advice-ref="tranAdvice"

pointcut-ref="serviceMethods" /

/aop:config

!-- 导入用户管理模块bean --

import resource="beans-manager.xml"/

!-- 导入论坛模块bean --

import resource="beans-bbs.xml"/

/beans

spring的applicationContext.xml如何自动加载

用spring的时候需要一个bean容器来管理所有的bean,所有bean默认是写在applicationContext.xml里的,在web.xml里面是这么设置的,

方式一:

contextConfigLocation

/WEB-INF/dispatcherServlet-servlet.xml

org.springframework.web.context.ContextLoaderListener

是可选项,如果没有的话就加载applicationContext.xml,也可以用它指定其他配置文件。

方式二:

context

org.springframework.web.context.ContextLoaderServlet

这种没用过。

applicationContext.xml配置问题

ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化(也就是依赖注入)。提前实例化意味着作为初始化过程的一部分,ApplicationContext实例会创建并配置所有的singleton bean。通常情况下这是件好事,因为这样在配置中的任何错误就会即刻被发现(否则的话可能要花几个小时甚至几天)。

bean id="testBean" class="com.fhx.TestBean" 该bean默认的设置为:

bean id="testBean" class="com.fhx.TestBean" lazy-init="false" lazy-init="false" 立退加载, 表示spring启动时,立刻进行实例化。

(lazy-init 设置只对scop属性为singleton的bean起作用)

有时候这种默认处理可能并不是你想要的。如果你不想让一个singleton bean在ApplicationContext实现在初始化时被提前实例化,那么可以将bean设置为延迟实例化。

bean id="testBean" class="com.fhx.TestBean" lazy-init="true", lazy-init="true" 延迟加载 ,设置为lazy的bean将不会在ApplicationContext启动时提前被实例化,而是在第一次向容器通过getBean索取bean时实例化的。

如果一个设置了立即加载的bean1,引用了一个延迟加载的bean2,那么bean1在容器启动时被实例化,而bean2由于被bean1引用,所以也被实例化,这种情况也符合延迟加载的bean在第一次调用时才被实例化的规则。

在容器层次中通过在beans/元素上使用'default-lazy-init'属性来控制延迟初始化也是可能的。如下面的配置:

beans default-lazy-init="true"!-- no beans will be eagerly pre-instantiated... --/beans

如果一个bean的scope属性为scope=“pototype“时,即使设置了lazy-init="false",容器启动时不实例化bean,而是调用getBean方法是实例化的

另外加以说明:

.init-method属性指定初始化时执行的方法,distory-method属性指定bean销毁时执行的方法。

怎么创建applicationcontext.xml文件

用spring框架,创建applicationContext.xml文件总是从别的项目中拷贝过来。这次想自己新建一个applicationContext.xml文件,步骤如下:新建-》other-xml-xmlFile-next-createXMLfilefromanXMLschemafile-selectxmlcatelogentry-选中需要的xsd,生成xml文件如下:

请问prefixp如何在去除,我看其他项目中的applicationContext.xml文件都没有这个prefix。

找不到“applicationContext.xml”怎么办?

初学Spring在用Resource rs=new ClassPathResource("applicationContext.xml"),出现文件找不到的问题,或者你在new ClassPathResource("F://...//applicationContext.xml"),一样会出现找不到的情况。

原因:

ClassPathResource中找不到applicationContext.xml是因为这个xml文件在建工程的时候默认放在了 WebContent/WEB-INF/下面,但是用ClassPathResource是在当前目录也就是这个java文件所在的目下进行寻找。

解决方法:

方法一:把这个xml文件移动到src目录下面就ok了。

方法二:如果用FileSystemXmlApplicationContext呢,它是根据指定的路径来进行寻找,所以要把路径写完整。现在xml路径在 src文件夹下。那就要写:

ApplicationContext ctx=new FileSystemXmlApplicationContext("src/applicationContext.xml");

这是比较直接简单的写法。对于FileSystemXmlApplicationContext也可以采用:

1.加上classpath:前缀(这个时候xml要放在当前目录也就是src下)

ApplicationContext ctx=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");

2.加上file:把路径写全(用这个方法xml可以放任意地方)

ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext ctx=new ClassPathXmlApplicationContext("file:F:/workspace/SpringExercis/src/applicationContext.xml");

(责任编辑:IT教学网)

更多

推荐微信营销文章