【spring】spel表达式

格式:

#{ }

简单使用实例

一、DButil.java

代码实现:

package springboottest.ioc.speltest;

public class DBUtil {
	private UserService us;

	public UserService getUs() {
		return us;
	}

	public void setUs(UserService us) {
		this.us = us;
	} 
	
}

二、UserService.java

代码实现:

package springboottest.ioc.speltest;

public class UserService {
	
}

三、配置文件

代码实现:

	<bean id="userService" class="springboottest.ioc.speltest.UserService"></bean>
	
	<bean id="DBUtil" class="springboottest.ioc.speltest.DBUtil">
		<property name="us" value="#{userService}"></property>
	</bean>

总结:

可以看到我们在使用自定义类时不用再使用ref引用,和基本类型一样使用value即可

注:这只是一个小例子,其中的调用框架错误的。

通过spel引用对象中的属性

一、constant.java

代码实现:

package springboottest.ioc.speltest;

public class Constant {
	public String ENCODING = "utf-8";
}

二、DBUtil.java

代码实现:

package springboottest.ioc.speltest;

public class DBUtil {
	private String constant;

	public String getConstant() {
		return constant;
	}

	public void setConstant(String constant) {
		this.constant = constant;
	}
	
	public void printConstant() {
		System.out.println("=======>" + constant);
	}
}

三、配置文件

	<bean id="constant" class="springboottest.ioc.speltest.Constant"></bean>
	<bean id="dbutil" class="springboottest.ioc.speltest.DBUtil">
		<property name="constant" value="#{constant.ENCODING}"></property>
	</bean>

通过spel调用方法

一、constant.java

代码实现:

public class Constant {
	public String ENCODING = "utf-8";
	
	public String getNumber() {
		return "2354";
	}
}

二、DBUtil.java

代码实现:

package springboottest.ioc.speltest;

public class DBUtil {
	private String constant;
	
	private String number;

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}

	public String getConstant() {
		return constant;
	}

	public void setConstant(String constant) {
		this.constant = constant;
	}
	
	public void printConstant() {
		System.out.println("=======>" + constant);
	}
	
	public void printNumber() {
		System.out.println("======>" + number);
	}
}

三、配置文件

代码实现:

	<bean id="constant" class="springboottest.ioc.speltest.Constant"></bean>
	<bean id="dbutil" class="springboottest.ioc.speltest.DBUtil">
		<property name="number" value="#{constant.getNumber()}"></property>
	</bean>
发布了128 篇原创文章 · 获赞 37 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/tyrant_forever/article/details/102904930