Spring中常用注解

本文深入探讨了Spring框架中关键注解的使用,包括@Value注解的各种注入方式,如普通字符串、操作系统属性、表达式结果等。同时,详细解析了AOP相关注解如@Aspect、@Before、@After、@Around的运用,以及@Scope注解在不同场景下的作用,最后介绍了@SpringBootApplication注解的综合功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.@Value注解

@Value 为属性注入值(该注解贴在属性上)
支持如下方式的注入:
(1)注入普通字符
@Value(“Michael Jackson”)String name;
(2)注入操作系统属性
@Value(“#{systemProperties[‘os.name’]}”)String osName;
(3)注入表达式结果
@Value(“#{ T(java.lang.Math).random() * 100 }”) String randomNumber;
(4)注入其它bean属性
@Value(“#{domeClass.name}”)String name;
(5)注入文件资源
@Value(“classpath:cn/wolfocde/demo/test.txt”)String Resource file;
(6)注入网站资源
@Value(“http://www.wolfcode.cn")Resource url;
(7)注入配置文件
Value(“${user.name}”)String bookName;

2.切面(AOP)相关注解

Spring支持AspectJ的注解式切面编程。
@Aspect 声明一个切面(该注解贴在类上)
使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。
@After 在方法执行之后执行(该注解贴在方法上)
@Before 在方法执行之前执行(该注解贴在方法上)
@Around 在方法执行之前与之后执行(该注解贴在方法上)
@PointCut 声明切点在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(该注解贴在类上)

3.@Scope注解注解

@Scope(value=ConfigurableBeanFactory.SCOPE_PROTOTYPE):这个是说在每次注入的时候回自动创建一个新的bean实例;
@Scope(value=ConfigurableBeanFactory.SCOPE_SINGLETON):单例模式,在整个应用中只能创建一个实例;
@Scope(value=WebApplicationContext.SCOPE_GLOBAL_SESSION):全局session中的一般不常用;
@Scope(value=WebApplicationContext.SCOPE_APPLICATION):在一个web应用中只创建一个实例;
@Scope(value=WebApplicationContext.SCOPE_REQUEST):在一个请求中创建一个实例;
@Scope(value=WebApplicationContext.SCOPE_SESSION):每次创建一个会话中创建


4.@SpringBootApplication注解

Spring Boot提供一个方便的 @SpringBootApplication 选择。该 @SpringBootApplication 注解等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。

【例子】我们使用多数据源时

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
@Import({DynamicDataSourceConfig.class})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值