SpringBoot的各种注解

本文详细介绍了Spring中@Configuration、@Bean、@ImportResource、@PropertySource、@ComponentScan等核心注解的用法,以及@ConfigurationProperties的K-V注入和@Controller、@Service、@Repository、@Component的作用。同时讲解了@SpringBootApplication及其组成,以及如何通过@MapperScan和@Mapper注解配合MyBatis进行对象创建。最后提到了@RestController的使用,它是@ResponseBody和@Controller的组合,用于处理HTTP请求。

@Configuration

表示当前类可以用作配置文件使用

可以在这个类中使用@bean注解来创建对象(类似于单例模式的饿汉式)。

方法中需要有返回值+使用new这个关键字

spring会把这个返回值放入spring容器中;

在后面的方法中如果要调用这个方法(@bean中有个属性name,命名name的值,在后面的@resource中使用使用按照名称注入)没有使用name这个属性的话,默认情况下@bean方法的方法名;

---------------------------------------------------------------------------------------------------------------------------------

@importResource:用来导入xml文件,xml文件里面也是声明java对象,同样也是导入到spring容器中

---------------------------------------------------------------------------------------------------------------------------------

@propertySource:用来导入property文件

可以和@value一起使用,@value来用读取property文件的内容;

---------------------------------------------------------------------------------------------------------------------------------

@componentScan:用来指定扫描注解的位置,扫描把扫描到的注解生成对象放入spring容器中,

属性:basePackage:指定扫描到包的位置

默认情况下是扫描当前包和子包的位置

---------------------------------------------------------------------------------------------------------------------------------

@SpringBootApplication

由三个主要注解组合而成:@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan

@SpringBootCOnfiguration:表示这个类可以作为配置类使用;

@EnableAutoConfiguration:启动自动注入,把java文件配置好,直接注入到Spring容器中;

@ComponentScan:表示文件下的注解,用来创建对象

---------------------------------------------------------------------------------------------------------------------------------

@ConfigurationProperties:使用在java类上,表示使用K-V自动注入到对应的java属性上,

参数prefix:把properties文件中对应的前缀.后面的属性对应到properties文件的属性中(使用在类上,所以在属性上可以自动赋值)

和@value是两种用法

--------------------------------------------------------------------------------------------------------------------------------

@controller、@service、@Repository、@component

这些注解使用在java类上,componentScan会扫描这些完成对象的创建

@controller使用在控制层,完成接收请求参数,调用service层完成用户的请求,返回视图层给用户;

@Service:业务层的逻辑,调用dao层完成用户对数据库的操作,将处理结果返回给controller;

@Repository:使用对数据库进行持久化操作(保证用户的数据可以写入到数据库中),将处理结果返回给service层

##在SpringBoot中使用@mapper代替这个注解。用来告诉mybatis创建这个对象的动态代理对象

##@mapperScan(basePackage:指定的mapper文件的路径),使用在主启动类上,省的一个一个dao层都要使用到@mapper

@component:用来创建对象,但是对象没有前面三个有特殊的功能

@transaction:表示开启事务(一般使用在service层)有五个参数

1、传播行为 2、隔离级别 3、超时行为 4、回滚规则 5、是否只读

---------------------------------------------------------------------------------------------------------------------------------

@RestController   = @responseBody+@controller

使用在类上:表示这个类是控制层,而且类中的所有方法加上@responseBody这个注解

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值