面试中遇到了,总结一下当做个复习吧。
一、Spring中声明组件,给容器中注入的注解
@Component:泛指各种组件
@Controller、@Service、@Repository都可以称为@Component。
@Controller:控制层,控制器的声明(Controller层)
@Service:业务层(service层)
@Repository:数据访问层(dao层)
@Autowired:声明依赖,如Service层需要调用Dao层,就可以使用
public MyServiceImpl implement Myservice{
@Autowired
public MyDao mydao;
//---Service业务逻辑
}
当然,也可以将@Autowired使用在属性的Setter上,这样可以在属性创建时执行额外的代码操作。
@Component
Public class User{
private String name;
@Autowired
public setName(String name){
this.name = name;
//其他操作.....
System.out.println("name="+name);
}
}
@Configuration:声明这是一个配置类
二、SpringMVC视图相关注解
@RequestMapping:将web页面中访问请求映射到后端的class或方法上,给出url地址。
@PathVariable:在url中添加变量时使用的注解
@RequestBody: 在@RequestMapping的基础上,将返回对象绑定为Body
三、AOP相关类
@Aspect:声明一个切片
@Before:切片前执行的方法
@After:切片后执行的方法
@Around:切片前后都执行的方法
四、事务注解
@Transactional:在类上添加此注解会将类中的方法全部添加事务管理,在方法上添加此注解则会覆盖类注解,单独进行方法层面的事务管理。