首页 > 代码库 > Spring4-EL表达式的运算符使用

Spring4-EL表达式的运算符使用

1.创建Maven项目,项目名称springdemo46,如图所示

技术分享


2.配置Maven,修改项目中的pom.xml文件,修改内容如下

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>1.0.0</modelVersion>
  <groupId>shequ</groupId>
  <artifactId>springdemo13</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <properties>
  	<java.version>1.7</java.version>
  	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
  
  <repositories>
  	<repository>
  		<id>codelds</id>
  		<url>https://code.lds.org/nexus/content/groups/main-repo</url>
  	</repository>
  </repositories>
  
  <dependencies>
  	<dependency>
  		<groupId>javax.annotation</groupId>
  		<artifactId>jsr250-api</artifactId>
  		<version>1.0</version>
  	</dependency>
  	
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-test</artifactId>
  		<version>4.1.4.RELEASE</version>
  	</dependency>
  	
  	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.10</version>
  	</dependency>
  	
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
  		<version>4.1.4.RELEASE</version>
  	</dependency>
  	
  	<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.1.4.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.1.4.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.34</version>
    </dependency>
       
  </dependencies>
  <build/>
</project>


3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示

技术分享


4.实体Bean Forum的内容如下

package com.mycompany.shequ.bean;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("forumBean")
public class Forum {
	
	private boolean equal;
	
	private boolean notEqual;
	
	private boolean lessThan;
	
	private boolean lessThanOrEqual;
	
	private boolean greaterThan;
	
	private boolean greaterThanOrEqual;
	
	private boolean and;
	
	private boolean or;
	
	private boolean not;
	
	private double add;
	
	private String addString;
	
	private double subtraction;

	private double multiplication;
	
	private double division;
	
	private double modulus ;
	
	private double exponentialPower;
	
	public boolean isEqual() {
		return equal;
	}

	@Value("#{2 == 2}")
	public void setEqual(boolean equal) {
		this.equal = equal;
	}

	public boolean isNotEqual() {
		return notEqual;
	}

	@Value("#{1 != 1}")
	public void setNotEqual(boolean notEqual) {
		this.notEqual = notEqual;
	}

	public boolean isLessThan() {
		return lessThan;
	}

	@Value("#{1 < 2}")
	public void setLessThan(boolean lessThan) {
		this.lessThan = lessThan;
	}

	public boolean isLessThanOrEqual() {
		return lessThanOrEqual;
	}

	@Value("#{1 <= 1}")
	public void setLessThanOrEqual(boolean lessThanOrEqual) {
		this.lessThanOrEqual = lessThanOrEqual;
	}

	public boolean isGreaterThan() {
		return greaterThan;
	}

	@Value("#{1 > 0}")
	public void setGreaterThan(boolean greaterThan) {
		this.greaterThan = greaterThan;
	}

	public boolean isGreaterThanOrEqual() {
		return greaterThanOrEqual;
	}

	@Value("#{1 >= 1}")
	public void setGreaterThanOrEqual(boolean greaterThanOrEqual) {
		this.greaterThanOrEqual = greaterThanOrEqual;
	}

	public boolean isAnd() {
		return and;
	}

	@Value("#{1 == 1 and 1 < 10}")
	public void setAnd(boolean and) {
		this.and = and;
	}

	public boolean isOr() {
		return or;
	}

	@Value("#{1 == 1 or 1 < 100}")
	public void setOr(boolean or) {
		this.or = or;
	}

	public boolean isNot() {
		return not;
	}

	@Value("#{!(1 == 999)}")
	public void setNot(boolean not) {
		this.not = not;
	}

	public double getAdd() {
		return add;
	}

	@Value("#{1 + 1}")
	public void setAdd(double add) {
		this.add = add;
	}

	public String getAddString() {
		return addString;
	}

	@Value("#{‘1‘ + ‘-‘ + ‘1‘}")
	public void setAddString(String addString) {
		this.addString = addString;
	}

	public double getSubtraction() {
		return subtraction;
	}

	@Value("#{1 - 1}")
	public void setSubtraction(double subtraction) {
		this.subtraction = subtraction;
	}

	public double getMultiplication() {
		return multiplication;
	}

	@Value("#{1 * 2}")
	public void setMultiplication(double multiplication) {
		this.multiplication = multiplication;
	}

	public double getDivision() {
		return division;
	}

	@Value("#{10 / 2}")
	public void setDivision(double division) {
		this.division = division;
	}

	public double getModulus() {
		return modulus;
	}

	@Value("#{10 % 2}")
	public void setModulus(double modulus) {
		this.modulus = modulus;
	}

	public double getExponentialPower() {
		return exponentialPower;
	}

	@Value("#{2 ^ 3}")
	public void setExponentialPower(double exponentialPower) {
		this.exponentialPower = exponentialPower;
	}
}


5.在src/main/resource下创建核心的配置文件applicationContext.xml,如图所示

技术分享


6.核心的配置文件applicationContext.xml的内容如下

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
	http://www.springframework.org/schema/util
	http://www.springframework.org/schema/util/spring-util-4.0.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	
	<context:component-scan base-package="com.mycompany.shequ.bean"/>

</beans>


7.在src/test/java下创建测试文件AppTest,包名(com.mycompany.shequ.test)如图所示

技术分享


8.测试文件AppTest的内容如下

package com.mycompany.shequ.test;

import org.junit.Test;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.mycompany.shequ.bean.Forum;


public class AppTest {
	
	@Test
	public void beanTest(){
	    ConfigurableApplicationContext context = new 
	    ClassPathXmlApplicationContext("applicationContext.xml");
		Forum forum = (Forum) context.getBean("forumBean");
		System.out.println(forum.getAdd());
		System.out.println(forum.getAddString());
		//其他的值请自行输出查看
	}
}	


9.在测试类AppTest的beanTest方法上右键运行,输出结果如图所示

技术分享

技术分享

本文出自 “素颜” 博客,谢绝转载!

Spring4-EL表达式的运算符使用