스프링부트 프로젝트 새로 만들기
요고는 라이브러리~
폼으로 직접 안넣어도 알아서 넣어줌!
이렇게 확인 가능쓰~~~~~~~~
Lib
많은 라이브러리에 대한 XML 설정이 필요해서 개발자가 처리해야할 일들이 많아져서 기존 스프링을 통한 개발의 이런 문제점을 해결하기 위해 스프링부트가 탄생한 것!
이 프로그램의 메인은 이거다! 실행해서 그림이 나오면 성공한 것.
프로젝트에 실제로 포함된 라이브러리들
부트 대쉬보드 확인하는 법
대쉬보드를 더블클릭하면 브라우저가 나옴
오토와이어드
@Autowired - 어노테이션
@Autowired 어노테이션을 이용한 간단한 예제를 보여드리겠습니다.
Car 클래스와 Engine 클래스가 있고, Car 클래스가 Engine 클래스에 의존하도록 만들어진 상황입니다.
public class Engine {
public void start() {
System.out.println("Engine started!");
}
}
public class Car {
private Engine engine;
@Autowired
public Car(Engine engine) {
this.engine = engine;
}
public void drive() {
engine.start();
System.out.println("Car is moving!");
}
}
여기서 Car 클래스의 생성자에 @Autowired 어노테이션을 사용하면, 스프링은 Car 빈을 생성할 때 알맞은 타입의 Engine 빈을 찾아서 자동으로 주입합니다.
이렇게 구성된 상황에서 스프링 컨테이너가 빈을 관리하고 있다고 가정하면:
@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig {
// 이 곳에서 스프링 설정을 구성할 수 있음
}
@ComponentScan 어노테이션은 스프링에게 어떤 패키지에서 빈을 찾아야 하는지 알려주는 역할을 합니다.
그러면 스프링 컨테이너는 AppConfig 클래스를 기반으로 설정을 읽어와서 Car와 Engine 빈을 생성하고 의존성을 자동으로 주입할 것입니다.
이후에 Car를 사용하는 코드를 보겠습니다:
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
Car car = context.getBean(Car.class);
car.drive();
}
}
위 코드에서 context.getBean(Car.class)를 호출하면 스프링 컨테이너는 Car 빈을 반환하면서 자동으로 Engine 빈을 주입합니다. 그리고 car.drive()를 호출하면 Engine의 start 메서드가 실행되고 "Car is moving!"이라는 출력이 나올 것입니다.
'백엔드 > 스프링부트' 카테고리의 다른 글
jsp, 스프링부트 간단한 게시판 만들기 (0) | 2023.12.27 |
---|---|
mysql 연동하기 (1) | 2023.12.22 |
스프링부트 배우기 (0) | 2023.12.15 |
강합 결합과 약한 결합 (0) | 2023.12.14 |
스프링 프레임워크와 스프링 부트 (0) | 2023.12.12 |