spring mvc注解

来源:互联网 发布:胜通软件多少钱 编辑:程序博客网 时间:2024/06/08 03:09

前段时间需要用到spring mvc,使用注解的方式进行配置,省去配置文件的环节。现将在其中用到的注解整理如下。

@Controller 声明Action组件

@Service    声明Service组件    @Service("myMovieLister") 

@Repository 声明Dao组件

@Component   泛指组件, 当不好归类时. 

@RequestMapping("/menu")  请求映射

@Resource  用于注入,( j2ee提供的 ) 默认按名称装配,

@Resource(name="beanName") 

@Autowired 用于注入,(srping提供的) 默认按类型装配 

@Transactional( rollbackFor={Exception.class}) 事务管理

@ResponseBody

@Scope("prototype")   设定bean的作用域

@Transactional(readOnly = true) 事务管理 只读

@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier[1]使用

@Qualifier("XXX") 中的 XX是 Bean 的名称,所以 @Autowired 和 @Qualifier 结合使用时,自动注入的策略就从 byType 转变成 byName 了

@ModelAttribute注释的方法会在此controller每个方法执行前被执行

@ResponseBody 在Controller的某个方法上加@ResponseBody注解,表示该方法的返回结果直接写入HTTP response body中。

@SuppressWarnings("unchecked")  该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

// 多对多定义
@ManyToMany
@JoinTable(name = "ec_user_role", joinColumns = { @JoinColumn(name = "user_id_") }, inverseJoinColumns = { @JoinColumn(name = "role_id_") })

@Fetch(FetchMode.SUBSELECT)// Fecth策略定义

@OrderBy("id ASC")// 集合按id排序

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)// 缓存策略

@Transient的作用 :用于注释pojo对象中的属性,被注释的属性将成为短暂的,不会持久化到数据库的“短暂”属性。

@Entity(name="EntityName") 数据库中表的名字
@Table(name = "ec_role") 数据库中表的名字
@Column(name = "name_", length = 256)  列名和长度

@NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull    用在基本类型上

@Basic 表示一个简单的属性到数据库表的字段的映射 , 对于没有任何标注的 getXxxx() 方法 , 默认即为 @Basic
fetch: 表示该属性的读取策略 , 有 EAGER 和 LAZY 两种 , 分别表示主支抓取和延迟加载 , 默认为 EAGER.
optional: 表示该属性是否允许为 null, 默认为 true

@Lob 注解属性将被持久化为 Blog 或 Clob 类型。

@Temporal(TemporalType.DATE) 格式化时间日期,页面直接得到格式化类型的值


原创粉丝点击