博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何配置spring的监听器
阅读量:6228 次
发布时间:2019-06-21

本文共 5045 字,大约阅读时间需要 16 分钟。

  hot3.png

1、可以参考struts的docs文档spring-plugin.html。

2、也可以参考spring的帮助文档的15.4节struts。

  • Configure the Spring listener

web.xml

org.springframework.web.context.ContextLoaderListener
 
    
contextConfigLocation
  
classpath:beans.xml
默认的路径是>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml,也可以把spring的配置文件放到src目录下,配置就是classpath:beans.xml。其中beans.xml是文件名。
原帮助文档的描述:

applicationContext.xml

  
 
 ...
  More applicationContext configuration files needed?
Since the Spring integration uses a standard Listener, it can be configured to support configuration files other than applicationContext.xml. Adding the following to your web.xml will cause Spring's ApplicationContext to be inititalized from all files matching the given pattern:
 
contextConfigLocation
 
/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml
 

See the Spring documentation for a full description of this parameter.

注意:

如果beans.xml文件放在src目录下,在生成ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");但若是applicationContext.xml必须放到WEB-INF下的Classes目录下,才能用ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");生成ApplicationContext,若是直接放到WEB-INF下会抛出异常说找不到applicationContext文件

 

 

 

在Spring配置文件applicationContext.xml中加入数据库连接配置

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

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "">
<beans>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
   <props>
    <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
    <prop key="java.naming.provider.url">t3://127.0.0.1:7001</prop>
    <prop key="java.naming.security.principal">weblogic</prop>
    <prop key="java.naming.security.credentials">weblogic</prop>
   </props>
</property>
</bean>

<!--利用Weblogic配置数据库jndi连接-->

<bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
   <value>MySQLDataSource</value>
</property>
<property name="jndiTemplate">
   <ref local="jndiTemplate" />
</property>
</bean>

<!--直接配置数据库连接-->

< bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123</value>
</property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource">
   <ref bean="jndiDataSource" />
</property>
<property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    <prop key="hibernate.show_sql">false</prop>
    <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
   </props>
</property>
<!-- property name="mappingResources">
   <list>
    <value>cn/git/common/hbm/UserInfo.hbm.xml</value>
   </list>
</property-->
<property name="mappingDirectoryLocations">
   <list>
    <value>classpath:/cn/git/common/hbm</value>
   </list>
</property>

<!--配置Spring中的Hibernate模板类-->

</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
   <ref bean="sessionFactory" />
</property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory">
   <ref bean="sessionFactory" />
</property>
</bean>

<!--在类中直接调用hibernate模板类来访问数据库-->

   <bean id="systemLoginDAO" class="cn.git.systemLogin.dao.hibernate.SystemLoginDAO">
<property name="hibernateTemplate">
   <ref bean="hibernateTemplate" />
</property>
</bean>

</beans>

 

配置完成后即可在systemLoginDAO类中直接访问数据库了:)

package cn.git.systemLogin.dao.hibernate;

import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.classic.Session;

import cn.git.systemLogin.dao.ISystemLoginDAO;

public class SystemLoginDAO extends HibernateDaoSupport implements

ISystemLoginDAO ...{
   private Log log=LogFactory.getLog(this.getClass());
  
   public boolean checkUserPassword(String userName,String userPassword)...{
   Session session=getHibernateTemplate().getSessionFactory().openSession();
Connection conn = session.connection();
String query="select * from userInfo where userName=? and userPassword=?";
try...{
   PreparedStatement pstmt = conn.prepareStatement(query);
   pstmt.setString(1,userName);
   pstmt.setString(2,userPassword);
   ResultSet rs = pstmt.executeQuery();
   if(rs.next())...{
    return true;
   }else...{
    return false;
   }
}
catch(Exception e)...{
   return false;
  
}finally...{
   session.close();
}
  
}
}

转载于:https://my.oschina.net/ldm95/blog/724829

你可能感兴趣的文章
异常的处理方式
查看>>
JavaScrip 数组/字典/循环
查看>>
C#Question:“XXX”的重载均与“System.Threading.WaitCallback”不匹配。
查看>>
linux service等命令不能使用的解决办法
查看>>
java学习笔记(Core Java)5 继承
查看>>
算法(3)—— 链表习题 完结
查看>>
详谈外部浏览器如何实现复制公众号一键唤起微信添加关注
查看>>
c++ 快速排序
查看>>
Linux下删除命令 硬盘空间查看... 常用命令
查看>>
从客户端中检测到有潜在危险的 Request.Form 值
查看>>
Node.js制作爬取简书内容的爬虫
查看>>
编辑器之神-vim
查看>>
highcharts 柱形堆叠图
查看>>
在vue2.x中安装sass并配置
查看>>
密钥分散算法
查看>>
Django ORM字段和字段参数
查看>>
HDU-6170 Two strings
查看>>
URL和URI
查看>>
3.12DAYUP
查看>>
算法10-----分糖果
查看>>