spring.net 与 asp.net集成
Dependency Injection
DI is a very interesting thing. You can make your design totally decoupled with concrete implementations. To see this in effect, let us create a new string type property in our page's code named Message with a private variable message. And in the Page_Load method, add the following line:
Response.Write(message);
Here we do not set the value of the message variable. We'll set it through the Web.Config file. We now change the object definition for Default.aspx:
<object type="Default.aspx">
<property name="Message" value="Hello from Web.Config"/>
</object>
Now we have supplied a value outside of the page using the configuration file. We have set a string type value here. We can also set an object type value. To do that, let us define a class Math with one method:
public class Math
{
public int add(int x, int y)
{
return x+y;
}
}
Now let us add a new property Math in the Default.aspx code file like we did for message. In the Page_Load method, we add code:
Response.Write(math.add(30, 50));
In Web.Config we now add new object definition just above object for Default.aspx. So our spring section becomes:
<spring>
<parsers>
</parsers>
<context>
<resource uri="config://spring/objects"/>
</context>
<objects xmlns=http://www.springframework.net
xmlns:db="http://www.springframework.net/database">
<object name="MyMathObj" type="Math, App_code" />
<!-- Pages -->
<object type="Default.aspx">
<property name="Message" value="Hello from Web.Config"/>
<property name="Math" ref="MyMathObj"/>
</object>
</objects>
</spring>
posted on 2008-06-14 09:58 Love Fendi 阅读(260) 评论(0) 收藏 举报
浙公网安备 33010602011771号