欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts2+Spring+Hibernate In Action(二) 博客分类: Struts2 SpringHibernateBeanJDBCMySQL 

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