zoukankan      html  css  js  c++  java
  • maven整合S2SH

    1.pom.xml

      1 <?xml version="1.0"?>
      2 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
      3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      4   <modelVersion>4.0.0</modelVersion>
      5   <parent>
      6     <artifactId>JavaPrj_2</artifactId>
      7     <groupId>com.goshop</groupId>
      8     <version>0.0.1-SNAPSHOT</version>
      9   </parent>
     10   <groupId>com.goshop</groupId>
     11   <artifactId>JavaPrj_2-web</artifactId>
     12   <version>0.0.1-SNAPSHOT</version>
     13   <packaging>war</packaging>
     14   <name>JavaPrj_2-web Maven Webapp</name>
     15   <url>http://maven.apache.org</url>
     16   <dependencies>
     17     <dependency>
     18       <groupId>junit</groupId>
     19       <artifactId>junit</artifactId>
     20       <version>3.8.1</version>
     21       <scope>test</scope>
     22     </dependency>
     23     
     24     <dependency>
     25       <groupId>com.goshop</groupId>
     26       <artifactId>JavaPrj_2-service</artifactId>
     27       <version>0.0.1-SNAPSHOT</version>
     28     </dependency>
     29     <dependency>
     30     <groupId>org.apache.struts</groupId>
     31     <artifactId>struts2-jfreechart-plugin</artifactId>
     32     <version>2.0.6</version>
     33 </dependency>
     34     <dependency>
     35     <groupId>jfree</groupId>
     36     <artifactId>jcommon</artifactId>
     37     <version>1.0.16</version>
     38 </dependency>
     39 <dependency>
     40     <groupId>jfree</groupId>
     41     <artifactId>jfreechart</artifactId>
     42     <version>1.0.9</version>
     43 </dependency>
     44     <!-- spring3 -->
     45         <dependency>
     46             <groupId>org.springframework</groupId>
     47             <artifactId>spring-core</artifactId>
     48             <version>3.1.2.RELEASE</version>
     49         </dependency>
     50         <dependency>
     51             <groupId>org.springframework</groupId>
     52             <artifactId>spring-context</artifactId>
     53             <version>3.1.2.RELEASE</version>
     54         </dependency>
     55         <dependency>
     56             <groupId>org.springframework</groupId>
     57             <artifactId>spring-jdbc</artifactId>
     58             <version>3.1.2.RELEASE</version>
     59         </dependency>
     60         <dependency>
     61             <groupId>org.springframework</groupId>
     62             <artifactId>spring-beans</artifactId>
     63             <version>3.1.2.RELEASE</version>
     64         </dependency>
     65         <dependency>
     66             <groupId>org.springframework</groupId>
     67             <artifactId>spring-web</artifactId>
     68             <version>3.1.2.RELEASE</version>
     69         </dependency>
     70         <dependency>
     71             <groupId>org.springframework</groupId>
     72             <artifactId>spring-expression</artifactId>
     73             <version>3.1.2.RELEASE</version>
     74         </dependency>
     75         <dependency>
     76             <groupId>org.springframework</groupId>
     77             <artifactId>spring-orm</artifactId>
     78             <version>3.1.2.RELEASE</version>
     79         </dependency>
     80         
     81         <!-- Struts2的核心包 -->
     82         <dependency>
     83             <groupId>org.apache.struts</groupId>
     84             <artifactId>struts2-core</artifactId>
     85             <version>2.3.16</version>
     86             <!--
     87             这里的 exclusions 是排除包,因为 Struts2中有javassist,Hibernate中也有javassist,
     88             所以如果要整合Hibernate,一定要排除掉Struts2中的javassist,否则就冲突了。
     89             <exclusions>
     90                 <exclusion>
     91                     <groupId>javassist</groupId>
     92                     <artifactId>javassist</artifactId>
     93                 </exclusion>
     94             </exclusions> 
     95             -->
     96         </dependency>
     97         <!-- convention-plugin插件,使用了这个插件之后,就可以采用注解的方式配置Action -->
     98         <dependency>
     99             <groupId>org.apache.struts</groupId>
    100             <artifactId>struts2-convention-plugin</artifactId>
    101             <version>2.3.20</version>
    102         </dependency>
    103         <!--config-browser-plugin插件,使用了这个插件之后,就可以很方便的浏览项目中的所有action及其与 jsp view的映射 -->
    104         <dependency>
    105             <groupId>org.apache.struts</groupId>
    106             <artifactId>struts2-config-browser-plugin</artifactId>
    107             <version>2.3.20</version>
    108         </dependency>
    109         <!-- Struts2和Spring整合插件 -->
    110         <dependency>
    111             <groupId>org.apache.struts</groupId>
    112             <artifactId>struts2-spring-plugin</artifactId>
    113             <version>2.3.4.1</version>
    114         </dependency>
    115         
    116         <!-- hibernate4 -->
    117         <dependency>
    118             <groupId>org.hibernate</groupId>
    119             <artifactId>hibernate-core</artifactId>
    120             <version>4.1.7.Final</version>
    121         </dependency>
    122         
    123         <!-- mysql驱动包 -->
    124         <dependency>
    125             <groupId>mysql</groupId>
    126             <artifactId>mysql-connector-java</artifactId>
    127             <version>5.1.34</version>
    128         </dependency>
    129         
    130         <!--Druid连接池包 -->
    131         <dependency>
    132             <groupId>com.alibaba</groupId>
    133             <artifactId>druid</artifactId>
    134             <version>1.0.12</version>
    135         </dependency>
    136         
    137         <!--aspectjweaver包 -->
    138         <dependency>
    139             <groupId>org.aspectj</groupId>
    140             <artifactId>aspectjweaver</artifactId>
    141             <version>1.8.5</version>
    142         </dependency>
    143         <dependency>
    144     <groupId>c3p0</groupId>
    145     <artifactId>c3p0</artifactId>
    146     <version>0.9.1.2</version>
    147 </dependency>
    148 
    149         <dependency>
    150     <groupId>org.hibernate</groupId>
    151     <artifactId>hibernate-core</artifactId>
    152     <version>3.6.10.Final</version>
    153 </dependency>
    154 
    155 <dependency>
    156     <groupId>log4j</groupId>
    157     <artifactId>log4j</artifactId>
    158     <version>1.2.17</version>
    159 </dependency>
    160   </dependencies>
    161   <build>
    162     <finalName>JavaPrj_2-web</finalName>
    163   </build>
    164 </project>

    2.web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://java.sun.com/xml/ns/javaee"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     5     version="3.0">
     6 
     7     <!-- Spring监听器 -->
     8     <listener>
     9         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    10     </listener>
    11     <!-- Spring配置文件位置 -->
    12     <context-param>
    13         <param-name>contextConfigLocation</param-name>
    14         <param-value>classpath*:applicationContext.xml</param-value>
    15     </context-param>
    16 <context-param>
    17    <param-name>log4jConfigLocation</param-name>
    18  <param-value>classpath:Log4j.properties</param-value>
    19 </context-param> 
    20 <listener>
    21 <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    22 </listener>
    23     <filter>
    24         <filter-name>struts2</filter-name>
    25         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    26     </filter>
    27 
    28     <filter-mapping>
    29         <filter-name>struts2</filter-name>
    30         <url-pattern>/*</url-pattern>
    31     </filter-mapping>
    32 </web-app>

    3.applicationContext.xml

      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <!-- 指定Spring配置文件的Schema信息 -->
      3 <beans xmlns="http://www.springframework.org/schema/beans"
      4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      5     xmlns:aop="http://www.springframework.org/schema/aop"
      6     xmlns:context="http://www.springframework.org/schema/context"
      7     xmlns:tx="http://www.springframework.org/schema/tx"
      8     xsi:schemaLocation="http://www.springframework.org/schema/beans 
      9     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     10     http://www.springframework.org/schema/tx 
     11     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     12     http://www.springframework.org/schema/context 
     13     http://www.springframework.org/schema/context/spring-context-3.0.xsd
     14     http://www.springframework.org/schema/aop 
     15     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
     16     
     17     <context:component-scan base-package="com.goshop.action"></context:component-scan>
     18     <context:component-scan base-package="com.goshop.service.impl"></context:component-scan>
     19     <context:component-scan base-package="com.goshop.dao.impl"></context:component-scan>
     20     <!-- 定义数据源Bean,使用C3P0数据源实现 -->
     21     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
     22         destroy-method="close">
     23         <!-- 指定连接数据库的驱动 -->
     24         <property name="driverClass" value="com.mysql.jdbc.Driver"/>
     25         <!-- 指定连接数据库的URL -->
     26         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_votemanage"/>
     27         <!-- 指定连接数据库的用户名 -->
     28         <property name="user" value="root"/>
     29         <!-- 指定连接数据库的密码 -->
     30         <property name="password" value="123456"/>
     31         <!-- 指定连接数据库连接池的最大连接数 -->
     32         <property name="maxPoolSize" value="40"/>
     33         <!-- 指定连接数据库连接池的最小连接数 -->
     34         <property name="minPoolSize" value="1"/>
     35         <!-- 指定连接数据库连接池的初始化连接数 -->
     36         <property name="initialPoolSize" value="1"/>
     37         <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
     38         <property name="maxIdleTime" value="20"/>
     39     </bean>
     40     <!-- 定义Hibernate的SessionFactory -->
     41     <bean id="sessionFactory"
     42         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
     43         <!-- 依赖注入数据源,注入正是上面定义的dataSource -->
     44         <property name="dataSource" ref="dataSource"/>
     45         <!-- mappingResouces属性用来列出全部映射文件 -->
     46         <property name="mappingResources">
     47             <list>
     48                 <!-- 以下用来列出Hibernate映射文件 -->
     49                 <value>com/goshop/domain/Person.hbm.xml</value>
     50                 <value>com/goshop/domain/Vote.hbm.xml</value>
     51                 <value>com/goshop/domain/VoteOption.hbm.xml</value>
     52             </list>
     53         </property>
     54         <!-- 定义Hibernate的SessionFactory的属性 -->
     55         <property name="hibernateProperties">
     56             <!-- 配置Hibernate属性 -->
     57             <value>
     58             hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
     59             hibernate.hbm2ddl.auto=update
     60             hibernate.show_sql=true
     61             hibernate.format_sql=true;
     62             </value>
     63         </property>
     64     </bean>
     65     <!-- 定义DAO Bean-->
     66     <bean id="personDao" class=
     67     "com.goshop.dao.impl.PersonDaoHibernate">
     68         <!-- 注入持久化操作所需的SessionFactory -->
     69         <property name="sessionFactory" ref="sessionFactory"/>
     70     </bean>
     71     
     72         <bean id="voteDaoHibernate" class=
     73     "com.goshop.dao.impl.VoteDaoHibernate">
     74         <!-- 注入持久化操作所需的SessionFactory -->
     75         <property name="sessionFactory" ref="sessionFactory"/>
     76     </bean>
     77     
     78             <bean id="voteOptionDaoHibernate" class=
     79     "com.goshop.dao.impl.VoteOptionDaoHibernate">
     80         <!-- 注入持久化操作所需的SessionFactory -->
     81         <property name="sessionFactory" ref="sessionFactory"/>
     82     </bean>
     83     
     84     <!-- 配置一个业务逻辑组件 -->
     85     <bean id="service" class=
     86     "com.goshop.service.impl.ServiceImpl">
     87         <!-- 注入持久化访问所需的DAO组件 -->
     88         <property name="personDao" ref="personDao"/>
     89     </bean>
     90 
     91 
     92     <!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
     93     <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
     94     <bean id="transactionManager" 
     95         class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     96         <!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
     97         <property name="sessionFactory" ref="sessionFactory"/>
     98     </bean>
     99     <!-- 配置事务增强处理,指定事务管理器 -->
    100     <tx:advice id="txAdvice" transaction-manager="transactionManager">
    101         <!-- 用于配置详细的事务语义 -->
    102         <tx:attributes>
    103             <!-- 所有以'get'开头的方法是read-only的 -->
    104             <tx:method name="get*" read-only="true"/>
    105             <!-- 其他方法使用默认的事务设置 -->
    106             <tx:method name="*"/>
    107         </tx:attributes>
    108     </tx:advice>
    109     <aop:config>
    110         <!-- 配置一个切入点 -->
    111         <aop:pointcut id="pointcut"
    112             expression="bean(service)"/>
    113         <!-- 指定在pointcut切入点应用txAdvice事务增强处理 -->
    114         <aop:advisor advice-ref="txAdvice" 
    115             pointcut-ref="pointcut"/>
    116     </aop:config>
    117 
    118 </beans>

    5.struts.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
     3 <struts>
     4 
     5     <!-- 指定由spring负责action对象的创建 -->
     6     <constant name="struts.objectFactory" value="spring" />
     7     <!-- 所有匹配*.action的请求都由struts2处理 -->
     8     <constant name="struts.action.extension" value="action" />
     9     <!-- 是否启用开发模式(开发时设置为true,发布到生产环境后设置为false) -->
    10     <constant name="struts.devMode" value="true" />
    11     <!-- struts配置文件改动后,是否重新加载(开发时设置为true,发布到生产环境后设置为false) -->
    12     <constant name="struts.configuration.xml.reload" value="true" />
    13     <!-- 设置浏览器是否缓存静态内容(开发时设置为false,发布到生产环境后设置为true) -->
    14     <constant name="struts.serve.static.browserCache" value="false" />
    15     <!-- 请求参数的编码方式 -->
    16     <constant name="struts.i18n.encoding" value="utf-8" />
    17     <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发(开发时设置为true,发布到生产环境后设置为false) -->
    18     <constant name="struts.i18n.reload" value="true" />
    19     <!-- 文件上传最大值 -->
    20     <constant name="struts.multipart.maxSize" value="104857600" />
    21     <!-- 让struts2支持动态方法调用,使用叹号访问方法 -->
    22     <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    23     <!-- Action名称中是否还是用斜线 -->
    24     <constant name="struts.enable.SlashesInActionNames" value="false" />
    25     <!-- 允许标签中使用表达式语法 -->
    26     <constant name="struts.tag.altSyntax" value="true" />
    27     <!-- 对于WebLogic,Orion,OC4J此属性应该设置成true -->
    28     <constant name="struts.dispatcher.parametersWorkaround" value="false" />
    29     
    30     
    31     <include file="struts_show.xml"></include>
    32     <include file="struts_do.xml"></include>
    33     <include file="struts_result.xml"></include>
    34     
    35 </struts>

    6.

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
     3 <struts>
     4     <package name="default1" namespace="/" extends="struts-default">
     5     <action name="doVoteAction" class="com.goshop.action.DoVoteAction" method="add">
     6              <result name="success">/index.jsp</result>  
     7              <result name="input">/index.jsp</result>
     8         </action>    
     9     </package>
    10 </struts>

    7.

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
     3 <struts>
     4     <package name="default2" namespace="/" extends="jfreechart-default,struts-default">
     5     <action name="resultAction" class="com.goshop.action.ShowResultAction" >
     6           <result name="success"   type="chart">  
     7                 <param name="width">400</param>  
     8                 <param name="height">300</param>  
     9             </result>  
    10         </action>    
    11     </package>
    12 </struts>

    8.

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
    3 <struts>
    4     <package name="default" namespace="/" extends="struts-default">
    5     <action name="showAction" class="com.goshop.action.ShowVoteOptionAction" method="show">
    6              <result name="success">/index.jsp</result>  
    7         </action>    
    8     </package>
    9 </struts>

    9.

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
     3 <struts>
     4     <package name="default" namespace="/" extends="struts-default">
     5         <action name="testAction" class="com.goshop.action.TestAction" method="test">
     6              <result name="success">/list.jsp</result>  
     7         </action>    
     8          <!-- 定义处理用户请求的Action,指定该Action的实现类-->  
     9         <action name="registPro"   
    10             class="com.goshop.action.RegistAction">  
    11             <!-- 为两个逻辑视图配置视图页面 -->  
    12             <result name="error">/error.jsp</result>  
    13             <result name="success">/welcome.jsp</result>  
    14         </action>  
    15         <!-- 让用户直接访问该应用时列出所有视图页面 -->  
    16         <action name="*">  
    17             <result>/{1}.jsp</result>  
    18         </action>  
    19     </package>
    20 </struts>

    8.log4j.properties

     1 u4E0Bu9762u5B9Au4E49u65E5u5FD7u8F93u51FAu7EA7u522Bu662F INFOuFF0Cu5E76u4E14u914Du7F6Eu4E862u4E2Au8F93u51FAu76EEu7684u5730uFF0Cu4E00u4E2Au662FA3uFF0Cu4E00u4E2Au662Fconsole
     2 
     3 log4j.rootLogger = INFO,A3,CONSOLE
     4 
     5 //u65E5u5FD7u6700u4F4Eu7684u8F93u51FAu7EA7u522B
     6 log4j.appender.A3.Threshold=INFO
     7 log4j.appender.A3.encoding=UTF-8
     8 //u6BCFu5929u4EA7u751Fu4E00u4E2Au6587u4EF6DailyRollingFileAppender  
     9 log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
    10 //file u5C5Eu6027  u6307u5B9Au4EA7u751Fu65E5u5FD7u6587u4EF6u7684u4FDDu5B58u4F4Du7F6Eu53CAu6587u4EF6u540DuFF0Cu8FD9u91CCu662Fwindowsu4E0Bu7684u914Du7F6E
    11 // c:/logtest/logtest.loguFF0C
    12 //u516Cu53F8u9879u76EEu5728linuxu4E0Bu7684u914Du7F6Eu662F/app/weblogic/applications/logs/sxvip_logs
    13 log4j.appender.A3.File=e:/logtest/logtest.log
    14 //u5F53u6709u65E5u5FD7u65F6u7ACBu5373u8F93u51FAuFF0Cu9ED8u8BA4u662Ftrue
    15 log4j.appender.A3.ImmediateFlush=true
    16 log4j.appender.A3.DatePattern='_'yyyy-MM-dd
    17 //u65E5u5FD7u5E03u5C40u65B9u5F0F
    18 log4j.appender.A3.layout=org.apache.log4j.PatternLayout
    19 //u65E5u5FD7u6587u4EF6u4E2Du65E5u5FD7u7684u683Cu5F0F
    20 log4j.appender.A3.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n
    21 
    22 //u8FD9u91CCu4F7Fu7528org.apache.log4j.ConsoleAppenderu6307u5B9Au8981u628Au65E5u5FD7u8F93u51FAu5230u63A7u5236u53F0
    23 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    24 log4j.appender.Threshold=INFO
    25 //u8F93u51FAu76EEu6807u662F u63A7u5236u53F0
    26 log4j.appender.CONSOLE.Target=System.out
    27 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    28 log4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n

    9.testAction

     1 package com.goshop.action;
     2 
     3 import org.apache.struts2.convention.annotation.Action;
     4 import org.apache.struts2.convention.annotation.Namespace;
     5 import org.apache.struts2.convention.annotation.ParentPackage;
     6 import org.springframework.beans.factory.annotation.Autowired;
     7 import org.springframework.context.annotation.Scope;
     8 import org.springframework.stereotype.Controller;
     9 
    10 import com.goshop.service.IUserService;
    11 import com.opensymphony.xwork2.ActionSupport;
    12 @Controller  
    13 @Scope("prototype")
    14 public class TestAction extends ActionSupport {
    15 
    16     
    17     public String test(){
    18         
    19         return "success";
    20     }
    21     
    22 }

    10.RegisterAction

     1 package com.goshop.action;
     2 
     3 import org.apache.commons.logging.Log;
     4 import org.apache.commons.logging.LogFactory;
     5 
     6 import com.goshop.domain.Person;
     7 import com.goshop.service.Service;
     8 import com.opensymphony.xwork2.ActionSupport;
     9 
    10 public class RegistAction  extends ActionSupport{
    11 
    12       //下面是用于封装用户请求参数的属性  
    13     private Person person;  
    14     //用于封装处理结果的属性  
    15     private String tip;  
    16     //系统所用的业务逻辑组件  
    17     private Service service;  
    18     //设置注入业务逻辑组件所必需的setter方法  
    19     public void setService(Service service)  
    20     {  
    21         this.service = service;  
    22     }  
    23   
    24     //person属性的setter和getter方法  
    25     public void setPerson(Person person)  
    26     {  
    27         this.person = person;  
    28     }  
    29     public Person getPerson()  
    30     {  
    31         return this.person;  
    32     }  
    33   
    34     //tip属性的setter和getter方法  
    35     public void setTip(String tip)  
    36     {  
    37         this.tip = tip;  
    38     }  
    39     public String getTip()  
    40     {  
    41         return this.tip;  
    42     }  
    43   
    44     private static final Log log = LogFactory.getLog(RegistAction.class);
    45     
    46     
    47     //处理用户请求的execute方法  
    48     public String execute()  
    49         throws Exception  
    50     {  
    51         log.info("注册校验开始.........................");
    52         //调用业务逻辑组件的regist方法来处理请求  
    53         if (service.regist(person))  
    54         {  
    55             setTip("哈哈,注册成功!");  
    56             log.info("注册成功");
    57             return SUCCESS;  
    58         }  
    59         else  
    60         {  
    61             log.error("注册失败");
    62             return ERROR;  
    63         }  
    64     }  
    65 }

    11, service

     1 package com.goshop.service;
     2 /**
     3  * 测试用
     4  * @author ThinkPad
     5  *
     6  */
     7 public interface IUserService {
     8 
     9     public void test();
    10 }

    12.service.impl

     1 package com.goshop.service.impl;
     2 
     3 import org.springframework.stereotype.Service;
     4 
     5 import com.goshop.service.IUserService;
     6 
     7 @Service("userService")
     8 public class UserServiceImpl implements IUserService{
     9 
    10     public void test() {
    11         System.out.println("hello..world");
    12     }
    13 
    14 }

    13.service

    1 package com.goshop.service;
    2 
    3 import com.goshop.domain.Person;
    4 
    5 public interface Service {
    6     
    7     //注册用户  
    8     boolean regist(Person person);  
    9 }

    14.service.impl

     1 package com.goshop.service.impl;
     2 
     3 import com.goshop.dao.PersonDao;
     4 import com.goshop.domain.Person;
     5 import com.goshop.service.Service;
     6 
     7 public class ServiceImpl implements Service{
     8 
     9      private PersonDao personDao;  
    10     
    11     
    12     public PersonDao getPersonDao() {
    13         return personDao;
    14     }
    15 
    16 
    17     public void setPersonDao(PersonDao personDao) {
    18         this.personDao = personDao;
    19     }
    20 
    21 
    22     public boolean regist(Person person) {
    23         int result = personDao.save(person);
    24         if(result>0){
    25             return true;
    26         }
    27         return false;
    28     }
    29 
    30 }

    15.dao

     1 package com.goshop.dao;
     2 
     3 import java.util.List;
     4 
     5 import com.goshop.domain.Person;
     6 
     7 public interface PersonDao {
     8       /** 
     9      * 加载Person实例 
    10      * @param id 需要加载的Person实例的主键值 
    11      * @return 返回加载的Person实例 
    12      */   
    13     Person get(Integer id);  
    14        
    15     /** 
    16      * 保存Person实例 
    17      * @param person 需要保存的Person实例 
    18      * @return 刚刚保存的Person实例的标识属性值 
    19      */   
    20     Integer save(Person person);  
    21       
    22     /** 
    23      * 修改Person实例 
    24      * @param person 需要修改的Person实例 
    25      */  
    26     void update(Person person);  
    27       
    28     /** 
    29      * 删除Person实例 
    30      * @param id 需要删除的Person实例的标识属性值 
    31      */  
    32     void delete(Integer id);  
    33       
    34     /** 
    35      * 删除Person实例 
    36      * @param person 需要删除的Person实例 
    37      */  
    38     void delete(Person person);  
    39       
    40     /** 
    41      * 根据用户名查找Person 
    42      * @param name 查询的人名 
    43      * @return 指定用户名对应的全部Person 
    44      */  
    45     List<Person> findByName(String name);  
    46       
    47     /** 
    48      * 查询全部Person实例 
    49      * @return 全部Person实例 
    50      */  
    51     public List<Person> findAllPerson();  
    52 }

    16.dao.impl

     1 package com.goshop.dao.impl;
     2 
     3 import java.util.List;
     4 
     5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
     6 
     7 import com.goshop.dao.PersonDao;
     8 import com.goshop.domain.Person;
     9 
    10 public class PersonDaoHibernate extends HibernateDaoSupport implements PersonDao{
    11 
    12     public Person get(Integer id) {
    13         return this.getHibernateTemplate().get(Person.class, id);
    14     }
    15 
    16     public Integer save(Person person) {
    17         return (Integer) this.getHibernateTemplate().save(person);
    18     }
    19 
    20     public void update(Person person) {
    21         this.getHibernateTemplate().update(person);
    22     }
    23 
    24     public void delete(Integer id) {
    25         this.getHibernateTemplate().delete(get(id));
    26     }
    27 
    28     public void delete(Person person) {
    29         this.getHibernateTemplate().delete(person);
    30     }
    31 
    32     public List<Person> findByName(String name) {
    33         return (List<Person>)this.getHibernateTemplate().find("from Person p where p.name like ?",name);
    34     }
    35 
    36     public List<Person> findAllPerson() {
    37         return (List<Person>)this.getHibernateTemplate().find("from Person");
    38     }
    39 
    40 }
     1 <?xml version="1.0" encoding="GBK"?>  
     2 <!DOCTYPE hibernate-mapping PUBLIC   
     3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
     4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
     5 <hibernate-mapping package="com.goshop.domain">
     6     <class name="Person" table="tb_person">
     7         <id name="id" column="Id" type="int">
     8             <generator class="increment"></generator>
     9         </id>
    10         <property name="name" type="string"></property>
    11         <property name="age" type="int"></property>
    12     </class>
    13 </hibernate-mapping>
     1 package com.goshop.domain;
     2 
     3 public class Person {
     4     private Integer id;
     5     private String name;
     6     private int age;
     7     public Integer getId() {
     8         return id;
     9     }
    10     public void setId(Integer id) {
    11         this.id = id;
    12     }
    13     public String getName() {
    14         return name;
    15     }
    16     public void setName(String name) {
    17         this.name = name;
    18     }
    19     public int getAge() {
    20         return age;
    21     }
    22     public void setAge(int age) {
    23         this.age = age;
    24     }
    25 
    26     
    27 }
  • 相关阅读:
    适配器模式
    代理模式
    单例模式
    构建者(建造者)模式
    js Math方法
    补零
    js中十进制与二进制、八进制、十六进制的互相转换
    js生成一个范围内随机数Math.random
    js不改变原数组的情况下取数值数组的最大值和最小值
    自己封装方法,功能跟数组的indexof一样
  • 原文地址:https://www.cnblogs.com/sharpest/p/6037252.html
Copyright © 2011-2022 走看看