一、类相关:
@Controller用于标注控制层组件;
@Service用于标注业务层组件;
@Repository用于标注数据访问组件,即DAO组件;
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注;
@WebService在类上指定将此类发布成一个WebService。
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
二、函数相关:
@Transactional(rollbackFor = Exception.class, value = "transactionManager")
声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked,如果遇到checked意外就不回滚。
rollbackFor = Exception.class,让checked例外也回滚。
@Override:重写父类的方法
@SearchUserMethod(name = "loadVIPUser")
@AddPointsMethod
在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings(“XXXX”) 来解决。
@SuppressWarnings("unused"):suppress warnings relative to unused code
@SuppressWarnings("unchecked"):suppress warnings relative to unchecked operations
@SuppressWarnings("rawtypes"):suppress warnings relative to un-specific types when using generics on class params
@Invisible
@Scheduled(cron = "0 0/1 * * * ? "):执行定时任务;
@InitBinder
在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定。
解决的办法就是使用spring mvc提供的@InitBinder标签。
@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
RequestMapping注解有六个属性:
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params: 指定request中必须包含某些参数值是,才让该方法处理;
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求;
@ResponseBody
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区;
使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
三、成员变量相关:
@Autowired:Spring 提供的,需导入 Package:org.springframework.beans.factory.annotation.Autowired,默认先按byType进行注入,如果发现找到多个bean,则,又按照byName方式比对,如果还有多个,则报出异常。
@Resource:J2EE提供的,默认按byName 自动注入,需导入javax.annotation.Resource。
@Value:获取properties文件中的配置值。
三、类相关:
@Controller用于标注控制层组件;
@Service用于标注业务层组件;
@Repository用于标注数据访问组件,即DAO组件;
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注;
@WebService在类上指定将此类发布成一个WebService。
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)