spring使用JavaConfig进行配置的方法

JavaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的。JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由程序员使用 Java 自己编写的 Java 类。

实体类:

package com.lzl.spring.entity;

public class Car {
	private String brand;//品牌
	private String type;//型号
	private double speed;//最大时速
	public Car() {
	}
	public Car(String brand, String type, double speed) {
		this.brand = brand;
		this.type = type;
		this.speed = speed;
	}
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public double getSpeed() {
		return speed;
	}
	public void setSpeed(double speed) {
		this.speed = speed;
	}
	@Override
	public String toString() {
		return "Car [brand=" + brand + ", type=" + type + ", speed=" + speed + "]";
	}
}
package com.lzl.spring.entity;

public class Person {
	private Integer id;
	private String name;
	private Car car;

	public Person(Integer id, String name) {
		this.id = id;
		this.name = name;
	}
	public Person() {
	}
	public Person(Integer id, String name, Car car) {
		this.id = id;
		this.name = name;
		this.car = car;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Car getCar() {
		return car;
	}
	public void setCar(Car car) {
		this.car = car;
	}
	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", car=" + car + "]";
	}
}

定义 JavaConfig  类 对于一个 POJO 类,在类上使用@Configuration 注解,将会使当前类作为一个 Spring 的容器来使用,用于完成 Bean 的创建。在该 JavaConfig 的方法上使用@Bean,将会使一个普通方法所返回的结果变为指定名称的 Bean 实例。

package com.lzl.spring.entity;

import org.springframework.beans.factory.annotation.Autowire;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

//该注解表示这个类为javaConfig类
@Configuration
public class MyConfig {
	//该注解表示:向容器中注册一个叫做myCar的对象
	@Bean("myCar")
	public Car getCar() {
		return new Car("保时捷","911",300);
	}
	//该注解表示:向容器中注册一个叫做person的对象
	//并且通过byType的方式注入car
	@Bean(name="person",autowire=Autowire.BY_TYPE)
	public Person getPerson() {
		return new Person(1001,"望穿秋水见伊人");
	}
}

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:context="http://www.springframework.org/schema/context"
	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
    ">

	<context:component-scan base-package="com.lzl.spring" />

</beans>

测试类

package com.lzl.spring.test;

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

import com.lzl.spring.entity.Car;
import com.lzl.spring.entity.Person;

public class SpringTest {
	@Test
	public void test1() {
		//读取配置文件
        ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-config.xml");
        Car car = ctx.getBean("myCar", Car.class);
        System.out.println(car);
        Person person = ctx.getBean("person", Person.class);
        System.out.println(person);
	}
}

控制台输出

