com.java.www
package com.java.www;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class MainClass {
public static void main(String[] args) {
//MyCal mycal=new MyCal();
//resource는 classpath형태로 가져올수있음
//AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:beans.xml");
//ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("com/java/www/cal_config.xml");
AbstractApplicationContext ctx= new ClassPathXmlApplicationContext("com/java/www/cal_config.xml");
MyCal mycal=ctx.getBean(MyCal.class);
//"id",class
mycal.add_class();
//add(mycal);
}
public static void add(MyCal mycal) {
int result= mycal.getFirstNum()+mycal.getSecondNum();
System.out.println("결과값:"+result);
}
}
package com.java.www;
import org.springframework.stereotype.Component;
import lombok.AllArgsConstructor; //모든 필드 값을 파라미터로 받는 생성자를 만들어준다.
import lombok.Data; // @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode을
//한꺼번에 설정해주는 매우 유용한 어노테이션
import lombok.NoArgsConstructor;//노테이션은 파라미터가 없는 기본 생성자
@NoArgsConstructor
@AllArgsConstructor
@Data
@Component
//@Component 어노테이션을 이용하면 Bean Configuration 파일에 Bean을 따로 등록하지 않아도 사용할 수 있다.
빈 등록자체를 빈 클래스 자체에다가 할 수 있다는 의미이다.
public class MyCal {
private int firstNum;
private int secondNum;
//@Data < - getter/setter동시
//<context:component-scan base-package="com.java.www" />
public void add_class() {
System.out.println("클래스 add:"+(10+5));
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.java.www" />
</beans>
자주 사용되는 Lombok 어노테이션 - 참고자료