前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >注解与依赖注入

注解与依赖注入

作者头像
互联网金融打杂
发布2018-04-03 14:35:33
4840
发布2018-04-03 14:35:33
举报

1.Product

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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"/>

4. test case

代码语言:javascript
复制
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());
        

    }

}

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

代码语言:javascript
复制
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());
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档