Spring注解合集

SpringMVC注解

@Controller

注解 解释
@Controller 用于定义控制器类,结合Service接口方法,来处理用户请求。
@RestController 用于标注控制层组件,@ResponseBody和@Controller的合集。使用后Controller中的方法无法返回jsp或html页面。
@ResponseBody 表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,比如返回JSON数据。
@RequestMapping 提供路由信息,负责URL到Controller中的具体函数的映射。

@RequestParam

将请求参数绑定到你控制器的方法参数上

1
public String queryUserName(@RequestParam String userName)

@PathVariable

将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“)

1
2
@RequestMapping("show/{id}/{name}")
public ModelAndView get(@PathVariable("id") Long id ,@PathVariable("name") String name)

@Autowired

自动导入依赖的bean

1
2
 @Autowired
private Service service;

@Service

一般用于修饰service层的组件

@Repository

使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

@Bean

用@Bean标注方法等价于XML中配置的bean。

@Component

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

@Qualifier

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

1
2
3
4
5
6
7
 @Autowired
@Qualifier("user")
private User user;

等同于

@Resource(name="user")

@Resource

@Resource(name=”name”,type=”type”)

没有括号内容的话,默认byName。

SpringBoot注解合集

@SpringBootApplication

包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。

1
2
3
4
5
@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.xiamu")

@ComponentScan

让spring Boot扫描到Configuration类并把它加入到程序上下文。

@Configuration

等同于spring的XML配置文件;使用Java代码可以检查类型安全。

@EnableAutoConfiguration

自动配置。

@ComponentScan

组件扫描,可自动发现和装配一些Bean。

@Component

可配合CommandLineRunner使用,在程序启动后执行一些基础任务。

@RestController

注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。

image-20211207165806400

@Import

用来导入其他配置类。

@Value

注入Spring boot application.properties配置的属性的值。

image-20211207164723713
1
2
3
4
5
6
7
8
@Configuration
public class MyConfig {
@Value("${spring.datasource.username}")
String username;

@Value("${spring.datasource.password}")
String password;
}

参考:

SpringBoot注解