Spring Bean配置默认为单实例 pring Bean生命周期

引用:http://hi.baidu.com/victorlin23/blog/item/45ba7d1b2ccbced8ad6e7595.html

 

Bean默认的是单例的.

如果不想单例需要如下配置:
<bean id="user" class="..." singleton="false"/>

singleton就是配置这个bean是否是单例的,如果不写,就是默认值true。

 

注解:

spring Bean生命周期

1.Bean的作用域可以通过Bean标签的scope属性进行设置,Bean的作用域包括:
默认情况下scope="singleton",那么该Bean是单例,任何人获取该Bean实例的都为同一个实例;
scope="prototype",任何一个实例都是新的实例;
scope="request",在WEB应用程序中,每一个实例的作用域都为request范围;
scope="session",在WEB应用程序中,每一个实例的作用域都为session范围;

注意:在默认情况下,Bean实例在被Spring容器初始化的时候,就会被实例化,默认调用无参数的构造方法。在其它情况下,Bean将会在获取实例的时候才会被实例化。

 

2.Bean可以通过指定属性init-method指定初始化后执行的方法,以及通过指定属性destroy-method销毁时执行的方法。

语法:<bean ....   destroy-method="销毁时调用的方法名" init-method="初始化后执行的方法名"/>

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AOP(面向切面编程)是一种编程思想,它允许我们在程序运行的过程中,对特定的方法或代码块进行拦截和增强,从而实现一些横向的功能,比如日志记录、性能监控、安全控制等。在Spring中,AOP是一个重要的特性之一,它可以帮助我们更加方便地实现这些功能,而不需要过多地修改现有的代码。 Spring Cloud是一个基于Spring Boot的微服务框架,它提供了各种实用工具和组件,帮助我们更加方便地构建和管理微服务应用。在Spring Cloud中,AOP也是一个非常重要的特性,它可以帮助我们处理各种跨服务的横向问题,比如服务调用、负载均衡、熔断降级等。 下面是一个简单的示例,展示了如何在Spring Cloud中使用AOP来实现服务调用的统计和监控: ``` @Service public class MyService { @Autowired private RestTemplate restTemplate; @MyAnnotation public String callOtherService() { String result = restTemplate.getForObject("http://other-service/api/something", String.class); return result; } } @Aspect @Component public class MyAspect { @Autowired private MeterRegistry meterRegistry; @Around("@annotation(MyAnnotation)") public Object around(ProceedingJoinPoint joinPoint) throws Throwable { String methodName = joinPoint.getSignature().getName(); Timer.Sample sample = Timer.start(meterRegistry); Object result = joinPoint.proceed(); sample.stop(Timer.builder("service_calls") .tag("method", methodName) .register(meterRegistry)); return result; } } ``` 在这个例子中,我们定义了一个MyService类,其中包含了一个callOtherService方法,用来调用其他服务。我们还定义了一个MyAnnotation注解,用来标注需要进行统计和监控的方法。在MyAspect类中,我们使用@Aspect注解来标注这是一个切面类,使用@Around注解来标注需要进行拦截和增强的方法。在around方法中,我们使用Timer来记录方法的执行时间,并将其作为一个metric发送到监控系统中。 通过这种方式,我们可以非常方便地实现各种跨服务的横向功能,而不需要修改现有的业务代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值