• Spring(五)--autowire自动装配和spel


    autowire自动装配和spel

    1。需要的实体类

    2。需要的配置文件

    <?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"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:p="http://www.springframework.org/schema/p"
           xmlns:c="http://www.springframework.org/schema/c"
           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.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd">
    
        <!--自动装配autowire
        01.byName:  spring容器会根据实体类中的属性名称,去寻找有没有bean的id是属性名称的
                    如果有则自动注入    *****
        02.byType: spring容器会根据实体类中的属性的类型,去寻找有没有bean的类型(class)相同的
                    如果有则自动注入
    
         之后使用注解替换autowire
         01.@Resource   *****
         02.@Autowired
        -->
        <!--配置人类bean-->
        <bean id="person" class="com.xdf.Person" autowire="byName">
            <property name="name" value="小黑"/>
            <property name="age" value="13"/>
          <!--  <property name="dog" ref="dog"/>-->
        </bean>
    
        <!--配置Dog对应的bean-->
        <bean id="dog" class="com.xdf.Dog">
            <property name="name" value="小黑狗1"/>
            <property name="age" value="1"/>
        </bean>
        <!--验证 byType  不能出现超过1个的相同类型-->
        <bean id="dog2" class="com.xdf.Dog">
            <property name="name" value="小黑狗2"/>
            <property name="age" value="2"/>
        </bean>
    <!--
       Spring  el 是 spring3.0之后出现的!
    -->
        <bean id="person2" class="com.xdf.Person" autowire="byName">
            <property name="name" value="#{person.name}"/>
            <property name="age" value="#{person.age>15?18:12}"/>
        </bean>
    
    </beans>

    3。测试类

    public class PersonDemo {
    
        @Test
        public  void  test1(){
            ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
            Person person=context.getBean("person",Person.class);
            System.out.println(person);
        }
        @Test
        public  void  test2(){
            ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
            Person person=context.getBean("person2",Person.class);
            System.out.println(person);
        }
    
    
        @Test
        public  void  test3(){
            //创建el表达式对象
            ExpressionParser  parser=new SpelExpressionParser();
            Date  date=new Date();  //获取当前日期的年份
            int year=  parser.parseExpression("year").getValue(date,int.class);
            System.out.println(year+1900);
            //获取int类型最大值
            System.out.println(Integer.MAX_VALUE);
            int max=parser.parseExpression("T(java.lang.Integer).MAX_VALUE").getValue(int.class);
            System.out.println(max);
            //求数字之和
            int sum=parser.parseExpression("1+2+3*5").getValue(int.class);
            System.out.println(sum);
            //逻辑运算符 和 boolean值
           boolean  value  =parser.parseExpression("1>2 or 2<3").getValue(Boolean.class);
            System.out.println(value);
        }
    }

      未完待续!!!

  • 相关阅读:
    AVL自平衡二叉树
    笔试+面试信息整理----面向笔试学习、面向面经编程
    传入值参数&传入引用参数的区别
    NLPIR智能挖掘实现行业大数据应用价值
    NLPIR大数据挖掘融合库、智、理三大先进理论技术
    NLPIR智能语义挖掘文本大数据深层意义
    NLPIR智能语义技术从采集到分析一步到位
    灵玖软件:NLPIR智能挖掘对文本数据精细化分析
    九眼合同智能审核系统运用NLPIR大数据技术进行核查
    NLPIR九眼智能审核平台助合同文本深度核查
  • 原文地址:https://www.cnblogs.com/fl72/p/9634108.html
Copyright © 2020-2023  润新知