Spring常用注解介绍

社区
Spring常用注解详解

相信现在开发应该都是使用Spring框架了吧,即使不是使用Springboot框架,基于SSM也是使用Spring,Spring框架提供了许多注解,可以用于简化Java应用程序的开发和配置。本文就来讲解一些常用的Spring注解,以及它们的用途和示例代码。

1. @Autowired

首先第一个是@Autowired注解,主要用于自动装配bean。当Spring容器中存在与要注入的属性类型匹配的bean时,它会自动将bean注入到属性中。就跟我们new 对象一样。用法很简单,如下示例代码:

@Component
public class MyService {
}

@Component
public class MyController {

    @Autowired
    private MyService myService;

}

在上面的示例代码中,MyController类中的myService属性被@Autowired注解标记,Spring会自动将MyService类型的bean注入到myService属性中。

2. @Component

第二个是@Component,这个注解用于标记一个类作为Spring的bean。当一个类被@Component注解标记时,Spring会将其实例化为一个bean,并将其添加到Spring容器中。在上面讲解@Autowired的时候也看到了,示例代码:

@Component
public class MyComponent {
}

在上面的示例代码中,MyComponent类被@Component注解标记,Spring会将其实例化为一个bean,并将其添加到Spring容器中。

3. @Configuration

第三个@Configuration,注解用于标记一个类作为Spring的配置类。配置类可以包含@Bean注解的方法,用于定义和配置bean,作为全局配置。示例代码:

@Configuration
public class MyConfiguration {

    @Bean
    public MyBean myBean() {
        return new MyBean();
    }

}

4. @Bean

@Bean注解用于标记一个方法作为Spring的bean工厂方法。当一个方法被@Bean注解标记时,Spring会将该方法的返回值作为一个bean,并将其添加到Spring容器中,如果自定义配置,经常用到这个注解。

@Configuration
public class MyConfiguration {

    @Bean
    public MyBean myBean() {
        return new MyBean();

    }

}

5. @Service

另一个常用注解@Service,这个注解用于标记一个类作为服务层的组件。它是@Component注解的特例,用于标记服务层的bean,一般标记在业务service的实现类。

@Service
public class MyServiceImpl {

}

6. @Repository

@Repository注解用于标记一个类作为数据访问层的组件。它也是@Component注解的特例,用于标记数据访问层的bean。这个注解很容易被忽略,导致数据库无法访问。

@Repository
public class MyRepository {

}

在上面的示例代码中,MyRepository类被@Repository注解标记,Spring会将其实例化为一个bean,并将其添加到Spring容器中。

7. @Controller

另一个重要的主句,@Controller注解用于标记一个类作为控制层的组件。它也是@Component注解的特例,用于标记控制层的bean。这是MVC结构的另一个部分,加在控制层

@Controller
public class MyController {

}

在上面的示例代码中,MyController类被@Controller注解标记,Spring会将其实例化为一个bean,并将其添加到Spring容器中。

8. @RestController

@RestController注解用于标记一个类作为RESTful控制层的组件。它是@Controller注解的特例,用于标记RESTful控制层的bean。

@RestController
public class MyRestController {

}

这个注解其实等价于@Controller+@ResponseBody,可以在源码看到。

picture.image

9. @RequestMapping

@RequestMapping注解用于映射HTTP请求到控制层的方法。它可以用于类级别和方法级别,主要是定义在控制层方法,定义请求URL,比如hello方法使用@RequestMapping注解映射到“/api/hello”路径,浏览器就可以使用 ip:端口/api/hello 进行访问了

@Controller
@RequestMapping("/api")
public class MyController {

    @RequestMapping("/hello")
    public String hello() {

        return "Hello, world!";

    }

}

10. @RequestParam

当需要在获取前端请求的参数是,就需要另一个注解@RequestParam。@RequestParam注解用于将HTTP请求参数绑定到控制层方法的参数上。

@Controller

public class MyController {

    @RequestMapping("/hello")
    public String hello(@RequestParam("name") String name) {
        return "Hello, " + name + "!";

    }

}

以上是一些常用的Spring注解,它们可以简化Java应用程序的开发和配置。在实际开发中,可以根据需要使用这些注解来构建应用程序,其实大家不用强行记住,只要多实践,在项目中多多运用,自然就熟练了。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论