Spring:bean 주입--Set 방법 주입
1.빈 maven 항목 을 새로 만 듭 니 다.
2.가 져 오기 의존
properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- java -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<!-- -->
<spring.version>5.3.1</spring.version>
<lombok.version>1.18.20</lombok.version>
<junit.version>4.12</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
3.프로젝트 구조4.새 가방 com.crush.pojo
5.새로운 Java 클래스 학생
@Data // set、get
@AllArgsConstructor //
@NoArgsConstructor //
public class Student {
/**
*
*/
private Long number;
/**
*
*/
private String name;
/**
*
*/
private String school;
}
resource 에서 beans.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">
<!-- set
1、 set
2、 singleton
-->
<bean id="student" class="com.crush.pojo.Student" scope="singleton">
<!-- -->
<property name="number">
<value>1</value>
</property>
<property name="name" value="wyh"/>
<property name="school" value="hngy"/>
</bean>
<!-- id applicationContext.getBean("【bean-id】", Student.class);
id
class:Student
bean id : student
-->
<bean id="ssss" class="com.crush.pojo.Student" scope="singleton">
<!-- -->
<property name="number">
<value>1</value>
</property>
<property name="name" value="wyh"/>
<property name="school" value="hngy"/>
</bean>
</beans>
테스트 클래스 를 작성 하 다
public class Test {
/**
* ClassPathXmlApplicationContext Spring ApplicationContext
*/
@org.junit.Test
public void test(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
// ioc Student
Student student = (Student) applicationContext.getBean("student");
// 。
Student student1 = applicationContext.getBean("student", Student.class);
// student.setName("cccc");
System.out.println(student);
System.out.println(student1);
// true
// : Spring 。 , 。
System.out.println(student==student1);
}
/**
* FileSystemXmlApplicationContext Spring ApplicationContext
* Web ApplicationContext
*/
@org.junit.Test
public void test2(){
//
ApplicationContext applicationContext = new FileSystemXmlApplicationContext("src\\main\\resources\\beans.xml");
Student student = applicationContext.getBean("student", Student.class);
System.out.println(student);
}
}
작은 사고왜 새로운 ClassPathXmlApplicationContext("beans.xml");Application Context 로 받 아야 합 니 다.ClassPathXmlApplication Context 로 받 지 않 아 도 됩 니까?
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
설명:인터페이스 프로 그래 밍 을 위 한 사상 에 따 르 면 변 수 는 인터페이스 형식 이 어야 하 며,이 인터페이스의 실현 클래스 의 실례 값 을 이 변수 에 부여 해 야 한다.Application Context 는 인터페이스 이 고 ClassPathXmlApplication Context 는 실현 클래스 입 니 다.그래서 Application Context ac=new ClassPathXmlApplication Context(...)를 보 았 습 니 다.
총결산
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주 실 수 있 기 를 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.