BE전문가 프로젝트
1. Spring 기본 문법(xml을 이용하여 main에 출력(HelloWorld)) 본문
public class Main {
public static void main(String[] args) {
GenericXmlApplicationContext ctx=
new GenericXmlApplicationContext("classpath:applicationcontext.xml");
}
}
Applicationcontext를 xml에서 사용하기 때문에 GenericXmlApplicationContext를 사용한다
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.12</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
lombok을 사용하기위해서는 반드시 maven의 metadata를 가지고 있는 pom.xml에 lombok라이브러리를 가져와 maven install을 한다.
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Student {
private String name;
private int age;
private double height;
}
이전과는 다르게 lobok을 이용하여 get, set, ToString메소드를 따로 생성하지 않아도 annotation을 통해 사용이 가능하며 @AllArgsConstructor를 통해 모든 필드를 순서에 따라 파라미터로 받는 메소드를 생성해준다.
이전과의 또 다른 차이점은 개발자가 직접 값을 주입해야만 했지만 Spring에서는 Spring이라는 container가 값을 주입해주는 방식을 이용한다. 값을 주입하기위해서는 메타설정파일이 필요하며 방법에는 xml을 이용한 방법, Annotation을 이용하는 방법이 존재한다.
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="chulsu" class="com.example.Student" >
<constructor-arg name="name" value="김철수" />
<constructor-arg name="age" value="26" />
<constructor-arg name="height" value="184.2" />
</bean>
</beans>
메인에서 출력
public class Main {
public static void main(String[] args) {
GenericXmlApplicationContext ctx= new GenericXmlApplicationContext("classpath:applicationcontext.xml");
ctx.getBean("chulsu");
}
}
SpringContainer가 관리하는 객체를 Bean이라고 하며 getBean을 통해 bean을 가져올 수 있다. 이 때 getBean의 리턴타입은 Object이기 때문에 무엇이던 bean으로 받아 올 수 있고 Object형이기 때문에 student로 강제 형변환을 해준다.
'Spring 코딩' 카테고리의 다른 글
5. xml과 Annotation을 동시에 이용하여 설정하기(StringDemo4) (0) | 2021.11.22 |
---|---|
4. Setter와 생성자 이용하여 설정하기(Spring Demo2) (0) | 2021.11.21 |
3. xml과 Annotaion을 이용하여 객체를 설정하는 방법(DI Demo, DIDemo2) (0) | 2021.11.11 |
2. Spring 기본 문법(StartSpring) (0) | 2021.11.10 |
Comments