Struts Spring Hibernate注解说明

Struts注解说明 
@ParentPackage(value) 
指定action属于哪个包 指定的包必须是struts.xml文件中已经存在的 
@Namespace(value) 
命名空间,页面访问后台路径的一部分,位于项目路径后 
@Action 
指定action的名称,作为路径的一部分,在命名空间之后 
比如,一个完整的路径为 : 
http://localhost:8080/ISearch/register.do?method=register 
其中 http://localhost:8080/ISearch 为项目路径 
“/” 为命名空间 register 为action名称 .do为action后缀 (在struts.xml文件中配置),?表面后面是有参数的 method为参数名称,register是参数的值 
@Results(value={@Result(name=”success”,location=”/admin/jsp/site/reader.jsp”)}) 
指定跳转的内容,其中value的值是一个跳转的集合,在action的方法中 返回值为String类型时,返回值即是要指定跳转的名称

Spring注解说明 
@Autowired 
Spring 通过一个 BeanPostProcessor 对 @Autowired 进行解析,所以要让 @Autowired 起作用必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean,如下: 
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> 
这样将会在项目中对标注 @Autowired 的 Bean 进行自动注入 
比如使用 UserDAO 只需在类的Fields中声明 
@Autowired 
private UserDAO userDAO; 
就可以了 不需要再初始化userDAO 
@Resource(name=”sessionFactory”) 
相当于配置文件中的ref=”sessionFactory” 
其作用跟@Autowired是相同的 只不过@Resource的name指定的是注入的bean的name,而@Autowired是按bean的类型注入

@PostConstruct 
该注解作用于方法,在bean被实例化之后即调用该方法

@Component 
作用于类 即将该类定义为Spring的bean

@Repository、@Service和 @Controller是对@Component的具体化,其作用和地位是完全相同的

要使依赖注解定义的bean生效,必须在spring配置文件中声明: 
<context:component-scan base-package="com.aegis.isearch.model.dao.impl,com.aegis.isearch.controller.service.impl" 
annotation-config="true" /> 
即spring将扫描指定包下所有类 将指定了@Repository、@Service和 @Controller @Component注解的类定义为spring的bean 
多个包路径之间用逗号分隔

Hibernate注解 
在spring配置文件中的sessionFactory的定义中,sessionFactory的类必须使用 
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean注解才能生效。 
<property name="packagesToScan"> 
<list> 
<value>com.aegis.isearch.model.beans</value> 
</list> 
</property> 
sessionFactory的packagesToScan指定了需要扫描的包,只有在指定包下的类使用的注解才有效

@Bean 
作用于类,指定该类为一个持久化的实体 
@Id 
作用于field,指定实体的标识 
@Transient 
作用于field,指定的field不被持久化 
@Column 
作用于field,指定该field被持久化时的一些具体属性,如nullable 是否可以为空,unique 是否唯一等,name属性指定了对应数据库中的列名,如果不设置该属性,将使用field的name作为数据库中列的名称 
@ManyToOne @OneToOne @ManyToMany 
指定与其他对象的外键映射关系,targetEntity属性指定了引用的对象,该对象也必须是持久化的。 
@JoinColumn @JoinColumns 
在外键映射中指定引用外键的列,如果不指定Hibernate将会自动分配列名

你可能感兴趣的:(method,localhost,action,register,success)