📅  最后修改于: 2021-01-11 05:00:12             🧑  作者: Mango
Spring Boot注释是元数据的一种形式,它提供有关程序的数据。换句话说,注释用于提供有关程序的补充信息。它不是我们开发的应用程序的一部分。它对其注释的代码的操作没有直接影响。它不会更改已编译程序的操作。
在本节中,我们将讨论一些重要的Spring Boot注释,我们将在本教程的后面部分中使用它们。
@Required:它适用于bean setter方法。它指示必须在配置时使用必需的属性填充带注释的Bean,否则它将引发异常BeanInitilizationException 。
例
public class Machine
{
private Integer cost;
@Required
public void setCost(Integer cost)
{
this.cost = cost;
}
public Integer getCost()
{
return cost;
}
}
@Autowired: Spring通过提供@Autowired注释来提供基于注释的自动装配。它用于自动连接setter方法,实例变量和构造函数上的spring bean。当我们使用@Autowired注释时,spring容器通过匹配data-type自动连接bean。
例
@Component
public class Customer
{
private Person person;
@Autowired
public Customer(Person person)
{
this.person=person;
}
}
@Configuration:这是一个类级别的注释。 Spring容器使用@Configuration注释的类用作bean定义的源。
例
@Configuration
public class Vehicle
{
@BeanVehicle engine()
{
return new Vehicle();
}
}
@ComponentScan:当我们要扫描软件包中的bean时使用。它与注释@Configuration一起使用。我们还可以指定基本软件包以扫描Spring组件。
例
@ComponentScan(basePackages = "com.javatpoint")
@Configuration
public class ScanComponent
{
// ...
}
@Bean:这是方法级别的注释。它是XML
例
@Bean
public BeanExample beanExample()
{
return new BeanExample ();
}
@Component:这是一个类级别的注释。它用于将Java类标记为Bean。在类路径中找到了一个用@Component注释的Java类。 Spring Framework将其拾取并将其在应用程序上下文中配置为Spring Bean 。
例
@Component
public class Student
{
.......
}
@Controller: @Controller是类级别的注释。这是@Component的特化。它将一个类标记为Web请求处理程序。它通常用于提供网页。默认情况下,它返回一个字符串,该字符串指示要重定向的路由。它主要与@RequestMapping注释一起使用。
例
@Controller
@RequestMapping("books")
public class BooksController
{
@RequestMapping(value = "/{name}", method = RequestMethod.GET)
public Employee getBooksByName()
{
return booksTemplate;
}
}
@Service:它也用于类级别。它告诉Spring该类包含业务逻辑。
例
package com.javatpoint;
@Service
public class TestService
{
public void service1()
{
//business code
}
}
@Repository:这是一个类级别的注释。该存储库是直接访问数据库的DAO (数据访问对象)。存储库执行与数据库有关的所有操作。
package com.javatpoint;
@Repository
public class TestRepository
{
public void delete()
{
//persistence code
}
}
例
@Controller
public class BooksController
{
@RequestMapping("/computer-science/books")
public String getAllBooks(Model model)
{
//application code
return "bookList";
}
注意:我们已在RESTful Web服务教程中将以上所有注释与实际示例结合使用。