Spring Boot注解概念总结

学习了(摸鱼划水)一段时间的springboot,总结一下平时所用到的springboot的注解
使用的最多的就是
1、@SpringBootApplication这个注解相当于表示该类是一个开关,启动项目时直接启动有该注解的类
由三个注解组合而成
@Configuration
标识这个类可以使用Spring IoC容器作为bean定义的来源
@bean告诉让spring容器将带有@bean的注解方法将返回一个对象
个人理解:你妈喊你在学校(spring容器)找一个女朋友(bean)
@EnableAutoConfiguration
能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置
个人理解:你在某某软件上,会根据你的喜好来给你推荐你喜欢的妹纸(bean)
@ComponentScan
会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller
个人理解:你在看动漫时,只要是你喜欢(被标记为component)的都是你女朋友(bean)

2、@Autowired
自动注入
将值自动注入你定义的实体类之中
怎么自动注入的不明白,反正就是注入了

3、@RequestMapping
具体使用方法
@RequestMapping(value = “/CRUD”, method = { RequestMethod.GET, RequestMethod.POST })
采用post还是get视情况而定
兄弟:
@GetMapping,处理get请求
@PostMapping,处理post请求
@PutMapping,处理put请求
@DeleteMapping,处理delete请求
提供resultful风格支持

4、@ResponseBody
作用在方法上
将返回的对象转化为json字符串,方便读取
(将你的女朋友数字化)
@RequestBody 这个方法可以作用在字段上

5、@CrossOrigin
可用于跨域访问
具体使用方法:@CrossOrigin(“http://localhost:8080”)
对方将localhost改为你得ip地址即可访问

6、@Mapper和@MapperScan
1.在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面
具体使用方法:

@Mapper
public interface userservice {
   //代码块
}

2.@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加(开关)

7、@Bean
你对象
@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理

8、@Controller
标识为控制层
将@Controller标记在某个类上,配合@RequestMapping注解,可以在一个类中定义多个接口,这样使用起来更加灵活

9、@Api
Swagger是当前最好用的Restful API文档生成的开源项目,通过swagger-spring项目

实现了与SpingMVC框架的无缝集成功能,方便生成spring restful风格的接口文档。

10、@ConfigurationProperties
我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了,这时候,我们就可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类

11、@PropertySource

加载指定的属性文件(*.properties)到 Spring 的 Environment 中。可以配合 @Value 和 @ConfigurationProperties 使用。
具体使用:
@ConfigurationProperties(prefix = “audience”)
@PropertySource(“classpath:jwt.properties”)

12、@value
Value将外部的值动态注入到Bean中,使用的情况有:
注入普通字符串
注入操作系统属性
注入表达式结果
注入其他Bean属性
注入beanInject对象的属性another
注入文件资源
注入URL资源

13、@Component
@Component可以注解其他类注解(没理解这个意思,注解其他类注解????excuse me??)

14、@Select@update@insert@delate
sql语句的注解
具体使用
@Select(“select * from 表名”)
@Delete(“delete from 表名 where 字段名=#{值}”)
其余两个相似

15、@param
Param注解单一属性(我所接触到的)
Public User selectUser(@param(“userName”) String name,@param(“userpassword”) String password);
@Param注解JavaBean对象
public List getUserInformation(@Param(“user”) User user);

16、@Documented@Retention@Target
1.@Target({ElementType.TYPE})
@Target用来表示注解作用范围,超过这个作用范围,编译的时候就会报错

2.@Retention(RetentionPolicy.RUNTIME)
@Retention定义了该Annotation被保留的时间长短
@Retenrion通过RetebtionPolicy表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效)

3.@Documented
Documented注解表明这个注释是由 javadoc记录的,在默认情况下也有类似的记录工具。 如果一个类型声明被注释了文档化,它的注释成为公共API的一部分

可能有些概括的不是很全面,望见谅!

下班,开溜!!!!

发布了34 篇原创文章 · 获赞 21 · 访问量 1910

猜你喜欢

转载自blog.csdn.net/qq_44156131/article/details/103510840