springboot 基础注解

本文介绍了Spring Boot中的关键注解如@Controller、@RestController、@RequestMapping等,展示了如何配合Thymeleaf模板和自动扫描机制。此外,还涵盖了依赖注入、事务管理、数据绑定和异常处理等内容,适合初学者和进阶开发者了解和实践。
@Controller

    用来响应页面,@Controller必须配合模版来使用

    需要在pom.xml导入文件

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-thymeleaf</artifactId>

    </dependency>

@ComponentScan

    告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器。

    例如,如果你有个类用@Controller注解标识了,那么,如果不加上@ComponentScan,自动扫描该                    
    controller,那么该Controller就不会被spring扫描到,更不会装入spring容器中,因此你配置的这    
    个Controller也没有意义。

@ResponseBody

    将java对象转为json格式的数据,表示该方法的返回结果直接写入 HTTP response body 中

@RestController

    Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。

    即@RestController是@ResponseBody和@Controller的组合注解。

@RequestMapping

    将多个请求映射到一个类,将多个请求映射到一个方法两种作用

@Param

    注解的作用是Mapper接口给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语    
    句中,来简化xml配置

    例如 List<RoleVo> getPowerByRoleIds(@Param("id") Long id);

@TableName

    当创建对象与数据库名不对应时 实现entity与数据库对应

@TableName("dic_major")//数据库里面的名字

    public class Major(创建对象名字) {

    }

@Service

    注解将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean,标注在事务层

@Transactional

    Transactional 实质是使用了 JDBC 的事务来进行事务控制的Transactional 基于 Spring 的动态代 
    理的机制,如果方法莫某个环节出现错误,系统将不会执行这个方法,标注在类上类的每一个方法都有 
    事 
    务属性,标注在方法上只有方法有事务属性,

@Bean

    是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类 
    里。目的是创建一个类。当spring需要创建指定的一个类时会调用这个注解(@Bean)的方法。

@Configuration

    用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方 
    法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进 
    行扫描,并用于构建bean定义,初始化Spring容器。(换句话说@Configuration 注释的类 类似于于一 
    个 xml 配置文件的存在)

@ControllerAdvice

    一个非常有用的注解,顾名思义,这是一个增强的 Controller。使用这个 Controller ,可以实现三 
    个方面的功能:全局异常处理 全局数据绑定 全局数据预处理

@MapperScan

    添加注解以后,包下面的接口类,在编译之后都会生成相应的实现类

@Component: 标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器 
       中的一个Bean。意思是加载时自动扫描。

@Value(value = "${user.userName(yml里的信息)}")赋值的作用

@Resource和@Autowired注解都是用来实现依赖注入的。只是@AutoWried按by type自动注入,而    
       @Resource默认按byName自动注入(实现service的接口可以用它来区分)。

@Target  用于描述注解的使用范围(即:被描述的注解可以用在什么地方)

@Retention 作用是定义被它所注解的注解保留多久

    导入lombok插件一些方法

@Data,简化实体类get set方法

@Slf4j,日志

@Accessors(chain = true) set方法返回值 this

@Builder,建造者模式床架你对象,设计模式之一,一般用于创建复杂对象,spring、mybatis框架源码中    
     所有以XXXXBuilder的命名格式的都是使用的建造者模式

@AllArgsConstructor 添加全参构造函数

@NoArgsConstructor 添加无参构造函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值