Java+Spring+Bean+注入方式

1、首先准备共享文件
调用方法Client端Client.java:

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Client {
    public static void main(String[] args) {
        //创建容器
        ClassPathXmlApplicationContext cac = new ClassPathXmlApplicationContext("service.xml");
        //获取bean对象
        CustomerServiceImpl cs = (CustomerServiceImpl) cac.getBean("CustomerServiceImpl");
        //调用方法
        cs.saveCustomer();
    }
}

接口文件CustomerService.java:

public interface CustomerService {
    void saveCustomer();
}

2、构造函数方式注入:
Spring配置文件,Service.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="CustomerServiceImpl" class="CustomerServiceImpl">
        <constructor-arg name="name" value="zhangsan"></constructor-arg>
        <constructor-arg name="age" value="3"></constructor-arg>
    </bean>

</beans>

注入bean类文件:CustomerServiceImpl.java

public class CustomerServiceImpl implements CustomerService {
    private String name ;
    private Integer age;

    public CustomerServiceImpl(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public void saveCustomer() {
        System.out.println("CustomerServiceImpl-saveCustomer-" + name + "-" + age);
    }
}

3、set方法注入
Spring配置文件,Service.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="CustomerServiceImpl" class="CustomerServiceImpl">
    <property name="name" value="李四"></property>
    <property name="age" value="10"></property>
</bean>

</beans>

注入bean类文件:CustomerServiceImpl.java:

public class CustomerServiceImpl implements CustomerService {
    private String name ;
    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public void saveCustomer() {
        System.out.println("CustomerServiceImpl-saveCustomer-" + name + "-" + age);
    }
}

原文地址:http://blog.51cto.com/janephp/2163050

时间: 2024-10-08 10:40:43

Java+Spring+Bean+注入方式的相关文章

Spring bean注入方式

Spring bean提供了3中注入方式:属性注入,构造方法注入和 1.属性注入: 1 <bean id="dept" class="com.proc.bean.Dept"> 2 <property name="id" value="2"/> 3 <property name="name" value="信息部"></property> 4

Spring 依赖注入方式详解

阅读目录 1.Set注入 2.构造器注入 3.静态工厂的方法注入 4.实例工厂的方法注入 平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过Spring容器帮我们new指定实例并且将实例注入到需要该对象的类中. 依赖注入的另一种说法是"控制反转".通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员.

浅析 Spring IoC - 注入方式

1. IoC 容器的概念 IoC 容器指 具有依赖注入功能的容器,IoC 容器负责实例化.定位.配置应用程序中的对象及建立这些对象间的依赖.应用程序无需直接在代码中 new 相关对象,而是由 IoC 容器进行组装.在Spring 中 BeanFactory 是 IoC 容器的实际代表者. Spring IoC 容器通过读取配置文件中配置元数据,通过元数据对用中的各个对象进行实例化及装配.一般使用基于 xml 配置文件进行配置元数据,而且 spring 与 配置文件 完全解耦,可以使用其他方式进行

Spring Bean 注册方式小结

IOC容器 Spring的核心是一个IOC容器,管理着我们向容器注册的所有bean.下面我们来看下两种向容器注册bean的方式, 通过BeanDefinitionReader读取Spring Bean的配置文件,解析然后注册: 通过ClassPathBeanDefinitionScanner直接扫描带有Spring Bean注解的Java类并注册: Reader BeanDefinitionReader的使用方式如下, import org.springframework.beans.facto

Spring IOC 注入方式

依赖注入通常有如下两种方式: ①设值注入:IOC容器使用属性的Setter方法来注入被依赖的实例. 设值注入是指IOC容器使用属性的Setter方法来注入被依赖的实例.这种注入方式简单.直观,因而在Spring的依赖注入里大量使用. ②构造注入:IOC容器使用构造器来注入被依赖的实例. 构造注入在构造实例时,已经为其完成了依赖关系的初始化.这种利用构造器来设置依赖关系的方式,被称之为构造注入. Spring推荐面向接口编程,可以更好的让规范和实现分离,从而提供更好的解耦. 对于一个JAVAEE应

Spring Bean注入/单例理解/循环依赖

理解循环依赖问题,首先明白spring有四种注入方式. 第一种,SET注入a类中持有b类的引用,并且a类有b的set方法.在bean中添加<property>标签即可注入.实质上是将b实例化,然后调用set方法注入. <bean id="a" class="com.qunar.pojo.StudentA" scope="singleton"> <property name="studentB" r

spring+cxf 开发webService(主要是记录遇到spring bean注入不进来的解决方法)

这里不介绍原理,只是记录自己spring+cxf的开发过程和遇到的问题 场景:第三方公司需要调用我们的业务系统,以xml报文的形式传递数据,之后我们解析报文存储到我们数据库生成业务单据: WebService的框架由多种,这里选cxf,与Spring的集成比较好: 直接看代码 1 项目用的maven,首先添加依赖(这个依赖啊  ,教程引用几个的都有,这个看需要吧,我是用了四个) <dependency> <groupId>org.apache.cxf</groupId>

spring bean实例化方式

spring提供三种实例化方式:默认构造.静态工厂.实例工厂 一.默认(无参)构造:就是经常使用的方式,xml-><bean id="" class=""></bean> 二.静态工厂:工厂工具类,提供的方法都是static静态的 1.沿用上一个工程,基本结构如下: 2.新建CategoryService类 package hjp.spring.staticinstance; public class CategoryService {

Java Spring Bean相关配置

1.Bean配置信息组成部分: (1)Bean实现类 (2)Bean的属性信息 (3)Bean的依赖关系 (4)Bean的行为配置 2.配置方式: (1)XML配置 (2)注解配置 (3)Java类配置 (4)Groovy动态语言配置 3.不同配置方式比较 2018-04-15 原文地址:https://www.cnblogs.com/Johar/p/8837758.html