【JavaEE】SSH全注解

基于全注解的ssh完整例子 基于全注解的ssh完整例子,基本框架搭建好了,非常适合上手 立即下载

1.下载必要核心jar包,并引入到项目
2.需要注意的spring配置文件,由与需要使用全注解的方式 配置文件和之前有些许不同

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <!-- 让spring关注注解,并扫描com.lagersoft.*包下的所有类 -->
    <context:component-scan base-package="com.lagersoft.*"></context:component-scan>
    <context:annotation-config></context:annotation-config>

    <!-- 数据源配置项 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="oracle.jdbc.OracleDriver">
        </property>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl">
        </property>
        <property name="username" value="scott"></property>
        <property name="password" value="tiger"></property>
    </bean>

    <!-- SessionFactory配置项 这个bean相当于Hibernate的配置项 -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="annotatedClasses">
            <list>  
                <value>com.lagersoft.po.Dept</value>
                <value>com.lagersoft.po.Emp</value>
            </list>  
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.Oracle9Dialect
                </prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
    </bean>

    <!-- 使用声明式事务 -->
    <bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    <tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="getAll*" read-only="true" propagation="SUPPORTS" />
            <tx:method name="find*" read-only="true" propagation="SUPPORTS" />
            <tx:method name="update*" read-only="false" propagation="REQUIRED" />
            <tx:method name="del*" read-only="false" propagation="REQUIRED" />
            <tx:method name="add*" read-only="false" propagation="REQUIRED" />
            <tx:method name="*" propagation="REQUIRED" />
        </tx:attributes>
    </tx:advice>
    <!-- 切面的配置项 -->
    <aop:config>
        <aop:advisor advice-ref="txAdvice"
            pointcut="execution(* com.lagersoft.service.*.*(..))" />
    </aop:config>

</beans>

3.数据访问层的实现类 使用@org.springframework.stereotype.Repository注解,为了更方便的注入sessionFactory对象可以让所有DAO实现类继承DAO实现类的基类

package com.lagersoft.base;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
/**
 * DAO层实现类基类:实现sessionFactory的注入
 * @author xiaoping
 *
 */
public class BaseDAOImpl{
    private SessionFactory sessionFactory;
    private HibernateTemplate hibernateTemplate;

    public SessionFactory getSessionFactory() {
        return sessionFactory;
    }
    @Autowired
    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }
    public HibernateTemplate getHibernateTemplate() {
        return hibernateTemplate;
    }
    @Autowired
    public void setHibernateTemplate(SessionFactory sessionFactory) {
        this.hibernateTemplate = new HibernateTemplate(sessionFactory);
    }

}

4.业务逻辑层的实现类使用 @org.springframework.stereotype.Service注解,
使用 @org.springframework.beans.factory.annotation.Autowired 来注入需要使用到的DAO

@Service
public class EmpServiceImpl implements EmpService {

    @Autowired private EmpDAO empDAO;
    ...
}

5.xxAction类 使用 @org.springframework.stereotype.Controller注解
使用 @org.apache.struts2.convention.annotation.Action来注解具体的需要访问的action方法
使用@org.apache.struts2.convention.annotation.Result注解action返回的结果

@Controller
@Scope("prototype")
public class EmpAction extends ActionSupport{
    //spring注入的使用@Autowired
    @Autowired EmpService empService;
    @Autowired DeptService deptService;
    //这里访问/emp_list 这个Action的时候访问 list() 返回SUCCESS 则跳转到/emp_list.jsp页面
    @Action(value= "/emp_list",results={
        @Result(name="success",location="/emp_list.jsp")
    })
    public String list(){
        list = empService.getAll();
        return SUCCESS;
    }
    //这里跳转到/emp_list 这个Action
    @Action(value = "/emp_del",results={
        @Result(name = "queryAll",type ="redirectAction", location = "/emp_list")
    })
    public String del(){
        empService.del(emp);
        return "queryAll";
    }
    ...
}

6.DEMO例子下载

SSH全注解开发 本文档为SSH整合开发案例,代码主要包含action、service、dao注解及各种注解的含义,旨在是学习,功能为辅,适合于学习ssh全注解开发的人员下载 立即下载

相关推荐

javaee ssh整合

有关javaee ssh整合的一个例子,比较简答易懂

Java EE SSH框架之整合(登录功能)

