java修改控制层返回的什么 java控制层注解
转载
常见注解总结
- @Controller:放在类的上面,创建控制器对象,注入到容器中
- @RestController:放在类的方面,创建控制器对象,注入到容器中
- 作用:复合注解:是@Controller + @ResponseBody,使用这个注解的类,里面控制器方法的返回值是数据,不是视图。
- @Service:放在业务层的实现类上面,创建service对象,注入到容器
- @Repository:放在dao层的实现类上面,创建dao对象,注入到容器,这个注解使用的少,是因为现在使用的MyBatis框架,dao对象是通过MyBatis通过代理对象生成的,不需要使用@Repository了
- @Component:放在类的上面,创建此类的对象,注入到容器,如果既不是控制层也不是业务层也不是持久层,需要创建对象,用这个注解
- @Value:简单类型的赋值,例如在属性的上面使用@Value
@Value("张三")
private String name;
- 还可以使用@Value获取配置文件中的数据(properties或yml)
@Value("${server.port}")
private Integer port;
- @Autowired:引用类型赋值自动注入,支持byName,byType,默认是byType
- 既可以放在属性上面,也可以放在构造方法上面,推荐放在构造方法上面
- @Qualifier:给引用类型赋值,使用byName方式,和@Autowired一起使用
- @Autowired + @Qualifier 相当于 @Resource
- @Resource:来自JDK中的定义,javax.annotation,实现引用类型的自动注入,支持byName和byType,默认是byName,如果byName失败在使用byType,推荐在属性上面使用。
- @Configuration:放在类的上面,表示这是一个配置类,相当于xml配置文件
- @Bean:放在方法的上面,把方法的返回值对象,注入到Spring容器中
- @ImportResource:加载其他的xml配置文件,把文件中的对象注入到Spring容器中
- @PropertySource:读取其他的properties属性配置文件
- @ComponentScan:组件扫描器,指定包名,扫描注解的
- @ResponseBody:放在方法的上面,表示方法的返回值是数据,不是视图
- @RequestBody:把请求体中的数据读取出来,转为Java对象
- @ControllerAdvice:控制器增强,放在类的上面,表示此类提供了方法,可以对Controller增强功能,一般用于异常处理,和@ExceptionHandler一起使用
- @ExceptionHandler:处理异常的,放在方法上面
- @Transcational:处理事务,放在service实现类的public方法上面,表示此方法有事务
- @SpringBootApplication:放在启动类上面,包含了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
- @Mapper:放在类的上面,让MyBatis找到接口,创建他的代理对象
- @MapperScan:放在主类的上面,指定扫描的包,把这个包的所有接口都创建代理对象注入到容器
- @Param:放到dao接口的方法的形参前面,作为命名参数使用
- @DubboService:在提供者端使用,暴露服务的,放在接口的实现类上面使用
- @DubboReference:在消费者端使用,引用远程服务,放在属性上面使用
- @EnableDubbo:放在主类上面,表示当前引用启动Dubbo功能
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。