注解机制详解
主要的作用
- 生成文档,通过代码里标识的元数据生成javadoc文档。
- 编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。
- 编译时动态处理,编译时通过代码里标识的元数据动态处理,例如动态生成代码。
- 运行时动态处理,运行时通过代码里标识的元数据动态处理,例如使用反射注入实例。
注解是一个接口,一个继承自Annotation的接口。 里面每一个属性,其实就是接口的一个抽象方法。
@SpringBootApplication
定义在main方法入口类处,用于启动sping boot应用项目
@Value
application.properties 定义属性,直接使用@Value注入即可
@ConfigurationProperties(prefix="person")
可以新建一个properties文件,ConfigurationProperties的属性prefix指定properties的配置的前缀,通过location指定properties文件的位置
@EnableConfigurationProperties
用@EnableConfigurationProperties注解使 @ConfigurationProperties生效,并从IOC容器中获取bean。
@RestController
组合@Controller和@ResponseBody,当你开发一个和页面交互数据的控制时
@RequestMapping("/api2/copper")
用来映射web请求(访问路径和参数)、处理类和方法,可以注解在类或方法上。注解在方法上的路径会继承注解在类上的路径。
produces属性: 定制返回的response的媒体类型和字符集,或需返回值是json对象
@RequestParam
获取request请求的参数值
@ResponseBody
支持将返回值放在response体内,而不是返回一个页面。比如Ajax接口,可以用此注解返回数据而不是页面。此注解可以放置在返回值前或方法前。
@Bean
@Bean(name="bean的名字",initMethod="初始化时调用方法名字",destroyMethod="close")
定义在方法上,在容器内初始化一个bean实例类。
@Service 用于标注业务层组件
@Controller 用于标注控制层组件(如struts中的action)
@Repository 用于标注数据访问组件,即DAO组件
@PathVariable 用来获得请求url中的动态参数
@Autowired
在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean。
当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用 @Autowired(required = false),这等于告诉 Spring: 在找不到匹配 Bean 时也不报错
https://blog.csdn.net/ethunsex/article/details/66475792
@Override注解详解
· 帮助自己检查是否正确的重写了父类中已有的方法
· 告诉读代码的人,这是一个重写的方法
Service注解
@Service 注解是 Spring Framework 中的一种注解,它标识了这个类是一个业务逻辑层的服务 Bean。这意味着当 Spring 应用启动时,该 Bean 会被自动创建并加入到 Spring 应用上下文中。
简而言之,@Service 注解是一种用于标记服务层 Bean 的注解,是在 Spring Boot 应用中实现业务逻辑复用的重要方法之一。
注解@JsonIgnoreProperties
https://blog.csdn.net/m0_46069861/article/details/108848223
https://blog.csdn.net/weixin_43272781/article/details/105246784
类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
@Transactional注解
@Transactional 实质是使用了 JDBC 的事务来进行事务控制的
@Transactional 基于 Spring 的动态代理的机制