【面试】Spring Boot构建项目时有哪些常用的注解?

前言

Spring Boot是一款强大的开发框架,其核心思想是通过注解来简化配置,提高开发效率。

在Spring Boot项目中,我们经常会使用一些核心注解来定义组件、配置应用、处理请求等。

@SpringBootApplication

含义及作用

这是一个组合注解,用于标识主程序类。它包括@Configuration@EnableAutoConfiguration@ComponentScan

如何使用

@SpringBootApplication这个注解通常用于启动整个Spring Boot应用,自动配置并扫描所有组件。

java 复制代码
@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

@Controller

含义及作用

@Controller标识一个类为Spring MVC控制器,处理HTTP请求。

如何使用

在这个类中,@Controller注解可以定义处理HTTP请求的方法,返回视图或数据。

java 复制代码
@Controller
public class MyController {
    // Controller methods
}

@RestController

含义及作用

组合注解,结合了@Controller@ResponseBody,用于构建RESTful风格的控制器。

如何使用

@RestController注解适用于返回JSON或XML格式的数据,常用于构建RESTful API。

java 复制代码
@RestController
public class MyRestController {
    // RESTful Controller methods
}

@RequestMapping

含义及作用

@RequestMapping映射HTTP请求到相应的控制器方法。

如何使用

在下例中,/hello路径的请求将由hello()方法处理。

java 复制代码
@Controller
public class MyController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

@Autowired

含义及作用

@Autowired注解表示自动装配Spring容器中的bean。

如何使用

通过构造函数、Setter方法或字段上使用@Autowired,将依赖注入到组件中。

java 复制代码
@Controller
public class MyController {
    private final MyService myService;

    @Autowired
    public MyController(MyService myService) {
        this.myService = myService;
    }
}

@Service

含义及作用

@Service注解标识一个类为服务层组件。

如何使用

在这个类中,通常包含业务逻辑,供Controller调用。

java 复制代码
@Service
public class MyService {
    // Service methods
}

@Repository

含义及作用

@Repository注解标识一个类为数据访问层组件,通常与Spring的数据访问框架一起使用。

如何使用

@Repository注解用于封装数据库操作,提供数据访问的方法。

java 复制代码
@Repository
public class MyRepository {
    // Data access methods
}

@Component

含义及作用

@Component注解泛指Spring容器管理的所有组件。

如何使用

可以在任何需要被Spring容器管理的类上使用,通常用于通用性组件的定义。

java 复制代码
@Component
public class MyComponent {
    // Component logic
}

@Configuration

含义及作用

@Configuration注解标识一个类为配置类,通常与@Bean一起使用,定义一些Bean的创建。

如何使用

在这个类中,@Configuration注解可以定义一些特定的配置,例如数据源配置、Bean的初始化等。

java 复制代码
@Configuration
public class MyConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
}

@Value

含义及作用

@Value注解将配置文件中的值注入到属性中。

如何使用

在这个例子中,${my.property}的值将会从配置文件中读取并注入到myProperty属性中。

java 复制代码
@Service
public class MyService {
    @Value("${my.property}")
    private String myProperty;
}

总结

以上这些注解都是Spring Boot开发项目时的一些常用注解,通过合理使用这些注解,我们可以更加便捷地构建和管理Spring Boot项目。

通过每个注解下给出的示例代码我们可以从中窥探到一些具体用法,具体如何灵活使用还是得在项目中实践,俗话说:实践出真知,少年行动起来吧,路是自己走出来的,加油。

相关推荐
Oneslide18 小时前
Ubuntu 26.04 完整安装 Fcitx5 中文拼音输入法指南(适配默认Wayland)
后端
huangdong_19 小时前
电商平台图片URL原图转换技术深度解析:从缩略图到高清原图的完整方案
java·后端·spring
掘金码甲哥19 小时前
3min手搓一个帮助文档站,很合理吧!
后端
ServBay1 天前
别再用初级写法写Rust了,8个写法你值得拥有
后端·rust
jingling5551 天前
go | 环境安装和快速入门
开发语言·后端·golang
Darren2451 天前
流程步骤模板 - @StepStatus 注解方案
后端
小闹5491 天前
Claude Code 给自己接了一部飞书,从此不用守在工位等它
后端·claude
浮游本尊1 天前
Java学习第41天 - 复杂查询、多表关联、索引优化与慢 SQL 调优
后端
llz_1121 天前
web-第五次课后作业
前端·后端·http