728x90
Main(import 사용)(Config Bean생성)
package com.example;
import java.util.List;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Import;
import com.config.JavaConfig;
import com.service.DBService;
@SpringBootApplication
@Import(value = JavaConfig.class) //import, 자동 실행+자동 Bean 등록(서브 패키지가 다른 경우, import가 필요함)
public class Sample01BeanApplication {
public static void main(String[] args) {
//SpringApplication.run(Sample01BeanApplication.class, args);
//JavaConfig를 이용한 명시적 Bean 생성 후 getBean
//@Import(value = JavaConfig.class) 필요
ApplicationContext ctx = SpringApplication.run(Sample01BeanApplication.class, args);
DBService service = ctx.getBean("myService", DBService.class);
List<String> list = service.getList();
System.out.println(list);
}
}
Main(componentScan)(@Service)
package com.example;
import java.util.List;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Service;
import com.service.DBService;
@SpringBootApplication
@ComponentScan("com.*") //패키지가 다른 경우, 명시적으로 component-scan이 필요
public class Sample {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Sample.class, args);
DBService service = (DBService) ctx.getBean("myService"); //DBService에서 @Service까지만 입력하면 함수이름으로 출력 가능
List<String> list = service.getList();
System.out.println(list);
}
}
Main(scanBasePakages)(@Service)
package com.example;
import java.util.List;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Service;
import com.service.DBService;
@SpringBootApplication(scanBasePackages = "com.*") //이하와 동일 역할
//@SpringBootApplication
//@ComponentScan("com.*") //패키지가 다른 경우, 명시적으로 component-scan이 필요
public class Sample {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Sample.class, args);
DBService service = (DBService) ctx.getBean("myService"); //DBService에서 @Service까지만 입력하면 함수이름으로 출력 가능
List<String> list = service.getList();
System.out.println(list);
}
}
'단순 코드 기록 > Spring Boot' 카테고리의 다른 글
SB_Properties(@Values) (0) | 2024.02.26 |
---|---|
SB_JavaConfig와 Component-Scan (0) | 2024.02.26 |
SB_로그 환경 설정 (0) | 2024.02.21 |