来记录一下springBoot使用频率较高的注解html
@SpringBootApplication(启动类)
是Sprnig Boot项目的核心注解,目的是开启自动配置
先作下记录,有时间再深刻探索SpringApplication执行流程 可参考:https://blog.csdn.net/qq_28289405/article/details/81302498
@SpringBootApplication public class AdminApplication { public static void main(String[] args) { SpringApplication.run(AdminApplication.class, args); } }
@Controller (注入服务)
用于标注控制层,至关于struts中的action层
@Controller public class OrderController { }
@Service(注入dao)
用于标注服务层,主要用来进行业务的逻辑处理
@Service public class OrderServiceImpl implements OrderService { }
@Repository(实现dao访问)
用于标注数据访问层,也能够说用于标注数据访问组件,即DAO组件.
使用@Repository注解能够确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不须要为它们提供XML配置项。
@Repository public class OrderDao { }
@ResponseBody(控制器返回)
将结果写入HTTP response body中,好比异步获取json数据,会直接返回json数据
@ResponseBody public CommonResult<CommonPage<Order>> list(@RequestBody Order order) { }
@RestController(@Controller+@ResponseBody)
用于标注控制层组件,是@Controller和@ResponseBody的合集,表示这是个控制器bean,而且是将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。
@RestController public class OrderController { }
@Component(组件)
@Service、@Repository是它的扩展,它能够做用在任何层次
@Component public class UserComponentImpl implements IUser { private String name = "UserComponentImpl"; @Override public String get() { return name; } }
@Bean(容器组件对象注入)
注解用于告诉方法,产生一个Bean对象,而后这个Bean对象交给Spring管理。产生这个Bean对象的方法
Spring只会调用一次,随后这个Spring将会将这个Bean对象放在本身的IOC容器中。
@Bean能够应用在不少方法上
@Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); }
其实前面好几个注解都是声明Bean的注解
可参考:https://blog.csdn.net/lipinganq/article/details/79155072
在讲一下和路由相关的注解
@RequestMapping
提供路由信息,负责URL到Controller中的具体函数的映射,方法返回值一般解析为跳转路径。
@RequestMapping("/order") public class OrderController { @RequestMapping(value = "/list", method = RequestMethod.GET) public CommonResult create(@RequestBody Order order) { } }
还有一些swagger相关的注解java
@Api
对类的说明
@Api(tags = "OrderController", description = "订单管理")
@ApiOperation
请求方法的说明
@ApiOperation("查询订单")
还有spring
@ApiImplicitParams
@ApiResponses
@ApiModel
可参考:swagger2 注解总体说明 https://www.cnblogs.com/cxscode/p/11733140.htmljson
@Override
告诉编译器这个方法是一个重写方法,若是父类或者被实现的接口不存在该方法,
编译器便会报错,提示该方法没有重写父类中的方法
public interface OrderService { List<Order> list(OrderQueryParam queryParam, Integer pageSize, Integer pageNum); } @Service public class NoticeServiceImpl implements NoticeService { @Override public List<Order> list(OrderQueryParam queryParam, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); return orderDao.getList(queryParam); } }
部分参考:https://www.cnblogs.com/clwydjgs/p/9255083.htmlSpringBoot注解:https://www.jianshu.com/p/005abebce09d声明Bean的注解:https://blog.csdn.net/lipinganq/article/details/79155072