Struts2+Spring+Hibernate In Action(二)

来源:互联网 发布:vmware 14 for linux 编辑:程序博客网 时间:2024/05/22 18:55
 
当所有的Service配置好了,可以当他们统统配置在Spring这个IoC容器中,供Struts2使用。
以下是本程序中Spring的配置代码中的一部分:
xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2.               "http://www.springframework.org/dtd/spring-beans-2.0.dtd">  
  3. <beans>  
  4.   
  5.   
  6.     <bean id="propertyConfigurer"  
  7.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  8.         <property name="locations">  
  9.             <list>  
  10.                 <value>classpath:leo.confvalue>  
  11.             list>  
  12.         property>  
  13.         <property name="fileEncoding" value="utf-8" />  
  14.         <property name="ignoreResourceNotFound" value="true" />  
  15.     bean>  
  16.   
  17.   
  18.     <bean id="dataSource"  
  19.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  20.         <property name="driverClassName" value="${jdbc.driver}" />  
  21.         <property name="url" value="${jdbc.url}" />  
  22.         <property name="username" value="${jdbc.username}" />  
  23.         <property name="password" value="${jdbc.password}" />  
  24.     bean>  
  25.   
  26.     <bean id="sessionFactory"  
  27.         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  28.         <property name="configurationClass">  
  29.             <value>org.hibernate.cfg.AnnotationConfigurationvalue>  
  30.         property>  
  31.   
  32.         <property name="hibernateProperties">  
  33.             <value>  
  34.                 hibernate.dialect=org.hibernate.dialect.MySQLDialect   
  35.                 hibernate.show_sql=true hibernate.format_sql=true  
  36.             value>  
  37.         property>  
  38.   
  39.         <property name="dataSource" ref="dataSource" />  
  40.   
  41.         <property name="annotatedClasses">  
  42.             <list>  
  43.                 <value>com.leo.po.Uservalue>  
  44.                 <value>com.leo.po.Articlevalue>  
  45.                 <value>com.leo.po.Mailvalue>  
  46.                 <value>com.leo.po.Logvalue>  
  47.             list>  
  48.         property>  
  49.     bean>  
  50.   
  51.   
  52.     <bean id="hibernateTemplate"  
  53.         class="org.springframework.orm.hibernate3.HibernateTemplate">  
  54.         <property name="sessionFactory">  
  55.             <ref local="sessionFactory" />  
  56.         property>  
  57.     bean>  
  58.   
  59.   
  60.   
  61.     <bean id="transactionManager"  
  62.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  63.         <property name="sessionFactory" ref="sessionFactory" />  
  64.     bean>  
  65.   
  66.   
  67.     <bean  
  68.         class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />  
  69.   
  70.     <bean  
  71.         class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">  
  72.         <property name="transactionInterceptor"  
  73.             ref="transactionInterceptor" />  
  74.     bean>  
  75.   
  76.     <bean id="transactionInterceptor"  
  77.         class="org.springframework.transaction.interceptor.TransactionInterceptor">  
  78.         <property name="transactionManager" ref="transactionManager" />  
  79.   
  80.         <property name="transactionAttributeSource">  
  81.             <bean  
  82.                 class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource" />  
  83.         property>  
  84.     bean>  
  85.   
  86.   
  87.     <bean id="userService"  
  88.         class="com.leo.service.impl.UserServiceImpl">  
  89.         <constructor-arg>  
  90.             <value>com.leo.po.Uservalue>  
  91.         constructor-arg>  
  92.         <property name="hibernateTemplate" ref="hibernateTemplate" />  
  93.     bean>  
  94.   
  95.     <bean id="articleService"  
  96.         class="com.leo.service.impl.ArticleServiceImpl">  
  97.         <constructor-arg>  
  98.             <value>com.leo.po.Articlevalue>  
  99.         constructor-arg>  
  100.         <property name="hibernateTemplate" ref="hibernateTemplate" />  
  101.         <property name="mailService" ref="mailService" />  
  102.         <property name="logService" ref="logService" />  
  103.         <property name="javaMailSenderUtil" ref="javaMailSenderUtil" />  
  104.     bean>  
  105.   
  106.     <bean id="mailService"  
  107.         class="com.leo.service.impl.MailServiceImpl">  
  108.         <constructor-arg>  
  109.             <value>com.leo.po.Mailvalue>  
  110.         constructor-arg>  
  111.         <property name="hibernateTemplate" ref="hibernateTemplate" />  
  112.     bean>  
  113.   
  114.     <bean id="logService" class="com.leo.service.impl.LogServiceImpl">  
  115.         <constructor-arg>  
  116.             <value>com.leo.po.Logvalue>  
  117.         constructor-arg>  
  118.         <property name="hibernateTemplate" ref="hibernateTemplate" />  
  119.     bean>  
  120.   
  121.   
  122.   
  123.   
  124.        
  125.     <bean id="mailSender"  
  126.         class="org.springframework.mail.javamail.JavaMailSenderImpl">  
  127.         <property name="host" value="${mail.smtp}" />  
  128.         <property name="username" value="${mail.username}" />  
  129.         <property name="password" value="${mail.password}" />  
  130.         <property name="javaMailProperties">  
  131.             <props>  
  132.                 <prop key="mail.smtp.auth">trueprop>  
  133.             props>  
  134.         property>  
  135.     bean>  
  136.   
  137.     <bean id="mailMessage"  
  138.         class="org.springframework.mail.SimpleMailMessage">  
  139.         <property name="to" value="superleo_cn@hotmail.com" />  
  140.         <property name="from" value="${mail.username}" />  
  141.         <property name="subject" value="testdfsfsdf" />  
  142.     bean>  
  143.   
  144.   
  145.     <bean id="javaMailSenderUtil"  
  146.         class="com.leo.util.JavaMailSenderUtil">  
  147.         <property name="mailSender" ref="mailSender" />  
  148.     bean>  
  149.   
  150. beans>  

在classpath下的leo.conf是程序的基本参数设置,包括你的MySQL数据用户,密码,还有你电子邮件SMTP和账号密码的设置,我的配置是这样的,大家使用的时候,需要修改这个配置文件,以免出现无法正常使用和正常收发信。

java 代码
  1. # JDBC配置   
  2. jdbc.driver=com.mysql.jdbc.Driver   
  3. jdbc.url=jdbc:mysql://localhost/ssh_mail?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=false   
  4. jdbc.username=root   
  5. jdbc.password=123  
  6.   
  7. jdbc.maxActive=25  
  8. jdbc.maxIdle=5  
  9. jdbc.maxWait=10000  
  10.   
  11.   
  12. # 电子邮件配置   
  13. mail.smtp=smtp.163.com   
  14. mail.username=kyo100900@163.com   
  15. mail.password=123456

配置好了后,如果不放心,在test文件夹下,有一个测试类,叫UserServiceTest.java。 大家可以修改里面的一个ID参数,然后运行就可知道你的Spring是否在Service层配置正常。

 

 

http://superleo.javaeye.com/blog/137150

原创粉丝点击