[springBoot Part 1] 개념, 생성 및 운영

목차

1. 스프링부트란? springBoot를 배우는 이유

springBoot의 장점: (5점)

장점 1: 빠른 통합 프레임워크

장점 2: 빌트인 Tomcat 컨테이너

장점 3: 프로젝트를 빠르게 배포

장점 4: 적은 구성, 더 많은 주석

 장점 5: 더 많은 모니터링 지표 지원

스프링 부트의 단점

둘째, springBoot 프로젝트 생성

1단계: 새 프로젝트 만들기

2단계: 일부 프레임워크 지원 추가

3단계: 프로젝트 생성 상태 보기 

 4단계: 프로젝트 실행

SpringBoot 프로젝트 구조

시작 클래스와 다른 클래스 간의 관계

3. SpringBoot 구성 파일

3.1 구성 파일의 역할

중요한 정보 저장

코드 결합 감소

3.2 구성 파일의 형식

구성 파일의 분류

구성 파일의 형식

springBoot 구성 규칙(형식? 충돌?)

속성 구성 파일의 구문

구성 파일의 내용을 읽는 방법

속성 단점 분석

yml 구성 파일

yml 구성 파일 설명

yml 기능:

yml 구문

작은따옴표와 큰따옴표의 경우 yml

yml 구성 개체

yml 구성 컬렉션

속성과 yml의 차이점은 무엇입니까(중요)

넷째, 읽을 파일 지정

@PropertySource는 구성 파일을 읽습니다.


1. 스프링부트란? springBoot를 배우는 이유

이전에 스프링을 배울 때 스프링 프레임워크의 탄생이 자바 프로그램의 개발을 단순화 할 수 있다는 것을 배웠습니다 .

springBoot의 번역은 스프링 프레임워크의 스캐폴딩 입니다 .

springBoot의 장점: (5점)

장점 1: 빠른 통합 프레임워크

springBoot는 다양한 프레임워크를 빠르게 통합하기 위한 다양한 시작 종속 기능을 제공합니다 .


장점 2: 빌트인 Tomcat 컨테이너

기본 제공 실행 컨테이너가 있으므로 Tomcat과 같은 추가 웹 컨테이너를 구성할 필요가 없습니다 .

SpringBoot에는 jar 패키지로 패키징된 내장 Tomcat 컨테이너가 있으며 사용이 필요할 때 해당 API가 호출됩니다.


장점 3: 프로젝트를 빠르게 배포

       외부 컨테이너 없이도 프로젝트를 시작하고 실행할 수 있습니다.springBoot 프로젝트가 시작되면 기본 메서드 만 작성 하고 기본 메서드를 실행하면 됩니다.

이전 Servlet 시대에는 스마트 Tomcat 플러그인        도 설치해야 합니다 . 프로젝트를 실행하려면 지루한 통합 및 배포 작업이 필요합니다.


장점 4: 적은 구성, 더 많은 주석

springBoot에는 너무 많은 구성 파일이 필요하지 않으며 redis 또는 mysql에 연결할 때 데이터 소스만 구성하면 됩니다.


 장점 5: 더 많은 모니터링 지표 지원

 이러한 지표를 통해 프로젝트 운영을 더 잘 이해할 수 있습니다. (어떤 콩이 있는지 등)


스프링 부트의 단점

버전 업데이트가 너무 빠르고 다른 버전 간의 모듈 차이가 상대적으로 큽니다.



둘째, springBoot 프로젝트 생성

아이디어 편집기가 프로페셔널 버전인 경우 왼쪽 상단을 클릭하고 New spring initializr 를 직접 선택합니다 .

1단계: 새 프로젝트 만들기


2단계: 일부 프레임워크 지원 추가

3단계: 프로젝트 생성 상태 보기 

성공적으로 생성되었음을 나타내는 시작 클래스를 확인합니다.

 4단계: 프로젝트 실행

시작 클래스의 main 메서드를 실행하고 스프링 로고 출력이 보이면 작업이 성공한 것입니다.


SpringBoot 프로젝트 구조


시작 클래스와 다른 클래스 간의 관계

다른 클래스는 시작 클래스 와 동일한 디렉토리      있어야 합니다 . (즉, 시작 클래스와 동일한 패키지 또는 시작 클래스의 하위 패키지 아래에 있어야 함 ) 다른 클래스를 스캔할 수 있습니다.


3. SpringBoot 구성 파일

3.1 구성 파일의 역할

중요한 정보 저장

전체 프로젝트의 모든 중요한 데이터는 구성 파일 에 기록됩니다 . 예를 들면 다음과 같습니다.

데이터베이스 연결 정보, 프로젝트 시작 포트, 타사 시스템의 로그 정보 등

구성 파일이 없으면 프로젝트에서 데이터베이스에 연결할 수 없습니다 .


코드 결합 감소

데이터베이스 연결과 같은 정보는 Java 코드로 작성하지 말고 구성 파일 에 작성해야 합니다 .

장면 1:

동시에 개발자가 구성 파일의 내용을 수정하는 것도 편리합니다 .

