Spring的常用注解
@Component
@Component:注册bean到Spring容器中。
@Controller、@Service、@Repository都可以称为@Component。
@Controller:控制层
@Service:业务层
@Repository:数据访问层
区别:
@Component(@Controller、@Service、@Repository)通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。
而@Bean注解通常是我们在标有该注解的方法中定义产生这个bean的逻辑。
@Component 作用于类,@Bean作用于方法。
总结:
@Component和@Bean都是用来注册Bean并装配到Spring容器中,但是Bean比Component的自定义性更强。可以实现一些Component实现不了的自定义加载类。
版权声明:本文为CSDN博主「稻草人……」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42493179/article/details/86584341
———————————————————————————————————
版权声明:本文为CSDN博主「猪耳朵」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cjw12581/article/details/107444147
@Controller
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象,但使用@Controller 标记在一个类上还不能真正意义上的说它就是SpringMVC 的一个控制器类。
分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。
@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。
@ResponseBody
@ResponseBody的作用其实是将java对象转为json格式的数据。
@ResponseBody注解的作用是将controller方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
@RestController是@ResponseBody和@Controller的组合注解,直接使用来处理http请求。
@Autowired
@Autowired的作用是将其他的类,接口引入,类似于之前的类的初始化等,用这个注解,类中或接口的方法就可以直接调用了。