1、@RequestParam(value = what required = true)
这个是传参 当他为false 时 使用这个注解可以不传这个参数 true时必须传 required默认值是true 2、@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作, 这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier[1] 使用; 3、@SuppressWarnings("unchecked")用来取消警告,一般常见在sessionfactroy中list中常见
4、@table的使用通过 @Table 为实体Bean指定对应数据库表,目录和schema的名字。
@Entity
@Table(name="tbl_sky")
public class Sky implementsSerializable {
...
@Table 注解包含一个schema和一个catelog 属性,使用@UniqueConstraints 可以定义表的唯一约束。
@Table(name="tbl_sky",
uniqueConstraints ={@UniqueConstraint(columnNames={"month", "day"})}
)
上述代码在 "month" 和 "day" 两个 field 上加上 unique constrainst 5、@table的使用通过 @Table 为实体Bean指定对应数据库表,目录和schema的名字。
@Entity
@Table(name="tbl_sky")
public class Sky implementsSerializable {
...
@Table 注解包含一个schema和一个catelog 属性,使用@UniqueConstraints 可以定义表的唯一约束。
@Table(name="tbl_sky",
uniqueConstraints ={@UniqueConstraint(columnNames={"month", "day"})}
)
上述代码在 "month" 和 "day" 两个 field 上加上 unique constrainst 6、常用注解@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Deprecated 使这个方法或者类过时,建议不实用此类或者此方法
7、Spring配置注解<!-- xml,@事务配置 -->
<bean id="hibernateTransaction" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<tx:annotation-driven transaction-manager="hibernateTransaction" proxy-target-class="true" />@Transactional //默认事务配置
@Transactional(rollbackFor=Exception.class) //出现Exception异常也回滚
@Transactional(noRollbackFor=Exception.class) //出现Exception异常不回滚
@Transactional(readOnly=true) //只读,性能优化,效率高
@Transactional(propagation=Propagation.NOT_SUPPORTED) //不开启事务
@Transactional(propagation=Propagation.REQUIRED) //如果有事务,那么加入事务,没有的话新建一个(不写的情况下)
@Transactional(propagation=Propagation.NOT_SUPPORTED) //容器不为这个方法开启事务
@Transactional(propagation=Propagation.REQUIRES_NEW) //不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务
@Transactional(propagation=Propagation.MANDATORY) //必须在一个已有的事务中执行,否则抛出异常
@Transactional(propagation=Propagation.NEVER) //必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)
@Transactional(propagation=Propagation.SUPPORTS) //如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
@Transactional(propagation=Propagation.NESTED)
@Transactional(propagation = Propagation.REQUIRED,readOnly=true) //readOnly=true只读,不能更新,删除
@Transactional(propagation = Propagation.REQUIRED,timeout=30)//设置超时时间
@Transactional(propagation = Propagation.REQUIRED,isolation=Isolation.DEFAULT)//设置数据库隔离级别