@Component //交给IOC容器管理,成为IOC容器当中的bean对象
@Bean
//声明第三方bean @Bean //将当前方法的返回值对象交给IOC容器管理,成为IOC容器的bean对象 public SAXReader saxReader(){ return new SAXReader(); }
@RestController
是一个组合注解,它结合了 @Controller 和 @ResponseBody 注解的功能(就相当于把两个注解组合在一起)。在使用 @RestController 注解标记的类中,每个方法的返回值都会以 JSON 或 XML 的形式直接写入 HTTP 响应体中,相当于在每个方法上都添加了 @ResponseBody 注解.
@Service
@Aspect //代表该类为AOP类
@Slf4j //记录日志方法
@Around("execution(* com.hzy.service.*.*(..))") 切入点表达式->当我们运行com.hzy.service这个包下所有的接口或者是类中所有的方法时,都会运行下面的逻辑代码
第一个*是方法的返回值,第二个*是类名,第三个*是方法名
@annotation 切入点表达式,用于匹配标识有特定注解的方法。
用法:(1)定义一个注解方法
//元注解 @Retention(RetentionPolicy.RUNTIME) //描述这个注解什么时候生效 @Target(ElementType.METHOD) //当前这个注解生效在哪个地方 public @interface MyLog { }
(2)然后在方法中定义
@Around("@annotation(com.hzy.aop.MyLog)")
@Mapper //在运行时,会自动生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理
@Lazy //默认情况下bean的初始化是在容器启动时初始化的,加上@Lazy注解后可以延迟初始化
@Scope("prototype") //每次使用该 bean 时会创建新的实例(非单例) 如果不声明,则默认情况是单例的
@Configuration//配置类
@ComponentScan({"包名"}) //用于更改组件扫描范围