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。

相关推荐
chjif27 分钟前
一张照片和一段声音如何生成口播视频:MiniMax H3 音画同步实测
java·前端·javascript
何以解忧,唯有..37 分钟前
LangChain 中 Pydantic 格式输出:结构化输出的完整指南
java·开发语言·langchain
旧梦95271 小时前
Java 捕获多个异常:从基础语法到最佳实践
java·开发语言
2601_962189601 小时前
【SpringBoot】使用IDEA创建SpringBoot项目
java·spring boot·intellij-idea
步行cgn1 小时前
Spring Boot 启动报错:MissingServletWebServerFactoryBean 的排查与解决
java·spring boot·后端
XLYcmy1 小时前
HTML/CSS/JS 基础与 Vue 技术栈深度解析
java·前端·css·html·vue3·vue2·api
~木雨1 小时前
String 底层原理与常量池全解析:byte []+coder、intern 陷阱、substring 内存泄漏,一篇讲透
java·jvm·内存优化·string·字符串常量池
新知图书1 小时前
12.3 智能体中Skill的约束与自进化实战
java·前端·数据库
en.en..2 小时前
C语言 static函数与头文件封装规范
java·c语言·前端