zoukankan      html  css  js  c++  java
  • 注解与依赖注入

    1.Product

    package com.how2java.pojo;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import javax.annotation.Resource;
    import org.springframework.stereotype.*;
    @Component("p")
    public class Product {
        private int id;
        private String name="product 1";
     //   @Autowired
        @Resource(name="c")
        private Category category;
        public int getId(){
            return id;
        }
        public void setId(int id){
            this.id= id;
        }
        public String getName(){
            return name;
        }
        
        public void setName(String name){
            this.name=name;
        }
        public Category getCategory(){
            return category;
        }
    //    @Autowired
        public void setCategory(Category category){
            this.category=category;
        }
    }

    2.Category

    package com.how2java.pojo;
    
    import org.springframework.stereotype.*;
    
    @Component("c")
    public class Category {
     
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        private int id;
        private String name="category 1";
    }

    3. applicationContext.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:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
       http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/context      
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">
     <context:component-scan base-package="com.how2java.pojo"/>

    <!-- <context:annotation-config/>
    <bean name="c" class="com.how2java.pojo.Category">
    <property name="name" value="category 1" />
    </bean>
    <bean name="p" class="com.how2java.pojo.Product">
    <property name="name" value="product1" />    
    <property name="category" ref="c" />    // 从Bean库里面把 c 调出来给Product的category用,这个就是注入
    </bean> -->

    </beans>

    4. test case

    package com.how2java.test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import com.how2java.pojo.Product;
    public class Test2 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml" });
            Product p = (Product) context.getBean("p");
            System.out.println(p.getName());
            System.out.println(p.getCategory().getName());
            
    
        }
    
    }

    --------------------------------------------方法二、分割线-------------------------------------------------------------------------------------

    package com.how2java.pojo;
    
    import org.springframework.stereotype.*;
    
    //@Component("c")
    public class Category {
     
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        private int id;
        private String name="category 1";
    }
    
    
    
    package com.how2java.pojo;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import javax.annotation.Resource;
    import org.springframework.stereotype.*;
    //@Component("p")
    public class Product {
        private int id;
        private String name="product 1";
    //    @Autowired
    //    @Resource(name="c")
        private Category category;
        public int getId(){
            return id;
        }
        public void setId(int id){
            this.id= id;
        }
        public String getName(){
            return name;
        }
        
        public void setName(String name){
            this.name=name;
        }
        public Category getCategory(){
            return category;
        }
    //    @Autowired
        public void setCategory(Category category){
            this.category=category;
        }
    }
    -----------------------------.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:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
       http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/tx 
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/context      
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">
     <bean name="c" class="com.how2java.pojo.Category">
            <property name="name" value="category " />
            <property name="id" value="1"/>
        </bean>
    
     <bean name="p" class="com.how2java.pojo.Product">
        <property name="name" value="category " />
            <property name="id" value="2" />
        </bean>
    </beans>
    
    ---------------------------------test--------------------------
    package com.how2java.test;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.how2java.pojo.Category;
    import com.how2java.pojo.Category1;
    public class TestSpring {
    
        public static void main(String[] args) {
            ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationContext.xml" });
    
            Category ef = (Category) context.getBean("c");
            Category1 d = (Category1) context.getBean("d");
            System.out.println(ef.getName());
            System.out.println(ef.getId());
            System.out.println(d.getId());
        }
    }

    -------------------------------------------------------------待续-------------------------------------------------------

     

  • 相关阅读:
    汇编笔记
    PHP笔记——SOAP
    Eclipse 插件资源地址记录
    使用SetWindowLong修改窗口样式
    C++ builder 剪贴板Clipboard使用
    c++ builder 实现右键选择节点实现方式
    c++ builder 使listview获得焦点并选择第一个节点
    c++ builder 2009 启用codeguard 检测内存泄漏
    c++ builder 2009如何生成独立运行exe
    WPF编程学习——样式
  • 原文地址:https://www.cnblogs.com/iloverain/p/7852051.html
Copyright © 2011-2022 走看看