Spring全部注解

Spring中的注解主要分为两类:**类级别的注解:**如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在类上面的类级别注解。类内部的注解:如@Bean、@Autowire、@Value、@Resource以及EJB和WebService相关的注解等,都是添加在类内部的字段或者方法上的类内部注解。### 具体的来说又有以下几种类型的注解方式:1.声明bean的注解 @Component 组件,通用的注解方式@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在表现层使用,控制器的声明(C)2.注入bean的注解 @Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供都可以注解在set方法和属性上,推荐注解在属性上(一目了然,少写代码)。3.java配置类相关注解@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上)@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上)@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上)@ComponentScan 用于对Component进行扫描,相当于xml中的(类上)@WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解4.切面(AOP)相关注解 Spring支持AspectJ的注解式切面编程。@Aspect 声明一个切面(类上)使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。@After 在方法执行之后执行(方法上) @Before 在方法执行之前执行(方法上) @Around 在方法执行之前与之后执行(方法上)@PointCut 声明切点在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(类上)5.@Bean的属性支持@Scope 设置Spring容器如何新建Bean实例(方法上,得有@Bean)其设置类型包括:· Singleton (单例,一个Spring容器中只有一个bean实例,默认模式),· Protetype (每次调用新建一个bean),· Request (web项目中,给每个http request新建一个bean),· Session (web项目中,给每个http session新建一个bean),· GlobalSession(给每一个 global http session新建一个Bean实例)@StepScope 在Spring Batch中还有涉及@PostConstruct 由JSR-250提供,在构造函数执行完之后执行,等价于xml配置文件中bean的initMethod@PreDestory 由JSR-250提供,在Bean销毁之前执行,等价于xml配置文件中bean的destroyMethod### @Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。

相关推荐
苍何2 小时前
开源微信流 Windows,微信聊天记录,可以直接给 Codex 和 Obsidan 了
后端
代码什么用3 小时前
Spring基础使用
java·后端·spring
代码什么用3 小时前
Spring对IoC的实现
数据库·spring
Su米苏4 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
明月_清风4 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
码云数智-园园4 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁4 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网4 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西5 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨5 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言