`
:倾诉
  • 浏览: 24079 次
  • 性别: Icon_minigender_1
  • 来自: 广东揭阳
社区版块
存档分类
最新评论

0配置,SSH全注解

阅读更多

全注解帮我们省去了大量的配置文件,但是必要的配置还是不可少的

  1. spring.xml配置文件中需要配置:
  • dataSource(数据源)
  • sessionFactory(会话工厂)
  • hibernateTemplate(HibernateTemplate类)
  • transactionManager(事务管理类,不用事务的话可省去)
  • <context:annotation-config></context:annotation-config>(声明用注解进行依赖注入)
  • <context:component-scan base-package="com" />(告诉spring容器扫描com下的包,对使用注解的bean进行管理)
  • <tx:annotation-driven transaction-manager="transactionManager"/>(声明使用注解的事务)

spring.xml完整代码:

 
<?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:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	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/tx http://www.springframework.org/schema/tx/spring-tx-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/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
        <!-- 用注解进行依赖注入 -->
	<context:annotation-config></context:annotation-config>
	<!-- 用注解让spring管理bean -->
	<context:component-scan base-package="com" />
	<!-- 注解的事务 -->
	<tx:annotation-driven transaction-manager="transactionManager"/>
 	
	<!-- 配置数据源 -->
	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql:///ssh621"></property>
		<property name="username" value="root"></property>
		<property name="password" value=""></property>
	</bean>
	<!-- 配置会话工场 -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
		<property name="annotatedClasses">
			<list>
				<value>com.bmh.po.League</value>
				<value>com.bmh.po.Team</value>
				<value>com.bmh.po.ChampionShip</value>
				<value>com.bmh.po.Group</value>
			</list>
		</property>
	</bean>
	<!-- 配置hibernateTemplate类 -->
	<bean id="hibernateTemplate"
		class="org.springframework.orm.hibernate3.HibernateTemplate">
		<constructor-arg index="0">
			<ref bean="sessionFactory" />
		</constructor-arg>
	</bean>
	<!-- 配置事务管理类 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
</beans>

 需要注意的是:

  • sessionFactory中没用mappingResources这个属性了,取而代之的是annotatedClasses,因为实体bean同样使用了注解,不再需要映射文件了
  • sessionFactory对应的class变了,这里需要的是支持注解的类

      2.  struts.xml配置文件中的package标签中的配置也都不用了,struts.xml中基本可以不用写什么

      3.  web.xml不变

      4.  action层的类:BmhAction的注解

@Controller("bmhAction")//声明是控制层的组件,名为bmhAction,不指定的话默认是类的简单名的第一个字母小写
@Namespace("/")//声明命名空间,相当于struts.xml中<package namespace="/">
@Results({//如果return的字符串为"test"则转到testDirection.jsp
	@Result(name="test",location="/WEB-INF/test/testDirection.jsp"),
	@Result(name="error",location="/WEB-INF/test/error.jsp")
})
@ExceptionMappings({//如果方法中出现该异常则返回"error",error根据上面的配置,让浏览器跳转
	@ExceptionMapping(exception = "java.lang.Exception",result="error")
})
//这里要继承ActionSupport,不然可能出现找不到action的错误
public class BmhAction extends ActionSupport{
	@Resource(name = "bmhService")//依赖注入,默认按名称装配,如果没有匹配的才按类型装配,
                                                              //这里我直接指明name=,就只能按名称装配了
	private IBmhService bs;

       5.   service层的类:BmhService的注解

@Service("bmhService")//声明是业务层的组件
@Transactional//对类中所有方法采用默认的事务管理
public class BmhService implements IBmhService {
	@Resource(name = "bmhDao")
	private IBmhDao bd;
//也可以写着某些方法上
@Transactional(propagation=Propagation.REQUIRED)
	public void testTx(){
		bd.testTx1();
		bd.testTx2();
	}

      6.   DAO层的类:BmhDao的注解:

@Repository("bmhDao")
public class BmhDao implements IBmhDao {
	@Resource(name = "hibernateTemplate")
	private HibernateTemplate ht;

      7.   最后,还要对实体类进行注解:

@Entity//声明式实体类
@Table(name="groupinfo")//声明对应的表
public class Group {
	@Id//该属性对应的字段为主键
	@GeneratedValue(generator="group")//采用名为group的生成策略
  	@GenericGenerator(name="group",strategy="native")//主键生成策略
  	@Column(name="groupid")//数据库中对应的字段名
	private int groupId;
  	@Column(name="groupname")//普通的字段
	private String groupName;

    注意,上面的@Entity和@Table注解导入的是javax包下的类而不是hibernate的

 

2
2
分享到:
评论

相关推荐

    SSH全注解环境搭建

    本文将详细介绍如何搭建一个基于全注解配置的SSH环境。 #### 二、准备工作 1. **创建Web项目并添加SSH支持**: - 使用IDE(如Eclipse或IntelliJ IDEA)新建一个Web项目。 - 在项目设置中确保选中了“Enable ...

    SSH全注解实例详解,hibernate,struts,spring

    在实际开发中,SSH框架的使用往往结合IDE(如Eclipse或IntelliJ IDEA)进行,这些工具通常有对SSH支持的插件,能帮助开发者快速生成和管理注解配置。同时,持续集成工具(如Jenkins)和版本控制系统(如Git)也是...

    SSH全注解开发

    在现代的开发环境中,注解(Annotation)的应用使得代码更加简洁、易读,SSH框架也支持全注解开发,大大简化了配置文件的工作量。本文将深入探讨SSH框架中各组件的注解使用及其背后的原理。 1. **Struts2注解** - ...

    SSH全注解整合demo

    整合使用最新版本的三大框架(即Struts2...参考文档:(感谢下边的两位原创作者,另外我在结合两个优点的基础之上,把所有的配置换成了注解的配置方案。) http://blog.csdn.net/songanling/article/details/22454973 ...

    ssh基于全注解配置

    struts2+hibernate+spring很详细的全注解资源配置

    SSH注解方式整合小例子

    在这个“SSH注解方式整合小例子”中,我们将深入探讨如何使用注解来简化SSH框架的配置过程,使得开发更加便捷。 **Struts2** 是一个基于MVC设计模式的Action驱动的Web应用框架,它通过注解可以实现Action类的声明式...

    SSH全注解登录

    "SSH全注解登录"指的是使用SSH框架,并且利用注解(Annotation)的方式来实现登录功能。注解是一种元数据,它可以提供关于代码的额外信息,使得框架能自动配置和管理对象。例如,在Spring中,可以使用`@Autowired`...

    全注解 SSH2 所有jar包 汇总

    - 正确配置SSH连接参数,如主机名、端口、用户名、密码或私钥。 - 如果使用私钥认证,需要正确处理公钥和私钥文件,以及对应的密码。 - 对于SFTP操作,理解文件路径和目录结构,以及如何进行文件上传、下载、重命名...

    SSH整合 全注解零配置

    SSH框架整合,全jpa注解真正的零配置。 struts2.3.8 spring3.2 hibernate4.1.9. 带有分页,全局异常,权限拦截器,session过滤等功能。 内有jar包。导入开发工具后部署既可跑起来。已做了简单的数据库操作功能。供...

    ssh2注解配置

    ssh2注解配置,全部是注解配置,struts2和hibernate3和spring2.5全部是注解配置,,访问路径为http://localhost:8080/mytest/student/findAll.action

    SSH注解-配置方式

    这个文档主要涉及SSH框架中的注解配置,包括Struts2、Spring和Hibernate的使用。 首先,我们来看Struts2的注解配置。在Action类中,我们可以使用`@Namespace`来定义该Action的命名空间,这有助于组织和管理URL路径...

    ssh全注解-annotation

    根据给定的信息,本文将对“SSH全注解”这一主题进行深入解析,重点探讨如何在Struts2、Hibernate和Spring框架中运用全注解方式实现无XML配置的开发模式。 ### SSH全注解概念 SSH是Struts2、Spring和Hibernate三个...

    ssh注解开发案例

    SSH注解开发是SSH框架中的一项重要技术,它允许开发者在不写XML配置的情况下进行开发,提高开发效率并减少配置错误。 标题“ssh注解开发案例”表明我们将探讨如何在SSH框架中使用注解进行开发。SSH框架通过注解可以...

    全注解ssh开发

    这个“全注解SSH开发”主题着重于使用注解来简化SSH框架的配置,提高开发效率。以下是关于SSH框架及MyEclipse集成开发环境的相关知识点: 1. **Struts2**:Struts2是MVC(模型-视图-控制器)架构模式的一种实现,...

    SSH完全注解版

    这个“SSH完全注解版”项目,是作者为了方便理解和应用SSH框架而创建的,特别加入了注解的详细解释,使得开发者能更直观地了解每个组件的功能和用法。 Spring框架是Java企业级应用的核心组件,它提供了依赖注入...

    SSH纯注解开发

    在这个“SSH纯注解开发”主题中,我们将深入探讨如何利用注解来简化这三大框架的配置,提高开发效率。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它的主要目标是提供一个更加...

    ssh 框架注解示例

    "ssh"文件夹可能包含了示例项目的源代码,包括Struts2的Action类、Hibernate的实体类、Spring的配置文件等,这些都是深入理解SSH框架和注解使用的宝贵学习资料。 总之,SSH框架结合了Struts2的请求处理、Hibernate...

    SSH框架全注解项目案例

    本项目案例是基于SSH框架的全注解实现,旨在简化传统的XML配置,提高开发效率。以下将详细介绍SSH框架全注解的应用及关键知识点。 1. **Struts2注解**: - `@Action`:用于标记一个方法作为处理请求的方法,可以...

Global site tag (gtag.js) - Google Analytics