[SPRING] Spring Framework 애플리케이션에서 Beans.xml 설정 파일 사용에 관하여
SPRINGSpring Framework 애플리케이션에서 Beans.xml 설정 파일 사용에 관하여
봄 MVC를 공부하고 있습니다. 오늘 JDBC DAO를 구현하는 방법을 이해하려고 노력하면서 Spring (Spring MVC가 아닌)에서이 "Hello World"를 발견하고 그것을 보려고합니다. (DAO를 실현하기 위해서는 분리 된 Spring 데이터에 대한 액세스를 실행하는 프로젝트 ...)
http://www.tutorialspoint.com/spring/spring_hello_world_example.htm
OK, 이것은 독립 실행 형 응용 프로그램이며 웹 응용 프로그램이 아니므로 웹 응용 프로그램 구조 (WEB-INF 폴더, web.xml 파일 및 웹 응용 프로그램에있는 디스패처 서블릿 구성 파일)가 없습니다.
이 예제에서는 Beans.xml 구성 파일을 사용하여 고유 한 ID를 다른 bean에 할당하고 Spring 소스 파일에 영향을주지 않고 다른 값으로 객체를 만드는 것을 제어합니다 ...
예를 들어이 예제에서 Beans.xml 파일을 사용하여 "message"변수에 "Hello World"메시지 값을 전달하므로 HelloWorld.java 및 MainApp.java 파일에 영향을주지 않고이 값을 인쇄 할 수 있습니다
<?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-3.0.xsd">
<bean id="helloWorld" class="com.tutorialspoint.HelloWorld">
<property name="message" value="Hello World!"/>
</bean>
</beans>
그래서 그것에 대해 당신에게 몇 가지 질문이 있습니다.
해결법
-
==============================
1.1)이 Beans.xml (실제로 원하는 이름으로 지정할 수 있음)은 Spring 구성 파일입니다. 구성 메타 데이터를 보유합니다.
1)이 Beans.xml (실제로 원하는 이름으로 지정할 수 있음)은 Spring 구성 파일입니다. 구성 메타 데이터를 보유합니다.
공식 Spring 문서에서 :
구성 메타 데이터는 전통적으로 간단하고 직관적 인 XML 형식으로 제공되지만 구성 메타 데이터의 유일한 허용 형식은 아닙니다 (두 번째 질문에 대한 답변 참조)
그리고 네, 맞습니다 : 다른 빈을 참조로 삽입 할 수 있습니다.
공식 Spring 문서에서 :
공식 문서에서 다른 빈에 대한 참조를 사용하는 간단한 예 :
<?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="exampleBean" class="examples.ExampleBean"> <!-- setter injection using the nested <ref/> element --> <property name="beanOne"> <ref bean="anotherExampleBean"/> </property> <!-- setter injection using the neater 'ref' attribute --> <property name="beanTwo" ref="yetAnotherBean"/> <property name="integerProperty" value="1"/> </bean> <bean id="anotherExampleBean" class="examples.AnotherBean"/> <bean id="yetAnotherBean" class="examples.YetAnotherBean"/> </beans>
2) 공식 Spring 문서에서 :
또한 이것을 읽으십시오 : XML이없는 스프링 : 스프링 애노테이션과 스프링 XML 파일의 차이점
-
==============================
2.나는 / src / main / resources / 폴더를 만들고이 beans.xml 파일을 거기에 위치시켰다 :
나는 / src / main / resources / 폴더를 만들고이 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-4.3.xsd"> <bean id="employee" class="HelloSpring.Employee"> <property name="name" value="test spring"></property> </bean> </beans>
그것은 효과가있다!
나는 다음과 같이 그것을 액세스했다 :
package HelloSpring; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Customer { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("./beans.xml"); Employee obj = (Employee) ctx.getBean("employee"); obj.displayName(); } }
from https://stackoverflow.com/questions/14419123/about-the-use-of-beans-xml-configuration-file-in-spring-framework-application by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 웹 애플리케이션 상태 점검 (0) | 2019.03.17 |
---|---|
[SPRING] 여러 트랜잭션 관리자를 단일 트랜잭션으로 처리 (0) | 2019.03.17 |
[SPRING] 스프링 보안의 수동 인증 로직은 어디로 가야합니까? - 서비스 계층 또는 프리젠 테이션 계층? (0) | 2019.03.17 |
[SPRING] Jersey 2와 Spring을 Java 기반 구성과 통합 (0) | 2019.03.17 |
[SPRING] 스프링 부트 : PasswordEncoder를 지정하는 방법 (0) | 2019.03.17 |