Spring和SpringMVC的常用注解
如果没学过spring或者springmvc不要紧,直接看以下注解即可。
Spring部分
1、声明Bean的注解
注解 | 作用 |
---|---|
@Component | 组件,没有明确的角色 |
@Service | 在业务逻辑层使用(service层) |
@Repository | 在数据访问层使用(dao层) |
@Controller | 在展现层使用,控制器的声明 (Controller层) |
2、注入bean的注解
注解 | 作用 |
---|---|
@Autowired | 减少或者消除属性或构造器参数的设置 |
@Inject | 与@Autowired相同,但无request属性 |
@Resource | 在根据名称进行自动装配的,会指定一个name属性 |
3、java配置类相关注解
注解 | 作用 |
---|---|
@Configuration | 声明当前类为配置类,相当于xml形式的Spring配置 |
@Bean | 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式 |
@Configuration | 声明当前类为配置类,内部组合了@Component注解,表明这个类是一个bean |
@ComponentScan | 用于对Component进行扫描 |
@WishlyConfiguration | @Configuration与@ComponentScan的复合注解 |
4、切面(AOP)相关注解
注解 | 作用 |
---|---|
@Aspect | 声明一个切面 |
@After | 在方法执行之后执行 |
@Before | 在方法执行之前执行 |
@Around | 在方法执行之前与之后执行 |
@PointCut | 在声明切点 |
5、异步相关注解
注解 | 作用 |
---|---|
@EnableAsync | 配置类中,通过此注解开启对异步任务的支持 |
@Async | 放到方法上,调用该方法的线程与此方法异步执行,需要配合@EnableAsync注解使用 |
6、定时任务相关注解
注解 | 作用 |
---|---|
@EnableScheduling | 在配置类上使用,开启计划任务的支持 |
@Scheduled | 申明这是一个任务,有cron,zone,fixedDelay等8个参数 |
8、Enable相关注解
注解 | 作用 |
---|---|
@EnableAspectJAutoProxy | 开启对AspectJ自动代理的支持 |
@EnableAsync | 开启异步方法的支持 |
@EnableScheduling | 开启计划任务的支持 |
@EnableWebMvc | 开启Web MVC的配置支持 |
@EnableConfigurationProperties | 开启对@ConfigurationProperties注解配置Bean的支持 |
@EnableJpaRepositories | 启对SpringData JPA Repository的支持 |
@EnableTransactionManagement | 开启注解式事务的支持 |
@EnableTransactionManagement | 开启注解式事务的支持 |
@EnableCaching | 开启注解式的缓存支持 |
8、测试相关注解
注解 | 作用 |
---|---|
@RunWith | 运行器,Spring中通常用于对JUnit的支持 |
@ContextConfiguration | 用来加载配置ApplicationContext,其中classes属性用来加载配置类 |
SpringMVC部分
注解 | 作用 |
---|---|
@EnableWebMvc | 在配置类中开启Web MVC的配置支持 |
@Controller | 声明该类为SpringMVC中的Controller 作用修饰class,用来创建处理http请求的对象 |
@RequestMapping | 配置url映射 |
@ResponseBody | 支持将返回值放在response内,而不是一个页面,默认返回json数据 |
@RequestBody | 允许request的参数在request体中,而不是在直接连接在地址后面 |
@PathVariable | 用于接收路径参数 |
@RestController | 复合注解,相当于@Controller和@ResponseBody的组合,默认返回json数据 |
@ControllerAdvice | 通过该注解,我们可以将对于控制器的全局配置放置在同一个位置 |
@ExceptionHandler | 用于全局处理控制器里的异常 |
@InitBinder | 用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到Model中 |
@ModelAttribute | 绑定键值对到Model里 |
PS:markdown的表格有点反人类,差点就给我整不会了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 老猫的博客!
评论
ValineLivere