(.java 파일로 작성된 경우 컴파일된 .class 파일 의 경우 읽기 전용 파일 이므로 수정할 수 없습니다 . )

시나리오 2:

운영 및 유지보수 담당자가 프로젝트에 배포해야 하는 서버, 데이터베이스 연결 등을 볼 수 있어 편리합니다.


3.2 구성 파일의 형식

구성 파일의 분류

1. 시스템 구성 파일: 시스템에서 정의한 데이터베이스 연결 문자열 , 로그 관련 구성 등과 같은 파일 .

2. 사용자 정의 구성 파일. 예를 들어, 사용자가 읽고 싶어하는 일부 파일


구성 파일의 형식

일반적으로 두 가지 유형이 있습니다. 하나는 .properties 이고 다른 하나는 .yml 입니다.

그러나 형식에 관계 없이 이름은 application.yml 또는 application.properties 여야 합니다.

springBoot는 시작할 때 기본적으로 application 이라는 구성 파일 만 읽기 때문입니다 .


springBoot 구성 규칙(형식? 충돌?)

       규칙 1: 프로젝트에는 두 개의 구성 파일(하나는 속성, 다른 하나는 yml)이 있을 수 있지만 둘 다 있는 것은 권장되지 않습니다 .

       규칙 2: .properties.yml 구성 파일의 내용이 충돌하는 경우 어떻게 처리합니까? .properties 구성 파일을 읽는 것이 선호됩니다 .


속성 구성 파일의 구문

속성은 키-값 쌍 의 형태로 구성됩니다 .

동시에 속성에서 구성 파일의 내용을 사용자 지정할 수도 있습니다.


구성 파일의 내용을 읽는 방법

@Value 주석을 사용하여 구성 파일의 내용을 읽습니다. 값 다음에 server.port 속성이 옵니다.

/**
 * @author 25043
 */
@Component
public class ReadProperties {

    /**
     * value当中的值为配置文件当中
     * server.port的值
     * 一定要加大括号
     */
    @Value("${server.port}")
    private String port;

    @PostConstruct
    public void postConstruct(){
        System.out.println("yml当中的值:"+port);
    }
}


속성 단점 분석

일부 키의 경우 많은 중복 콘텐츠가 있습니다.

여러 개의 키가 동일한 부분을 갖는 경우 동일한 부분을 하나씩 나열 해야 하므로 중복됩니다.


yml 구성 파일

yml 구성 파일 설명

Yml은 YAML의 약어이며 전체 이름은 "Yet another Markup Language"입니다. yml은 데이터 직렬화를 표현하기 위한 읽기 쉽고 이해하기 쉬운 형식입니다.

가장 큰 장점은 교차 언어가 될 수 있다는 것입니다.


yml 기능:

   1. 간단한 쓰기와 높은 가독성;

   2. 더 많은 데이터 유형 지원(;

   3. 다국어 사용 지원: java/python


yml 구문

이것은 key-value 형식으로도 저장됩니다 .

그러나 작성 방법은 속성보다 간결합니다.

여러 키에 중복 요소가 있는 경우 이러한 키의 동일한 부분을 추출할 수 있습니다.

 속성:


작은따옴표와 큰따옴표의 경우 yml


yml 구성 개체

여러 줄 쓰기:

#对象写法1
student :

  id : 1
  name : 张三
  age: 22

한 줄 쓰기:

#对象写法2
   student2 : {id : 2, name : 李四, age : 20}

개체 가져오기:

1단계 : 속성에 개체를 저장합니다.


2단계 : 이 개체와 정확히 동일한 속성을 사용하여 새 엔터티 클래스 만들기


3단계 : 이 엔터티 클래스를 Spring 컨테이너에 주입합니다(주석의 5개 범주). 


4단계 : 구성 파일에서 개체 가져오기  


5단계 : 속성 주입을 통해 개체 가져오기


yml 구성 컬렉션

구성 파일:

#dbtypes对应一个实体类

#name对应的是集合

dbtypes : { name: [ mysql, sqlServer,db2 ] }

컬렉션 주입: 

 빈 가져오기:


속성과 yml의 차이점은 무엇입니까(중요)

차이점 1 : 속성은 Java 프로젝트만 지원하지만 yml은 Java를 포함한 여러 언어 (예: Python)를 지원합니다.

차이점 2 : 속성의 키는 yml만큼 간단하지 않고 쓰기에 더 중복됩니다. (yml은 수준을 지원하며 들여쓰기는 수준 사이에 사용됨 )

차이점 3 : yml은 더 많은 데이터 유형 (문자열, 객체, 목록) 을 지원합니다.


넷째, 읽을 파일 지정

@PropertySource는 구성 파일을 읽습니다.

이 주석은 클래스 에서 작동 하고 읽을 구성 파일을 지정할 수 있습니다 .

그러한 주석이 없으면 @Value 주석은 기본적으로 application.properties 파일의 내용을 읽습니다.


Supongo que te gusta

Origin blog.csdn.net/weixin_56738054/article/details/129866479
Recomendado
Clasificación