到此这篇关于spring使用JavaConfig进行配置的文章就介绍到这了,更多相关spring JavaConfig配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 一文搞懂Spring中的JavaConfig

    目录 配置类 注册组件 扫描包配置 事务注解驱动 单元测试加载配置类 properties配置文件加载(了解) aspectj注解开关 传统spring一般都是基于xml配置的,不过后来新增了许多JavaConfig的注解.特别是springboot,基本都是清一色的java config,不了解一下,还真是不适应.这里给大家普及下Spring中的JavaConfig知识. 什么是JavaConfig.通过注解和配置类完成Spring的相关配置 Spring配置都做了什么? 注册组件.其他配置(

  • 详解Spring中的JavaConfig注解

    前言 大家都知道传统spring一般都是基于xml配置的,不过后来新增了许多JavaConfig的注解.特别是springboot,基本都是清一色的java config,不了解一下,还真是不适应.这里备注一下. @RestController spring4为了更方便的支持restfull应用的开发,新增了RestController的注解,比Controller注解多的功能就是给底下的RequestMapping方法默认都加上ResponseBody注解,省得自己再去每个去添加该注解. @C

  • Spring实战之XML与JavaConfig的混合配置详解

    前言 之前提到了关于Spring的显示配置方式有两种,一种是基于XML配置,一种是基于JavaConfig的方式配置.对于这两种配置方式并不是互斥关系,相反,他们两能够相互融合,有效的搭配完成Spring的bean注入. 这里分别介绍如何在JavaConfig中引用XML配置的bean以及如何在XML配置中引用JavaConfig.下面话不多说,来一起看看详细的介绍吧. 一.JavaConfig中引用XML配置的bean 上篇我们看到配置类CDPlayerConfig具体代码如下 @Config

  • Spring 使用JavaConfig实现配置的方法步骤

    不使用Spring的XML配置,全权交给java来做! JavaConfig是Spring的一个子项目,在Spring4之后,它称为了Spring的核心功能! 实体类: package com.lrx.poji; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; //说明这个类被Spring注册到了容器中 @Component pu

  • spring基础系列之JavaConfig配置详解

    早以前,Spring推荐使用XML的方式来定义Bean及Bean之间的装配规则,但是在Spring3之后,Spring提出的强大的JavaConfig这种类型安全的Bean装配方式,它基于Java代码的灵活性,使得装配的过程也变得及其灵活. 使用JavaConfig来装配Bean拥有其自己的一套规则,我们在这里来看一看: 1.规则 规则一:@Configuration注解 我们在定义JavaConfig类时,都会在其上加注@Configuration注解,来表明这是一个配置类,@Configur

  • 使用Spring开启@Async异步方式(javaconfig配置)

    目录 Spring开启@Async异步(javaconfig配置) 应用场景 创建AsyncTask 创建spring配置AppConfig 测试 Spring @Async Demo Spring开启@Async异步(javaconfig配置) 在Spring中,基于@Async标注的方法,称之为异步方法:这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作. 应用场景 某些耗时较长的而用户不需要等待该方法的处理结果 某些耗时较长的方法,后面的程序不需要

  • spring使用JavaConfig进行配置的方法

    JavaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的.JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由程序员使用 Java 自己编写的 Java 类. 实体类: package com.lzl.spring.entity; public class Car { private String brand;//品牌 private String type;//

  • spring+Jpa多数据源配置的方法示例

    今天临下班时遇到了一个需求,我的管理平台需要从不同的数据库中获取数据信息,这就需要进行Spring的多数据源配置,对于这种配置,第一次永远都是痛苦的,不过经历了这次的折磨,今后肯定会对这种配置印象深刻.我们这里简单回顾一下流程. 我们配置了两个数据库,一个是公司的数据库,另一个是我本地的一个数据库.首先是application.yml的配置(其中对于公司的数据库我们采取了假的地址,而本机的数据库是真是存在对应的表和库的) 数据库信息: 数据表信息: 1.application.yml datas

  • Spring @Configuration注解及配置方法

    Spring @Configuration注解 Spring3.0开始,@Configuration用于定义配置类,定义的配置类可以替换xml文件,一般和@Bean注解联合使用. @Configuration注解主要标注在某个类上,相当于xml配置文件中的<beans> @Bean注解主要标注在某个方法上,相当于xml配置文件中的<bean> 等价于 注意:@Configuration注解的配置类有如下要求: @Configuration不可以是final类型: @Configur

  • Spring Boot 与 mybatis配置方法

    1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spring Boot 启动父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.1.RELEASE</version> </

  • Spring Boot中自动化配置的利弊以及解决方法

    本文主要给大家介绍了关于Spring Boot自动化配置的利弊及解决方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Spring Boot中的双刃剑:自动化配置 在之前的文章中,我们通过各种功能性示例体验了Spring Boot的自动化配置给我们所带来的超便利的新开发方式.但是,在一些情况下Spring Boot的自动化配置也会给我们惹来不少的麻烦,比如这些场景: 项目依赖复杂的情况下,由于依赖方的依赖组织不够严格,可能引入了一些实际我们不需要的依赖,从而导致我们

  • Spring集成Quartz的简单配置的方法

    不过在实际的工作中,很少会直接用到它.通常都是用的spring-quartz组件,直接通过配置,让spring框架来自动装配 如下就是spring框架集成quartz组件,配置定时任务的方法 1. Maven依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.0

  • Spring Boot使用yml格式进行配置的方法

    1.yml 格式 现在大家发现,在springboot里还是要用到配置文件的. 除了使用.properties外,springboot还支持 yml格式. 个人觉得yml格式的可读性和..properties比起来差不多,有时候还没有不如properties 看起来那么规整. 但是考虑到很多springboot项目会使用yml格式,还是简单讲讲,主要目的还是为了读懂其他人的项目. 2.同样内容,不同写法 如图所示,左边是application.properties的写法,右边是applicati

  • Spring Boot非Web项目运行配置的方法教程

    现在有一个非web项目: 比如一个kafka的消费端, 监听某个消息topic, 并处理对应的消息通过其他api发送通知或者短信给相关人员. 这时候想使用Spring Boot运行, 但又不需要依赖web, tomcat, jdbc这些 依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId>

  • Spring Boot配置元数据方法教程

    这篇文章主要介绍了Spring Boot配置元数据方法教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean上是非常有用的.但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Processor和 关联的 JSON 元数据文件,该 JSON 文档记录每个属性的含义.约束等. 配置元数据 作为开发人员

随机推荐