SSH三大框架整合原理见下图:了解大致原理之后就是导包一、导包(最终,WEB_INF的lib下一共40个jar包)若懒得自己去找直接用我的也可以——》Baidu网盘链接:https://pan.baidu.com/s/1rVESEVjq_eAp8bUDFjrx_Q  密码:bcnlStruts2:①apps下的Struts2-blank所有包,注意,图中选中的javassist包会与hiberna...

zl_StepByStep的博客 2676

SSH全注解整合demo

整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),演示搭建项目架构原型。 项目架构原型:Struts2.3.16+Spring4.1.1+Hibernate4.3.6。 此外,还有:log4j、slf4j、ehcache等知识点。 参考文档:(感谢下边的两位原创作者,另外我在结合两个优点的基础之上,把所有的配置换成了注解的配置方案。) http://blog.youkuaiyun.com/songanling/article/details/22454973 http://1194867672-qq-com.iteye.com/blog/1522906

【Java框架——SSH组合模式!】

SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,后来Struts被SpringMVC来取代,所以SSH也可以是后者的组合。在这4种框架中,Struts和Hibernate目前来看,已经比较陈旧,而且也是比较重的框架,企业中目前已经很少用了。一些二三线小公司或者一线城市中的老旧项目,可能还在用这两种框架,新项目基本不会再采用这两个框架了。所以对于Struts和Hibernate框架,了解即可。集成SSH框架的系统从职责上分为(Struts2–控制。

相关项目可以查看https://gitee.com/fan-pl或https://github.com/fpl1116 944

eclipse+SSH全注解标签实现登录

使用eclipse工具,用SSH零配置全注解实现简单登录

CAN-do-paser:Java开发的CAN总线数据帧解析库

CAN总线数据帧使用DBC文件信息解析为物理量,基于Java开发的数据解析工具。

佳瑞的博客 1133

javaEE的SSH介绍

SSH是指Spring+Struts2+Hibernate,它是一种基于Java的Web开发框架。SSH框架结合了Spring的容器管理、Struts2的MVC设计模式和Hibernate的对象关系映射,使得开发人员能够更加方便地进行Java Web应用程序的开发。上述示例代码中,Spring框架负责管理UserService和UserDao两个bean的创建和依赖注入,Hibernate框架负责与数据库进行交互,Struts2框架负责处理用户的请求和返回相应的视图。

weixin_61544920的博客 295

华为iTrustee实战:5分钟搞定TrustZone环境搭建(附BoostKit配置技巧)

本文提供了一份华为iTrustee与ARM TrustZone环境的5分钟快速搭建实战指南。详细介绍了在TaiShan服务器上利用鲲鹏BoostKit套件部署可信执行环境(TEE)的完整流程,包括环境检查、驱动安装、首个可信应用(TA)的编译与运行,并分享了关键的BoostKit配置技巧与深度排错方法,助力开发者快速为业务注入硬件级安全能力。

yoga7的博客 968

JavaEE Web开发之SSH知识

S2SH框架技术开发,知识要点          S2SH框架技术需要相应的资源文件和扩展jar包;都需要到各自的官网的下载相应的资源文件。          一、Struts2          a)   MVC和Struts2          b)   Struts2的部署和Struts的配置文件(struts.xml)          c)   Action的生命周期

fuka的程序池 509

Proteus仿真实战:用STM32F103C8T6输入捕获模式精准测量PWM频率(附完整代码)

本文详细解析了如何在Proteus仿真环境中,利用STM32F103C8T6的输入捕获模式精准测量PWM频率。文章从输入捕获的工作原理、Proteus电路搭建、模块化代码实现到调试优化,提供了完整的实战指南和代码示例,帮助开发者深入理解并掌握这一关键技术。

weixin_29158047的博客 257

2023最新版kali安装教程

