标签: lifecycle

在任何@PostConstruct之前再次注入所有@Resource

JSR-250表示将在@PostConstruct方法之前调用所有@Resource注释方法.

我的问题是:

这是否意味着在调用任何@PostConstruct注释方法之前,将调用上下文中所有bean的所有@Resource注释方法?或者换句话说,一旦注入了依赖项,就可以调用bean @PostConstruct方法,即使上下文中的其他bean仍没有注入依赖项吗?

此致,蒂姆.

java resources lifecycle spring postconstruct

7
推荐指数
1
解决办法
2365
查看次数

Application_Start与OnInit对比构造函数

自从我几年前开始编写经典的ASP 12(左右)以来,我已经完成了这一切,我从来没有找到一个很好的解决方案,因为ASP和ASP.NET的架构一直是不良做法的沼泽,魔术共享单身,等我最大的问题是用HttpApplication其非事件的事件(对象Application_Start,Application_End等等).

如果你想在HTTP应用程序的整个生命周期内做一次Application_Start事情,那么这是显而易见的.对?不完全是.首先,这本身不是一个事件,它是一个神奇的命名约定,如果遵循这个约定,会导致该方法在IIS创建的每个AppDomain上调用一次.

除了魔术命名惯例是一种可怕的做法,我开始认为这可能是StartHttpApplication对象上不存在事件的原因.所以我已经尝试过确实存在的事件,例如Init.嗯,这也不是一个真正的事件,它是一个可以覆盖的方法,这是下一个最好的事情.

似乎该Init()方法是针对HttpApplication对象的每个实例化调用的,每个AppDomain发生的次数不止一次.这意味着我不妨将我的启动逻辑放在HttpApplication对象的构造函数中.

现在我的问题是,为什么我不应该将我的启动逻辑放在构造函数中?为什么甚至Init()存在,我需要关心什么Application_Start?如果我这样做,任何人都可以解释为什么HttpApplication对象中的这个伪事件没有适当的事件或可覆盖的方法?

任何人都可以向我解释为什么在一个典型的ASP.NET应用程序中,我HttpApplication创建了8个实例(这会导致构造函数Init运行多次,当然;这可以通过锁定和调用的共享静态布尔值来缓解initialized)当我的应用程序只有一个AppDomain?

asp.net lifecycle httpapplication app-startup

7
推荐指数
2
解决办法
2216
查看次数

Android生命周期:在onStart()或onResume()中填写活动中的数据?

您是否应该通过光标获取数据并填写屏幕上的数据,例如设置窗口标题,onStart()onResume()

onStart()似乎是合乎逻辑的地方,因为在onStart()活动已经可以显示之后,尽管在后台.值得注意的是,我遇到了托管对话框的问题,这让我重新考虑了这一点.如果用户旋转屏幕,而对话仍然是开放的,onCreateDialog()并且onPrepareDialog()被称为之间 onStart()onResume().如果对话框需要基于您之前需要拥有数据的数据onResume().

如果我是正确的onStart()那么为什么Notepad示例通过这样做给出了一个坏的例子onResume()?请参阅http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html NoteEditor.java第176行(title = mCursor.getString...).

此外,如果我的Activity启动另一个Actvity/Dialog,它会更改我的光标正在跟踪的数据.即使在最简单的情况下,这是否意味着我必须手动更新我之前的屏幕(主要活动中的对话框的监听器),或者我必须注册ContentObserver,因为我不再更新数据onResume()(虽然我当然可以更新两次)?

我知道这是一个基本的问题但是最近的对话令我意外,让我意识到这一点.

lifecycle android dialog onstart onresume

7
推荐指数
1
解决办法
5688
查看次数

在应用程序的生命周期中,编译的查询必须重新编译多少次?

在一个网站上,如果我有一个班级:

public class Provider
{
    static readonly Func<Entities, IEnumerable<Tag>> AllTags =
        CompiledQuery.Compile<Entities, IEnumerable<Tag>>
        (
            e => e.Tags
        );

