iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >spring使用JavaConfig进行配置的方法
  • 522
分享到

spring使用JavaConfig进行配置的方法

2024-04-02 19:04:59 522人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

JavaConfig,是在 spring 3.0 开始从一个独立的项目并入到 Spring 中的。JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件

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配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: spring使用JavaConfig进行配置的方法

本文链接: https://www.lsjlt.com/news/135495.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作