J2EE之Spring中Bean的作用域、外部属性文件、SpEL

来源:互联网 发布:我国旅游业的新闻数据 编辑:程序博客网 时间:2024/05/21 11:41

J2EE之Spring中Bean的作用域、外部属性文件、SpEL

作用域:

这里写图片描述

代码:
Car.java:

package com.mooc.spring.beans.autowire;public class Car {    private String brand;    private double price;    public String getBrand() {        return brand;    }    public void setBrand(String brand) {        this.brand = brand;    }    public double getPrice() {        return price;    }    public void setPrice(double price) {        this.price = price;    }    @Override    public String toString() {        return "Car [brand=" + brand + ", price=" + price + ", getBrand()=" + getBrand() + ", getPrice()=" + getPrice()                + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()=" + super.toString()                + "]";    }    public Car(){        System.out.println("car' Constructro.....");    }}

main.java:

package com.mooc.spring.beans.scope;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.mooc.spring.beans.autowire.Car;public class main {    public static void main(String[] args) {        ApplicationContext context=new ClassPathXmlApplicationContext("beans-scope.xml");        Car car=(Car) context.getBean("car");        Car car2=(Car) context.getBean("car");        System.out.println(car == car2);    }}

beans-scope.xml:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <!--         使用bean的scope属性来配置bean的作用域        singleton:默认值,容器初始化时创建bean实例,在整个容器生命周期内只创建这么一个bean。单例的        prototype:原型的,容器初始化时不创建bean的实例,而在每次请求时都创建一个新的bean实例并返回     -->    <bean id="car" class="com.mooc.spring.beans.autowire.Car" scope="prototype">        <property name="brand" value="Audi"></property>        <property name="price" value="30000"></property>    </bean></beans>

外部属性文件:

这里写图片描述

代码:
beans-properties.xml:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">    <context:property-placeholder  location="classpath:db.properties"/>    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="user" value="${suer}"></property>        <property name="password" value="${password}"></property>        <property name="driverClass" value="${driverclass}"></property>        <property name="jdbcUrl" value="${jdbcurl}"></property>    </bean></beans>

main.java:

package com.mooc.spring.beans.properties;import java.sql.SQLException;import javax.sql.DataSource;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class main {    public static void main(String[] args) throws SQLException{        ApplicationContext context=new ClassPathXmlApplicationContext("beans-properties.xml");        DataSource dataSource=(DataSource) context.getBean("dataSource");        System.out.println(dataSource.getConnection());    }}

SpEL:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

1 0
原创粉丝点击