JSR-250表示将在@PostConstruct方法之前调用所有@Resource注释方法.
我的问题是:
这是否意味着在调用任何@PostConstruct注释方法之前,将调用上下文中所有bean的所有@Resource注释方法?或者换句话说,一旦注入了依赖项,就可以调用bean @PostConstruct方法,即使上下文中的其他bean仍没有注入依赖项吗?
此致,蒂姆.
自从我几年前开始编写经典的ASP 12(左右)以来,我已经完成了这一切,我从来没有找到一个很好的解决方案,因为ASP和ASP.NET的架构一直是不良做法的沼泽,魔术共享单身,等我最大的问题是用HttpApplication其非事件的事件(对象Application_Start,Application_End等等).
如果你想在HTTP应用程序的整个生命周期内做一次Application_Start事情,那么这是显而易见的.对?不完全是.首先,这本身不是一个事件,它是一个神奇的命名约定,如果遵循这个约定,会导致该方法在IIS创建的每个AppDomain上调用一次.
除了魔术命名惯例是一种可怕的做法,我开始认为这可能是Start在HttpApplication对象上不存在事件的原因.所以我已经尝试过确实存在的事件,例如Init.嗯,这也不是一个真正的事件,它是一个可以覆盖的方法,这是下一个最好的事情.
似乎该Init()方法是针对HttpApplication对象的每个实例化调用的,每个AppDomain发生的次数不止一次.这意味着我不妨将我的启动逻辑放在HttpApplication对象的构造函数中.
现在我的问题是,为什么我不应该将我的启动逻辑放在构造函数中?为什么甚至Init()存在,我需要关心什么Application_Start?如果我这样做,任何人都可以解释为什么HttpApplication对象中的这个伪事件没有适当的事件或可覆盖的方法?
任何人都可以向我解释为什么在一个典型的ASP.NET应用程序中,我HttpApplication创建了8个实例(这会导致构造函数Init运行多次,当然;这可以通过锁定和调用的共享静态布尔值来缓解initialized)当我的应用程序只有一个AppDomain?
您是否应该通过光标获取数据并填写屏幕上的数据,例如设置窗口标题,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()(虽然我当然可以更新两次)?
我知道这是一个基本的问题但是最近的对话令我意外,让我意识到这一点.
在一个网站上,如果我有一个班级:
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)
查询将被编译多少次?每次页面加载......?一旦进入申请......?
我正在开发的项目非常庞大,我们开发了一个框架,可以轻松构建简单的UI屏幕.我们有两种基本类型:搜索(搜索参数+结果网格)和细节(一组编辑器,通常从一些模型对象填充).
该应用程序是所有C#.NET Winforms.
在细节中,我们有以下过程.
用户点击确定
这一切都适用于简单的东西,但在更复杂的情况下,我注意到上述方法可能并不是最顺利的.
上面提到的更复杂的情况是,细节表示模型对象,并且细节中嵌入了一个网格,其中包含可以添加和删除的"子"对象.通常,您希望启动子Detail并传入父模型对象,但此时它尚未完全填充/更新,因为只有在单击OK时才会发生.我发现自己有时会以恼人的方式解决这个问题,这引出了我以下问题.
在高级别,是细节屏幕的接受/最佳实践方法,就像我描述的那样,当控件更改时将值复制到模型对象,而不是等到单击确定?
如果是这样,在Winforms应用程序中,实现这一目标的最佳方法是什么?我发现有些文章提到Control.DataBindings但由于绑定时缺乏编译时安全性,因此它并不理想.我读过WPF有很好的绑定支持,但不幸的是,我没有使用WPF.
正如您在此处看到的ASP.NET应用程序生命周期,有两张图片.第一个是在AppDomain中创建了HostingEnvironment类,第二个是在它中创建了HttpRuntime类.从他们的定义我不明白他们之间的区别.何时创建一个,何时在应用程序生命周期中创建第二个?在apllication生命周期的上下文中HostingEnvironment类和HttpRuntime类有什么区别?
我认为我在概念上缺少关于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) 这对我的应用程序很重要,因为我想在那里存储应用程序UDID,Apple建议从iOS 5.0开始创建特定于应用程序的UDID.
我是Angular 2的新手.为什么ngOnInit不是在组件或指令的构造函数之后调用的第一个钩子?
资料来源:https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html
我写了一个flutter插件,可以显示相机预览并扫描条形码。我有一个Widget呼叫ScanPage,它显示,CameraPreview并Route在检测到条形码时导航到新的。
问题:
当我将新的路线(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)