收录我自己面试中被问到的注解,查漏补缺
我说得不对的可以评论给我,谢谢大佬的帮助(骂轻点)
@ResponseBody
@ResponseBody的作用是将后端以return返回的javabean类型数据转为json类型数据
查了几篇文章,其实看不太懂大佬说的专业名词,我自己的理解是这个注解是用于后端数据返回数据给前端做的一个转换成json串的注解. 前端要json串,那我数据不是,所以我用这个注解,它返回回去就是json了 然后这个注解是写在类上的
@RequestBody@RequestBody的作用是将前端传来的json格式的数据转为自己定义好的javabean对象
这个注解我的理解就是 前端传的参数是json串啊 那我后端要去接收 就要用这个注解 写在参数里 就可以接了 json串 转换成 我能接受的参数
小结:
@ResponseBody写在类上 将后端数据 转换成 json格式 返回给前端
@RequestBody 写在参数上 将前端json数据转换成 后端能接收的数据
@controller
@Controller:标识一个Spring类是Spring MVC controller处理器
@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面
这个注解我的理解就是 说白了就是 标记这个类是拿来接收 http请求的类 然后他可以直接返回页面
@RestController@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
那这个restcontroller其实就是responsebody+controller的作用
等于我可以将后端数据转换成json返回给前端 加上 我这个类是个可以接收http请求的类
小结:
@controller和@restcontroller 共同的地方: 都是标识这个类是可以接收http请求的类
不同:
@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。
@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。
@Component
@Controller、@Service、@Repository都可以称为@Component
@controller :控制层
@service : 业务层
@Repository :dao持久层
标注一个类为Spring容器的Bean
我自己的理解是 标识这个类是交给spring容器管理(把普通pojo实例化到spring容器中,相当于配置文件中的
以上的注解都是这个功能, 那为什么说controller service repository 都称之为 component呢? 因为其实他们是同一个东西 只是这样叫会让人好理解他是哪个地方的组件 不好归类的话直接用component
@Autowired@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
我自己的理解 使用@autowired之前 得有bean在spring容器中 , 我们才能去@autowired 调用 这个bean的方法 然后还省去了get set
@Configuration声明当前类是配置类 在这个类写bean
就是类里写bean 然后有写@configuration 才会被扫描得到 将里面的bean交给spring管理
@Bean注解在方法上,声明当前方法的返回值为一个bean
切面(AOP)相关注解Spring支持AspectJ的注解式切面编程。
@Aspect 声明一个切面
@After 在方法执行之后执行(方法上)
@Before 在方法执行之前执行(方法上)
@Around 在方法执行之前与之后执行(方法上)
@PointCut 声明切点
在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)