SpringBoot注解

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chen15369337607/article/details/78419889

spring 项目可以采用注解方式,也可以采用xml方式进行配置;这两种配置方式各有优缺点;
采用注解的方式配置的缺点:如果采用注解的方式,你会发现每个需要的地方都需要写上注解,也就是说这些配置都是散放在各个类中的,这样维护起来就会有一定的难度,而且注解的方式配置是与代码紧耦合的,如果你的源码需要更改,这个时候就可能需要更改你的注解了;
采用注解的方式的优点:刚才说了那么多的缺点,但是采用注解的方式也有很多的好处:xml虽然是集中配置,但是有的时候太冗长,然后采用注解的方式可以简化配置,而且配置好的注解有很多以后都是不会改变的,还有另一个优点,因为是采用注解的方式,这样当启动运行的时候可以发现编译错误,这样能暴露出一些xml在运行时的错误;
注解和xml各有优缺,这个时候需要我们根据自己的需要去进行选择;
————————————————————-
我是分界线
————————————————————-
最近一直在用注解的方式写程序,将我遇到的以及很常见的注解记录下来,以备后用;
1)@controller : 处理http请求
2)@RequestMapping : 配置url映射,提供路由信息,此注解可用在类上也可以用在方法上;用在类和方法的上栗子:直接在类或者方法上添加@RequestMapping(value = “/page”) ,他告诉Spring任何来自/page路径的http请求都被映射到page方法, 此注解还有很多属性
最常用的时候value和Method,value用于设置访问路径,method用于设置请求方法的类型;post 、get、delete等;配置多个属性用逗号隔开:@RequestMapping(value = “/home”, method =RequestMethod.POST)
3)@getMapping(value=“/home”) 组合注解,此注解相当于@RequestMapping(value = “/home”, method =RequestMethod.GET);是一种简化写法
4)@PostMapping(value =”/home”) 组合注解,此注解相当于 @RequestMapping(value = “/home”, method =RequestMethod.POST)
5)@ResponseBody:@ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流。
6)@RestController :组合注解,Spring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller使用才能够返回json数据;有了此注解以后就可以用一个注解返回json格式的数据了,@RestController告诉Spring以字符串的形式渲染结果,直接返回给调用者;
7)@PathVariable() 获取路径
8)@3.Requestparam 获取请求参数的值;
7)和8)需要区分和理解一下:
http://localhost:8080/demo/user/page.html 这个就是路径,是你的请求url,而如果这个路径上有数据匹配,用的就是@PathVariable 如
@RequestMapping(value=”/page{pageNo}.do”)
public String page(@PathVariable int pageNo){
………
}
http://localhost:8080/user/page.do?pageSize=1&pageNow=2
而问号的后面部分就是请求参数部分,是要向请求路径提交的参数信息,用的就是@RequestParam ,对于这种参数,如果你要用的话,代码应该如下:
@RequestMapping(value=”/page.do”)
public String page(@RequestParam int pageSize,@RequestParam int pageNow){
………..
}
9)@EnableAutoConfiguration :这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring;当你在SpringBoot项目中有spring-boot-stater-web ,就自动添加了Tomcat和Spring MVC,所以Auto-configuration认为你正在开发一个web应用并进行相关的配置;
10)@Configuration :标明该注解使用Spring基于java的配置;表明当前类是一个配置类,这意味着这个类里可能有0个或多个@Bean注解,不用使用包扫描,是因为所有的bean都在此类中定义了;
11)@ComponentmentScan:启用组件扫描,这样你写的web控制器类和其他组件才能被自动发现并注册到Spring应用上下文里的bean。
12)@SpringBootApplication :组合注解,开启了Spring的组件扫描和Spring Boot的自动配置功能;实际上此注解将三个有用的注解组合在一起(@Configuration,@ComponentmentScan,@EnableAutoConfiguration)。
13)@EnableScheduling 此注解用在SpringBoot项目的启动类上,用于开启定时任务;
14) @Autowired :注入依赖,这个注解很有用,Spring的注入依赖就是通过此实现,将依赖注入,免去一直创建同一个对象的不同实例;
15)@Component :此注解用在类上,用于表明这个一个Spring组件,与@service具有相同的作用,当这个组件不能够明确表明他的用处的时候可以用此注解;
16)@Service 此注解用于表明这是一个Spring的service 组件,多用于service层;
17)@AspectJ 声明类是一个切面,Spring AOP
18)@PointCut 注解声明切点;
19)@After @Before 注解声明一个建言,并使用@PointCut定义的切点;
其他注解待以后补充,现在就想起来这些。

展开阅读全文

没有更多推荐了,返回首页