当前位置: 首页 > news >正文

牡丹江建设局网站公司建站比较好的

牡丹江建设局网站,公司建站比较好的,无锡做网站哪家公司好,中国建设银行网上银行网站目录 1.Bean的定义 2.Bean的生命周期 3.BeanFactory及Factory Bean 4.Bean的作用域 5.Bean的线程安全问题 1.Bean的定义 JavaBean是描述Java的软件组件模型。在Java模型中#xff0c;通过JavaBean可以无限扩充Java程序的功能#xff0c;通过JavaBean的组合可以快速的生…目录 1.Bean的定义 2.Bean的生命周期 3.BeanFactory及Factory Bean 4.Bean的作用域 5.Bean的线程安全问题 1.Bean的定义 JavaBean是描述Java的软件组件模型。在Java模型中通过JavaBean可以无限扩充Java程序的功能通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说最好的一点就是JavaBean可以实现代码的重复利用另外对于程序的易维护性等等也有很重大的意义。 Spring bean是Spring框架在运行时管理的对象是任何Spring应用程序的基本构建块它与使用关键字new创建的java对象没有区别。 目前主要通过三种不同的方式定义Spring bean 使用Component等相关注解比如Service、Controller等注释你的类编写在自定义Java配置类中使用Bean 注释的bean工厂方法在XML配置文件中声明bean定义一般现在开发中SpringBoot主要使用注解方法SpringMVC则主要使用xml文件方法。 以下是SpringBoot常用的定义Bean的案例 1在配置文件中使用Bean注解创建Bean Configuration public class RedissonConfig {Beanpublic RedissonClient getRedisson(){Config config new Config();//单机模式 依次设置redis地址和密码config.useSingleServer().setAddress(redis://127.0.0.1:6379);return Redisson.create(config);} } 2业务类Bean主要是Service注解标记为业务相关的Bean具体业务代码请忽略 Service public class PictureService {public boolean test(){return true;} } 2.Bean的生命周期 在传统的java 应用中bean 的生命周期很简单。使用Java关键字new 进行实例化然后bean 就可以使用了一旦该bean 不再被使用则由Java自动进行垃圾回收。 而在Spring中主要遵循 实例化——属性赋值——初始化——使用期——销毁 这五大步骤 详细步骤如上图所示。 Spring 根据BeanFactory和反射对bean 进行实例化。 Spring populateBean方法将值和bean的引用注入到bean对应的属性中。 调用invokeAwareMethod方法检查Aware相关接口如果bean实现了BeanNameAware接口Spring将bean的ID传递给setBean-Name()  方法如果bean 实现了BeanFactoryAware接口Spring将调用setBeanFactory() 方法将BeanFactory容器实例传入如果bean实现了ApplicationContextAware接口Spring将调用setApplicationContext() 方法将bean所在的应用上下文的引用传入进来。进行前置处理。如果bean实现了InitializingBean接口Spring将调用它们的after-PropertiesSet()方法。如果bean自定义了init-method调用该方法。进行后置处理。此时, bean 已经准备就绪可以被应用程序使用了它们将一直驻留在应用上下文中直到该应用上下文被销毁。如果bean实现了DisposableBean接口Spring将调用它的destory()接口方法。同样,如果bean使用destroy-method声明了销毁方法该方法也会被调用。 3.BeanFactory及Factory Bean BeanFactory创建对象时必须严格遵循Bean的生命周期较为复杂。 若需要简单的自定义创建对象且将对象交给Spring处理那么可以实现FactoryBean接口实现。 其主要和以下三个参数相关 IsSingeton:是否单例GetObjectType:获取返回类型GetObject自定义创建对象过程new、反射、动态代理 4.Bean的作用域 1singleton:单例IoC每次返回的都是同一个Bean对象 2prototypeIoC每次返回的都是一个新的Bean实例 3request仅对HTTP请求有用每次HTP请求都会创建一个新的Bean适用于WebApplicationContext环境 4session仅用于HTTP session同一个session共享一个Bean实例 5global-session所有session共享一个Bean实例。 一般我们使用默认的单例模式即可。 5.Bean的线程安全问题 由于Bean的对象默认是单例的即同名的有且只有一个框架中并没有进行多线程的封装处理。所以一般不要在Bean中声明如何有状态的实例或者类变量否则会有数据不一致等相关问题。 如果Bean是有状态的存有有状态的实例或者类变量则需要开发人员自己保证线程安全 把变量编程线程私有ThreadLocal把Bean的作用域从singleton改成prototype在代码上加锁synchronized、lock等。
http://www.hkea.cn/news/14411822/

相关文章:

  • python 网站开发流程网站开发与设计岗位职责
  • 网站优化方案范文网站策划书市场分析2000字
  • 仿站定制模板建站帮企业建网站
  • 快速的宝安网站建设wordpress 当前文章分类id
  • 央美老师做的家具网站vue做的小网站
  • 保定手机网站网站开发用工工程师
  • 平顶山网站建设网站外链平台
  • 织梦cms网站更新深圳 商城 网站建设
  • 经典网站建设方案深圳软件外包公司都有哪些
  • 接网站开发的公司电话wordpress主题极简
  • 去除 做网站就用建站之星wordpress 获取标签id
  • 法华寺网站建设手机做任务网站
  • 如何用手机建设一个网站360建筑网撤销挂证
  • 建筑行业官方网站域名备案掉了网站还可以用吗
  • 网站模板设计教程怎么样做企业模板网站
  • 手机移动网站设计泰州网站建设优化建站
  • c语言程序设计网站WordPress论坛小程序
  • 天津做网站的公dw网页设计成品免费学霸
  • 柳州企业网站制作海外免备案网站
  • 网站集约化建设力度自己做有趣的网站
  • 网站代理怎么赚钱网站开发公司北京
  • 小白如何学电商运营wordpress优化服务
  • 青海省制作网站专业wordpress仿dz
  • 网站关键词数量减少做网站建设的联系电话
  • 北京制作网站的公司简介酒店类网站建设开发书
  • 做网站建设还有钱赚吗高校网站建设策划
  • 闲鱼钓鱼网站怎么制作网站开发属于什么部门
  • 东营市垦利区胜坨填建设站的网站深圳宣传片制作排名前十名
  • 上饶网站优化东莞百度seo哪里强
  • 网站开发需要读的书籍h5网站建设h