>  기사  >  Java  >  Java Spring의 읽기 및 쓰기 작업 분석 예

Java Spring의 읽기 및 쓰기 작업 분석 예

PHPz
PHPz앞으로
2023-05-07 13:31:16657검색

    Bean 객체 저장

    이전에 Bean 객체를 저장했을 때 이를 주입하려면 구성 파일에 Bean 한 줄을 추가해야 했습니다.

    Java Spring의 읽기 및 쓰기 작업 분석 예

    이 주입 방법은 오류가 있는 경우 좋지 않습니다. 구성 파일, 프로그램은 오류 메시지가 표시되지 않습니다. 이는 초보자에게 매우 불친절합니다.

    1. 프로젝트 만들기

    시작 클래스 및 기본 메서드 만들기创建启动类和main方法

    Java Spring의 읽기 및 쓰기 작업 분석 예

    引入依赖

    Java Spring의 읽기 및 쓰기 작업 분석 예

    <dependencies>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

    创建配置文件

    我们约定好创建的bean对象放在com.bean包下:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    <dependencies>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

    2.添加注解将bean存入到容器中

    使用Spring的核心就是使用注解,我们学习的注解有5个

    @Controller 【控制器】@Service 【服务】@Repository 【仓库】@Configuration 【配置/布局】@Component 【组件】 2.1 controller

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    我们之前能够通过传入id参数来获取对象,但那是加了一行bean手动加入的id,但现在我们使用了注解,难道就只能使用类类型来获取吗?

    我们使用注解注入bean对象时,id其实默认是类名的小驼峰形式:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    原因先不解释,后面会说。

    容易犯的错:
    我们之前在配置文件中加入了bean对象查找的根目录,意味着会从这个目录开始向下搜索,但不会向上:

    下级目录

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    上级目录

    Java Spring 읽기 및 스토리지 인스턴스 분석

    Java Spring의 읽기 및 쓰기 작업 분석 예종속성 소개

    Java Spring 읽기 및 스토리지 인스턴스 분석Java Spring의 읽기 및 쓰기 작업 분석 예rrreee

    구성 파일 생성

    com.bean에서 bean 객체를 생성하는 데 동의했습니다. 패키지: Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring 읽기 및 저장 인스턴스 분석Java Spring의 읽기 및 쓰기 작업 분석 예 rrreee

    2. 컨테이너에 Bean을 저장하기 위해 Annotation을 추가합니다
    Spring 사용의 핵심은 Annotation을 사용하는 것입니다. 우리가 배운 Annotation은 5가지입니다

    Java Spring의 읽기 및 쓰기 작업 분석 예@Controller [Controller] @Service [Service] @Repository [Warehouse] @Configuration [Configuration /Layout]@Component [Component] 2.1 컨트롤러

    Java Spring 읽기 및 스토리지 인스턴스 분석Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring 읽기 및 스토리지 인스턴스 분석
    이전에는 id 매개변수를 전달하여 객체를 얻을 수 있었지만 그것은 ID를 수동으로 추가하기 위해 빈 줄을 추가하는 것이었지만 이제 주석을 사용하므로 클래스 유형만 사용하여 객체를 얻을 수 있습니까?

    Java Spring의 읽기 및 쓰기 작업 분석 예

    주석을 사용하여 Bean 객체를 삽입할 때 ID는 실제로 기본적으로 클래스 이름의 카멜 케이스 형식입니다.

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring 읽기 및 스토리지 인스턴스 분석
    이유는 먼저 설명하지 않고 나중에 논의하겠습니다.

    Java Spring의 읽기 및 쓰기 작업 분석 예쉬운 실수:
    이전에 구성 파일에 Bean 객체 검색을 위한 루트 디렉터리를 추가했는데, 이는 검색이 이 디렉터리에서 아래쪽으로 시작되지만 위쪽으로는 시작되지 않음을 의미합니다.

    다운로드 디렉토리Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring 읽기 및 저장 예제 분석
    Java Spring 읽기 및 저장 예제 분석

    Java Spring의 읽기 및 쓰기 작업 분석 예상위 디렉토리

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예2.2 Service

    2.3 Repository

    🎜🎜🎜🎜🎜🎜 🎜2.4 구성🎜 🎜🎜🎜🎜🎜🎜🎜2.5 컴포넌트🎜🎜🎜 🎜🎜🎜🎜🎜2.6 주석의 주요 카테고리가 5가지인 이유🎜🎜🎜🎜🎜회사에서 각자 담당하는 영역이 다르기 때문에 사용하는 클래스 주석도 다르지만, 5가지 주요 주석 카테고리의 핵심은 같은 . 🎜🎜🎜🎜🎜🎜🎜🎜두 개의 클래스 주석을 통해 다른 네 개의 주석이 모두 구성 요소 주석의 메서드를 도입한다는 것을 명확하게 알 수 있습니다. 이는 구성 요소가 다른 네 개의 클래스 주석의 아버지라는 것을 의미합니다. 그렇다면 컴포넌트는 무엇을 하는가? 주석을 달 때 다른 네 가지 범주에 던지는 것은 쉽지 않습니다~🎜🎜2.7 기본 ID가 작은 혹인 이유🎜🎜글로벌 검색을 사용합니다:🎜🎜

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Find AnnotationBeanNameGenerator:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Test:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    2.8 Bean 주석 사용

    Bean 주석은 메서드 주석입니다. 메서드에 사용하면 반환됩니다. 객체는 Spring에서도 주입되지만 다섯 가지 주요 유형의 주석과 함께 사용해야 합니다(어느 누구라도 가능).

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    id는 메서드 이름입니다.

    2.8.1 Bean renaming

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    2.8.2 Renameing multiple

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Note: name 속성을 사용하여 이름을 바꿀 때 원본 메서드 이름 효과를 잃게 됩니다. 즉, 수정된 이름만 ID로 사용할 수 있습니다. 注意:当使用name属性重命名后,原本的方法名将失去作用,也就是说只能使用那么修改后的名字作为id了。

    获取bean对象

    获取bean对象也叫对象注入,其有以下3种方法:

    • 属性注入

    • 构造方法注入

    • Setter注入

    1.属性注入

    1.1 Autowired

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    虽然现在看起来没什么问题,但是当我们对同一类型的对象进行了多次注入:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    此时就需要精准定位所选择的对象了,需要类型+名字:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    1.2Resource

    Java Spring의 읽기 및 쓰기 작업 분석 예

    1.3二者区别

    Resource有个name 属性,可以指定注入bean的名称

    Java Spring의 읽기 및 쓰기 작업 분석 예

    但Autowired也有个搭配注解,@Qualifier,一样可以指定选择的bean对象,所以二者之间嘛,我觉得打成平手

    Java Spring의 읽기 및 쓰기 작업 분석 예

    ps:Autowired注解一开始是要进行查询所有类型为所需注入的对象的类型,但Autowired一次只能注入一个对象,因此当统一类型的对象注入多次后会报错。而Qualifier注解本质上是对其所查询的结果进行筛选。

    2.构造方法注入

    还是使用Autowired注解:

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    ps

    빈 객체 가져오기

    빈 객체 가져오기를 객체 주입이라고도 합니다. 세 가지 방법이 있습니다:

    • Java Spring의 읽기 및 쓰기 작업 분석 예속성 주입
    • 🎜생성자 주입🎜
    • 🎜Setter 주입🎜

    1. 속성 주입

    🎜1.1 Autowired🎜🎜Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜🎜지금은 문제가 없는 것 같지만, 동일한 유형의 객체에 대해 여러 작업을 수행할 때 주입: 🎜 🎜🎜Java Spring 읽기 및 저장 인스턴스 분석🎜 🎜Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜이 시점에서 필요합니다. 선택한 개체에는 유형+이름이 필요합니다.🎜🎜 Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜1.2Resource🎜🎜Java Spring 읽기 및 저장 인스턴스 분석🎜🎜1.3 둘 사이의 차이점🎜🎜Resource에는 주입된 Bean의 이름을 지정할 수 있는 name 속성이 있습니다🎜🎜Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜그러나 Autowired에는 선택한 Bean 객체를 지정할 수도 있는 @Qualifier라는 주석도 있으므로 둘 사이에는 동점이라고 생각합니다🎜🎜Java Spring 읽기 및 Storage 인스턴스 분석 🎜🎜ps: Autowired 주석은 처음에 주입해야 하는 객체 유형에 대해 모든 유형을 쿼리하지만 Autowired는 한 번에 하나의 객체만 주입할 수 있으므로 통합 유형이 개체가 여러 번 주입된 후에 보고됩니다. 한정자 주석은 본질적으로 쿼리 결과를 필터링합니다. 🎜

    2. 생성자 메서드 삽입

    🎜🎜계속 Autowired 주석을 사용하세요. 🎜🎜🎜Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜 Java Spring 읽기 및 스토리지 인스턴스 분석🎜🎜ps: 생성자가 하나만 있는 경우 Autowired는 생략 가능하지만🎜🎜2개 이상인 경우 생략할 수 없습니다🎜🎜🎜🎜

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Setter 주입

    또는 Autowired를 통한

    Java Spring의 읽기 및 쓰기 작업 분석 예

    Java Spring의 읽기 및 쓰기 작업 분석 예

    ResourceSetter 주입도 지원됩니다.

    전형적인 면접 질문

    속성 주입, 생성자 주입, 설정자 주입의 차이점은 무엇인가요?

    Java Spring의 읽기 및 쓰기 작업 분석 예

    위 내용은 Java Spring의 읽기 및 쓰기 작업 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제