2023最新版kali安装教程 打开kali官网(https://www.kali.org/),下载kali镜像

qq_46346209的博客 2万+

全注解SSH

全注解SSH 一,hibernate annotation Class注解: 1.       @Entity:表明当前类是一个持久化类 2.       @Table(name="team",catalog="NBA"):映射一个表team,所对应的数据库是NBA,可以省略 字段属性注解: 1.       @GenericGenerator(name = "generator",s

晚风中的自由 457

Android HWC硬件合成器实战:从SurfaceFlinger到显示驱动的完整流程解析

本文深入解析Android HWC硬件合成器从SurfaceFlinger到显示驱动的完整流程,揭示HWC如何优化图形性能并降低功耗。通过实战案例和调试技巧,帮助开发者掌握硬件加速的图层混合技术,提升移动设备的显示效率。

gaochao的博客 494

学习SSH全注解实例 过程(一)

原文链接:http://www.java3z.com/cwbwebhome/article/article8/81135.html   在JavaEE 企业级开发中,以SSH2 框 架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。     开发环境     JDK 1.6.0 _18     Eclipse ...

永不止步 178

ADI官方例程HDL和No-OS生成Vivado工程

这一步是选择下载源,一般都是选择国内镜像,因为国外的源太慢了,这里选择阿里的镜像,如果没有这个选项可以在下面的User URL里添加就行,选择好源后然后点击下一步。下一步会从你选择的源上下载软件包目录,如果提示Unable to get setup from https://xxxxxx/,返回上一步,选择别的源,例如第二个163网易的源。然后就是你想要安装在哪了,下面的选项好像会决定环境变量存放在哪,不过一般都是个人电脑选择第一个默认的就行,然后点下一步。下好之后双击打开,就是这个界面了,直接点下一步。

代码匠的博客 3832

C#对接EtherNet/IP协议 完整版|罗克韦尔AB PLC通信+CIP核心概念全解析

你做罗克韦尔(AB) PLC工业上位机开发,是唯一的首选协议,没有之一!EtherNet/IP(Ethernet Industrial Protocol)是基于标准以太网的工业级通信协议,由罗克韦尔自动化主导开发,是ODVA(开放设备网络供应商协会)主推的工业以太网标准,也是目前全球应用最广泛的工业以太网协议之一。原生适配罗克韦尔AB PLC:Micro800、CompactLogix、ControlLogix、Micro850等全系AB PLC原生标配EtherNet/IP,无需额外配置,开箱即用;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 892

学习SSH全注解实例

在JavaEE 企业级开发中,以SSH2 框 架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。        开发环境      JDK 1.6.0 _18      Eclipse 3.2.1     MyEclipse 5.1.0      Tomcat 6.0.10      MySQL 5.0.27      Navic...

weixin_33815613的博客 103

使用 Simulink + Simscape Electrical 对 级联H桥多电平整流器并网功率分配 进行建模与仿真

摘要:本文详细介绍了基于Simulink对级联H桥(CHB)多电平整流器并网功率分配进行建模的方法。内容包括系统组成、功率分配意义、Simulink建模流程、PWM控制策略实现、功率分配算法设计以及仿真分析。重点阐述了主电路搭建、双环控制结构(外环功率分配+内环电流控制)和载波层叠PWM调制技术,并提供了功率分配算法示例。通过优化参数和控制算法,可提升系统性能。该建模方法为电力电子变换器和新能源并网系统研究提供了有效工具。

amy_mhd的博客 252

SSH全注解实例详解(1)(转)

转载地址:http://www.java3z.com/cwbwebhome/article/article8/81135.html?id=2582 在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。    开发环境    JDK 1.6.0 _18    Eclipse 3.2.1    MyEcl...

iteye_13151的博客 153

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Struts 2.1.6+Spring 2.5.6+Hibernate 3.3.1 全注解实例详解

:D :D :D :D :D :D 一 在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。 开发环境 JDK1.6.0_18 Eclipse3.2.1 MyEclipse5.1.0 Tomcat6.0.10 MySQL5.0.27 Na...

xuyuanshu123的博客 179

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)(转载)

    在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。    本文为菠萝大象原创,转载。http://www.blogjava.net/bolo/archive/2010/04/11/318004.html...

wangpingjing的博客 109

Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解

在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。开发环境    JDK1.6.0_18    Eclipse3.2.1    MyEclipse5.1.0    Tomcat6.0.10    MySQL5.0.27    Navicat Lite for MySQL 8.1.20每个人的开发环境可能会有差异

卤蛋爱编程 346

Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)

在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。     开发环境     JDK1.6.0_18     Eclipse3.2.1     MyEclipse5.1.0     Tomcat6.0.10     MySQL5.0.27     Navicat Lite for MySQL 8.

TalkingCoding 702
上一篇: 【WebApp】使用jquerymobile制作的HTML5 Web App
下一篇: 【服务器】在Linux下搭建java环境
xiaoping0915
博客等级 码龄12年 158粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值