    public IEnumerable<Tag> GetAll()
    {
        using (var db = new Entities())
        {
            return AllTags(db).ToList();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在一个页面中我有:

protected void Page_Load(object sender, EventArgs ev)
{
    (new Provider()).GetAll();
}
Run Code Online (Sandbox Code Playgroud)

查询将被编译多少次?每次页面加载......?一旦进入申请......?

c# asp.net lifecycle compiled-query

7
推荐指数
1
解决办法
276
查看次数

我的方法是Winforms编码老派

我正在开发的项目非常庞大,我们开发了一个框架,可以轻松构建简单的UI屏幕.我们有两种基本类型:搜索(搜索参数+结果网格)和细节(一组编辑器,通常从一些模型对象填充).

该应用程序是所有C#.NET Winforms.

在细节中,我们有以下过程.

  • 加载 - 根据相应的模型对象填充编辑控件.在显示详细信息之前调用

用户点击确定

  • 验证 - 验证详细信息以确保一致性
  • 接受 - 将更新的控制值复制回模型

这一切都适用于简单的东西,但在更复杂的情况下,我注意到上述方法可能并不是最顺利的.

上面提到的更复杂的情况是,细节表示模型对象,并且细节中嵌入了一个网格,其中包含可以添加和删除的"子"对象.通常,您希望启动子Detail并传入父模型对象,但此时它尚未完全填充/更新,因为只有在单击OK时才会发生.我发现自己有时会以恼人的方式解决这个问题,这引出了我以下问题.

在高级别,是细节屏幕的接受/最佳实践方法,就像我描述的那样,当控件更改时将值复制到模型对象,而不是等到单击确定?

如果是这样,在Winforms应用程序中,实现这一目标的最佳方法是什么?我发现有些文章提到Control.DataBindings但由于绑定时缺乏编译时安全性,因此它并不理想.我读过WPF有很好的绑定支持,但不幸的是,我没有使用WPF.

c# lifecycle binding winforms

7
推荐指数
1
解决办法
242
查看次数

HostingEnvironment类和HttpRuntime类有什么区别?

正如您在此处看到的ASP.NET应用程序生命周期,有两张图片.第一个是在AppDomain中创建了HostingEnvironment类,第二个是在它中创建了HttpRuntime类.从他们的定义我不明白他们之间的区别.何时创建一个,何时在应用程序生命周期中创建第二个?在apllication生命周期的上下文中HostingEnvironment类和HttpRuntime类有什么区别?

asp.net lifecycle

7
推荐指数
1
解决办法
1034
查看次数

NHibernate中的对象生命周期

我认为我在概念上缺少关于NHibernate的东西.我有一个Instrument对象映射到instruments我的数据库中的表.我还有一个BrokerInstrument对象映射到brokerInstruments我的数据库中的表.brokerInstrumnets是一张儿童桌instruments.我的课程看起来像:

public class Instrument : Entity
{
    public virtual string Name { get;  set; }
    public virtual string Symbol {get;  set;}
    public virtual ISet<BrokerInstrument> BrokerInstruments { get; set; }
    public virtual bool IsActive { get; set; }        
}

public class BrokerInstrument : Entity
{
    public virtual Broker Broker { get; set; }
    public virtual Instrument Instrument { get; set; }
    public virtual decimal MinIncrement { get; set; } …
Run Code Online (Sandbox Code Playgroud)

.net nhibernate lifecycle

7
推荐指数
1
解决办法
452
查看次数

存储在NSUserDefaults中的数据是否会通过应用程序更新和应用程序重新安装(删除安装)持续存在?

这对我的应用程序很重要,因为我想在那里存储应用程序UDID,Apple建议从iOS 5.0开始创建特定于应用程序的UDID.

lifecycle nsuserdefaults udid ios

7
推荐指数
1
解决办法
4371
查看次数

为什么ngOnInit不是第一个生命周期钩子?

我是Angular 2的新手.为什么ngOnInit不是在组件或指令的构造函数之后调用的第一个钩子?

资料来源:https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html

在此输入图像描述

lifecycle angular

7
推荐指数
1
解决办法
2372
查看次数

Flutter:小部件和导航的生命周期

我写了一个flutter插件,可以显示相机预览并扫描条形码。我有一个Widget呼叫ScanPage,它显示,CameraPreviewRoute在检测到条形码时导航到新的。

问题: 当我将新的路线(SearchProductPage)推入导航堆栈时,CameraController继续检测条形码。从屏幕上删除时,我需要致电stop()我。当用户返回时,我需要再次致电。CameraControllerScanPagestart()ScanPage

我尝试过的东西:CameraController工具WidgetsBindingObserver并 对此做出反应didChangeAppLifecycleState()。当我按下主屏幕按钮时,此方法非常有效,但当我将新按钮推入Route导航堆栈时,此方法则无效。

问: 是否有一个等效viewDidAppear()viewWillDisappear()iOS上或onPause()onResume()Android上的Widgets在颤振?如果不是,我如何启动和停止我的浏览器,CameraController以便在导航堆栈顶部有另一个Widget时停止扫描条形码?

class ScanPage extends StatefulWidget {

  ScanPage({ Key key} ) : super(key: key);

  @override
  _ScanPageState createState() => new _ScanPageState();

}

class _ScanPageState extends State<ScanPage> {

  //implements WidgetsBindingObserver
  CameraController controller;

  @override
  void initState() {

    controller = new …
Run Code Online (Sandbox Code Playgroud)

lifecycle widget viewdidappear onpause flutter

7
推荐指数
1
解决办法
3345
查看次数