列表
@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。
@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。
@EnableAutoConfiguration 自动配置。
@ComponentScan 组件扫描,可自动发现和装配一些Bean。
@Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。
@RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。
@Autowired自动导入。
@PathVariable获取参数。
@JsonBackReference解决嵌套外链问题。
@RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。
分类列表
@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常。因为原生的java操作数据库所产生的异常只定义了几种,但是产生数据库异常的原因却有很多种,这样对于数据库操作的报错排查造成了一定的影响;而Spring拓展了原生的持久层异常,针对不同的产生原因有了更多的异常进行描述。所以,在注解了@Repository
的类上如果数据库操作中抛出了异常,就能对其进行处理,转而抛出的是翻译后的spring专属数据库异常,方便我们对异常进行排查处理
@Component是一个通用的Spring容器管理的单例bean组件。当你的一个类被@Component
所注解,那么就意味着同样可以用@Repository
, @Service
, @Controller
来替代它。
注解 | 含义 |
---|---|
@Component | 最普通的组件,可以被注入到spring容器进行管理 |
@Repository | 作用于持久层 |
@Service | 作用于业务逻辑层 |
@Controller | 作用于表现层(spring-mvc的注解) |
bean的分类标识
@Service: 注解在类上,表示这是一个业务层bean
@Controller:注解在类上,表示这是一个控制层bean
@Repository: 注解在类上,表示这是一个数据访问层bean
@Component: 注解在类上,表示通用bean
bean注入:
@Autowired:按类型装配
@Resource: 按名称装配
@Configuration:注解在类上,表示这是一个IOC容器,相当于spring的配置文件,java配置的方式。 IOC容器的配置类
@Bean: 注解在方法上,声明当前方法返回一个Bean
@PostConstruct:注解在方法上,构造函数执行后执行。!!!!!!!!!!!!!!!!!!!!!!!!!!
@PreDestroy: 注解在方法上,在Bean销毁前执行。!!!!!!!!!!!!!!!!!!!!!!!!!!
@ComponentScan:注解在类上,扫描标注了@Controller等注解的类,注册为bean
@Lazy(true): 延迟初始化
@Scope:注解在类上,描述spring容器如何创建Bean实例。
@Value:注解在变量上,从配置文件中读取。
@Profile:注解在方法 类上 在不同情况下选择实例化不同的Bean 特定环境下生效!!!!!!!!!!!!!!!!!
@SpringBootApplication:@SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration:约定优于配置
@WebServlet(name="Servlet3FirstDemo",value="/Servlet3FirstDemo")
@WebFilter将一个实现了javax.servlet.Filte接口的类定义为过滤器
第三方servlet:使用ServletRegistrationBean来注入servlet,对于每一个servlet都有一个ServletRegistrationBean来注入。
@RestController @RestController 是一个结合了 @ResponseBody 和 @Controller 的注解
@Controller
@RequestBody
@PathVariable
@RequestMapping 和请求报文是做对应的
- value,指定请求的地址
- method 请求方法类型 这个不写的话,自适应:get或者post
- consumes 请求的提交内容类型
- produces 指定返回的内容类型 仅当request请求头中的(Accept)类型中包含该指定类型才返回
- params 指定request中必须包含某些参数值
- headers 指定request中必须包含指定的header值