你的位置:首页 > Java教程

[Java教程]spring学习


<!--使用外部属性文件链接数据库--!>
<context:property-placeholder location="db.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  <!-- 使用外部属性文件 -->  <property name="user" value="${user}"></property>  <property name="password" value="${password}"></property>  <property name="driverClass" value="${driverclass}"></property>  <property name="jdbcUrl" value="${jdbcurl}"></property></bean>

在部署系统时需要一些细节信息,这些信息放在spring中后期不方便,需要外部属性文件,spring提供了一个PropertyPlaceholderConfigurer的后置处理器,它允许用户将bean配置的内容外移到属性文件中,写好配置文件后,在访问属性时用"${var}"访问(注意要先导入context命名空间)

public static void main(String[] args) throws SQLException {		ApplicationContext ctx = new ClassPath

  

user=rootpassword=123456driverclass=com.mysql.jdbc.Driverjdbcurl=jdbc:mysql:///hibernate

 SpEL(Spring表达式语言)

#{}为bean属性的动态赋值提供了便利,用SpEL你当然可以引用字面量,但这没什么卵用,也可以引用对象,其他对象的属性,类的静态变量等等

<bean id="car" class="com.autowire.Car" scope="prototype">    <property name="car" value=#{audi}></property>    <property name="tyrePremeter" value="#{T(java.lang.Math).PI*80}"></property>
<property name="brand" value=#{brand.name}</property>
<property name="price" value=#{300000}></property>
<property name="info" value="#{price>400000?'高富帅':'屌丝'}"></property>
<!--甚至于可以动态赋值--!>
</bean>

IOC中Bean的生命周期:

容器可以管理对象的生命周期,下面这个例子可以看出IOC管理对象的过程:

public class Car{ 2  public Car(){ 3     System.out.println("car's constructor");     4  } 5  public void setBrand(String brand){ 6     System.out.println("setBrand") 7  } 8  public void init(){ 9     System.out.println("car's init");10  }  11  public void destory(){12     System.out.println("car's destory");13  }


<!--创建对象以测试--!>
<bean id="car" class="com.process.Car" init-method="init" destroy-method="destory"> <property name="brand" value="Audi"></property></bean>

public static void main(String[] args) {    // TODO Auto-generated method stub    ClassPathnew  ClassPath);    Car car = (Car) ctx.getBean("car");    System.out.println(car);    ctx.close();               //测试方法

 

 

结果:

car's constructor
setBrand
car's init
com.process.Car@3a8624

car's destory           //这就是整个生命周期的流程




希腊旅游哪里好玩呢希腊旅游签证怎么办理希腊旅游去哪好希腊旅游团报价优惠希腊蜜月旅游行程参考九道谷漂流买2送1是真的吗?三水九道谷漂流近期活动介绍? 2015九道谷漂流教师节活动?佛山三水九道谷漂流教师节有什么优惠? 中秋节到九道谷漂流有什么优惠活动?佛山三水九道谷漂流优惠政策? 2015九道谷漂流中秋节活动?佛山九道谷漂流中秋节门票多少钱? 河源连平新河漂流地址?新河漂流自驾游攻略? 新河漂流团购票价?连平新河漂流多少人可以团购? 曲江百丈崖峡谷漂流怎么样?韶关曲江百丈崖峡谷漂流刺激吗? 曲江百丈崖旅游攻略?韶关曲江百丈崖门票含漂流吗? 昆明青龙峡 让你告别宅神投身自然 佛冈观音山王山寺团购价格?观音山王山寺门票团购多少钱? 佛冈观音山王山寺旅游攻略?观音山王山寺网上可以预订吗? 佛山观音山王山寺线路?观音山王山寺开车去怎么走? 印度大吉岭红茶(印度红茶) 印度木雕菩萨 印度的传统节日及日期? 印度游记随笔 ISL9011AIRKJZ-T Datasheet ISL9011AIRKJZ-T Datasheet ISL97656IRTZ-T Datasheet ISL97656IRTZ-T Datasheet ISL9011AIRKNZ-T Datasheet ISL9011AIRKNZ-T Datasheet 盘锦出发港澳旅游 盘锦出发港澳旅游 盘锦出发港澳旅游 重庆出发港澳游 重庆出发港澳游 重庆出发港澳游 四平出发到香港游 四平出发到香港游 四平出发到香港游