精华内容
下载资源
问答
  • SpringBoot常见注解

    2021-04-11 13:57:28
    SpringBoot常见注解 @Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。 1.@Repository 1.1在此接口中注解了@Repository之后,在Service层才能利用Spring的容器注入 1.2注解...

    SpringBoot常见注解

    @Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。


    1.@Repository

    1.1在此接口中注解了@Repository之后,在Service层才能利用Spring的容器注入

    1.2注解修饰哪个类,则表明这个类具有对对象进行CRUD(增删改查)的功能

    1.3@Repository 可有可无,可以消去依赖注入的报错信息。
    加了@Repository时:
    无报错
    在这里插入图片描述
    未加@Repository时:
    报错
    在这里插入图片描述
    但程序都可正常运行

    1.4@Component 和 @Repository 效果都是一样的,只是为了声明为bean

    1.5@Repository需要在Spring中配置扫描地址,所以经常与@mapper注解一起使用或者在主类中使用@mapperScan(二选一)。然后生成Dao层的Bean才能被注入到Service层中。

    1.5.1使用@Mapper与@Repository
    主类中使用

    1.5.2.主类中使用@MapperScan
    在这里插入图片描述


    2.@Service

    对于 service 层的类,在类上用 @Service 注解声明

    在这里插入图片描述

    3.@Controller

    处理http请求

    4.@ResponseBody

    1.在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。

    2.@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。

    5.@RestController

    Spring4之后新加的注解,作用和原来的@ResponseBody配合@Controller相同。用于返回Json

    6.@RequestBody

    1.项目中最常用的接收参数的注解

    1. 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上, 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

    在这里插入图片描述
    使用@RequestBody注解时,要注意两个地方:1.请求头中的content-type; 2.请求方式。

    a. content-type : multipart/form-data
    这种格式使用@RequestBody处理不了。
    b. content-type : application/x-www-form-urlencoded
    form表单形式提交的数据格式,可以使用@RequestBody,也可以使用其他注解例如@RequestParam, @ModelAttribute进行接收。
    c. content-type : 其他数据格式
    必须使用@RequestBody进行接收。

    7.@RequestMapping

    @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求
    在这里插入图片描述

    8.@GetMapping

    @GetMapping
    组合注解,相当于@RequestMapping(method = RequestMethod.GET)
    直接从URL获得数据,以www.xxx.com/?id=1类似这种形式传输。
    在这里插入图片描述
    get常用于取回数据,post用于提交数据

    9.@PostMapping

    组合注解,相当于@RequestMapping(method = RequestMethod.POST)
    请求会从body部分拿到数据,好处是一些不希望用户看到的数据会放在body里面传输。
    在这里插入图片描述
    get常用于取回数据,post用于提交数据

    展开全文
  • springboot常见注解

    2018-07-04 08:49:43
    Springboot 常用注解@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上。@Repository:用于标注数据访问组件,即DAO组件。@Service:用于标注业务层组件。 @...

    Springboot 常用注解

    @SpringBootApplication:

    包含@Configuration、@EnableAutoConfiguration、@ComponentScan
    通常用在主类上。

    @Repository:
    用于标注数据访问组件,即DAO组件。

    @Service:
    用于标注业务层组件。 

    @RestController:
    用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody。

    @ResponseBody:
    表示该方法的返回结果直接写入HTTP response body中
    一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。

    @Component:
    泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

    @ComponentScan:
    组件扫描。个人理解相当于<context:component-scan>,如果扫描到有@Component @Controller @Service等这些注解的类,则把这些类注册为bean。

    @Configuration:
    指出该类是 Bean 配置的信息源,相当于XML中的<beans></beans>,一般加在主类上。

    @Bean:
    相当于XML中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。

    @EnableAutoConfiguration:
    让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,一般加在主类上。

    @AutoWired:
    byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
    当加上(required=false)时,就算找不到bean也不报错。

    @Qualifier:
    当有多个同一类型的Bean时,可以用@Qualifier("name")来指定。与@Autowired配合使用

    @Resource(name="name",type="type"):
    没有括号内内容的话,默认byName。与@Autowired干类似的事。

     

    @RequestMapping:

    RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
    该注解有六个属性:
    params:指定request中必须包含某些参数值是,才让该方法处理。
    headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
    value:指定请求的实际地址,指定的地址可以是URI Template 模式
    method:指定请求的method类型, GET、POST、PUT、DELETE等
    consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
    produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回

    @RequestParam:
    用在方法的参数前面。
    @RequestParam String a =request.getParameter("a")。

    @PathVariable:

    路径变量。参数与大括号里的名字一样要相同。

    RequestMapping("user/get/mac/{macAddress}")
    public String getByMacAddress(@PathVariable String macAddress){
      //do something;
    }

     

    @Profiles
    Spring Profiles提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效。
    任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。

    @Configuration
    @Profile("prod")
    public class ProductionConfiguration {
        // ...
    }

     

    @ConfigurationProperties
    Spring Boot将尝试校验外部的配置,默认使用JSR-303(如果在classpath路径中)。
    你可以轻松的为你的@ConfigurationProperties类添加JSR-303 javax.validation约束注解:

    复制代码
    @Component
    @ConfigurationProperties(prefix="connection")
    public class ConnectionSettings {
    @NotNull
    private InetAddress remoteAddress;
    // ... getters and setters
    }
    复制代码

     

    全局异常处理

    @ControllerAdvice:
    包含@Component。可以被扫描到。
    统一处理异常。

    @ExceptionHandler(Exception.class):
    用在方法上面表示遇到这个异常就执行以下方法。

    展开全文
  • springboot 常见注解

    2019-02-27 09:31:46
    用在 springboot 的核心主类上,最最重要的注解,标识是一个 springboot 应用,开启springboot 的各项应用.相当于@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan 三个注解的组合.   2. @...

    1.@SpringBootApplication

    用在 springboot 的核心主类上,最最重要的注解,标识是一个 springboot 应用,开启springboot 的各项应用.相当于@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan 三个注解的组合.

     

    2. @ComponentScan 用来代替配置文件中的comment-scan配置,用来开启组件扫描,自动扫描@Comment 注解自动注册 bean 到context

     

    3. @SpringBootConfiguration  @Configuration 注解的变体, @Configuration 是Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件.

     

    4. @EnableAutoConfiguration  Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Bean

     

    参考文献:

    https://mp.weixin.qq.com/s?__biz=MzI3ODcxMzQzMw==&mid=2247488597&idx=1&sn=e3b44af93f36fce77fe69956c4e41251&chksm=eb539163dc2418754aebb15db1d6f245981bc02e9f7c19878765ba13385187ab7a777afbc3a6&mpshare=1&scene=1&srcid=#rd

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,532
精华内容 8,212
关键字:

springboot常见注解

spring 订阅