@Controller
用在controller层class上面,标记class为controller,放入容器里。
@Controller public class UserController { }
@ResponseBody
用在Controller层里的方法上面,用了此注解之后,方法返回的就是数据(JSON或XML数据)而不是视图了
@RestController
用在controller上面,作用就是@Controller+@ResponsBody 就不用在每个方法上面加@ResponBody
@Service
用在service层接口的实现类上面,告诉Spring这个类是接口的实现类,放入容器中,controller就可以调用对应的接口。
@Service public class UserServiceImpl implements UserService { }
@MapperScan("com.qcby.boot_kwg.mapper")
扫描容器里的组件,用在SpringBoor的启动类上见面,启动SpringBoot时,识别组件
除此之外也可以用@Mapper注解放在每个mapper类上面,缺点是比较麻烦
@MapperScan("com.qcby.boot_kwg.mapper")
@SpringBootApplication
public class BootKwgApplication { public static void main(String[] args) { SpringApplication.run(BootKwgApplication.class, args); } }
@SpringBootApplication
SpringBoot启动类的标志。
@MapperScan("com.qcby.boot_kwg.mapper")
@SpringBootApplication
public class BootKwgApplication { public static void main(String[] args) { SpringApplication.run(BootKwgApplication.class, args); } }
@Bean
@Bean作用于方法,告诉Spring这是某个类的实例,当需要用到这个实例时,从Spring容器里拿出来。当然也可以通过这个注解来注册bean
@Bean
public LoginInterceptor loginInterceptor(){ return new LoginInterceptor(); }
@Component
@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。
@Bean和@Component区别:
两者的目的是一样的,都是注册bean到Spring容器中。
@Component(@Controller、@Service、@Repository)通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。
而@Bean注解通常是我们在标有该注解的方法中定义产生这个bean的逻辑。
@Component 作用于类,@Bean作用于方法。
@Component和@Bean都是用来注册Bean并装配到Spring容器中,但是Bean比Component的自定义性更强。可以实现一些Component实现不了的自定义加载类。
@Autowire ,@Resource
这两个注解都可以用来装配bean ,@Autowire默认是按照类型配置。默认情况要求依赖对象必须存在。@Resource 默认按名称配置,找不到与名称匹配的bean时才按类型进行装配。名称可以通过name属性指定,没有name属性则默认字段名,。。。•@Autowire和@Qualifier配合使用效果和@Resource一样:
@RequestParam
后端接受前端传 数组、链表非json数据
@RequestBody
作用在参数上,限制前端要向后端传递JSON格式
@Param
更新中。。。