Bean 객체 저장
이전에 Bean 객체를 저장했을 때 이를 주입하려면 구성 파일에 Bean 한 줄을 추가해야 했습니다.
이 주입 방법은 오류가 있는 경우 좋지 않습니다. 구성 파일, 프로그램은 오류 메시지가 표시되지 않습니다. 이는 초보자에게 매우 불친절합니다.
1. 프로젝트 만들기
시작 클래스 및 기본 메서드 만들기
创建启动类和main方法
引入依赖
<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包下:
<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
我们之前能够通过传入id参数来获取对象,但那是加了一行bean手动加入的id,但现在我们使用了注解,难道就只能使用类类型来获取吗?
我们使用注解注入bean对象时,id其实默认是类名的小驼峰形式:
原因先不解释,后面会说。
容易犯的错
:
我们之前在配置文件中加入了bean对象查找的根目录,意味着会从这个目录开始向下搜索,但不会向上:
下级目录
上级目录

종속성 소개
rrreee
구성 파일 생성
com.bean에서 bean 객체를 생성하는 데 동의했습니다. 패키지:
rrreee
@Controller [Controller] @Service [Service] @Repository [Warehouse] @Configuration [Configuration /Layout]@Component [Component] 2.1 컨트롤러


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


상위 디렉토리
2.2 Service
2.3 Repository
🎜🎜🎜🎜🎜🎜 🎜2.4 구성🎜 🎜🎜🎜🎜🎜🎜🎜2.5 컴포넌트🎜🎜🎜 🎜🎜🎜🎜🎜2.6 주석의 주요 카테고리가 5가지인 이유🎜🎜🎜🎜🎜회사에서 각자 담당하는 영역이 다르기 때문에 사용하는 클래스 주석도 다르지만, 5가지 주요 주석 카테고리의 핵심은 같은 . 🎜🎜🎜🎜🎜🎜🎜🎜두 개의 클래스 주석을 통해 다른 네 개의 주석이 모두 구성 요소 주석의 메서드를 도입한다는 것을 명확하게 알 수 있습니다. 이는 구성 요소가 다른 네 개의 클래스 주석의 아버지라는 것을 의미합니다. 그렇다면 컴포넌트는 무엇을 하는가? 주석을 달 때 다른 네 가지 범주에 던지는 것은 쉽지 않습니다~🎜🎜2.7 기본 ID가 작은 혹인 이유🎜🎜글로벌 검색을 사용합니다:🎜🎜Find AnnotationBeanNameGenerator:
Test:
2.8 Bean 주석 사용
Bean 주석은 메서드 주석입니다. 메서드에 사용하면 반환됩니다. 객체는 Spring에서도 주입되지만 다섯 가지 주요 유형의 주석과 함께 사용해야 합니다(어느 누구라도 가능).
id는 메서드 이름입니다.
2.8.1 Bean renaming
2.8.2 Renameing multiple
Note
: name 속성을 사용하여 이름을 바꿀 때 원본 메서드 이름 효과를 잃게 됩니다. 즉, 수정된 이름만 ID로 사용할 수 있습니다. 注意
:当使用name属性重命名后,原本的方法名将失去作用,也就是说只能使用那么修改后的名字作为id了。
获取bean对象
获取bean对象也叫对象注入,其有以下3种方法:
属性注入
构造方法注入
Setter注入
1.属性注入
1.1 Autowired
虽然现在看起来没什么问题,但是当我们对同一类型的对象进行了多次注入:
此时就需要精准定位所选择的对象了,需要类型+名字
:
1.2Resource
1.3二者区别
Resource有个name 属性,可以指定注入bean的名称
但Autowired也有个搭配注解,@Qualifier,一样可以指定选择的bean对象,所以二者之间嘛,我觉得打成平手
ps
:Autowired注解一开始是要进行查询所有类型为所需注入的对象的类型,但Autowired一次只能注入一个对象,因此当统一类型的对象注入多次后会报错。而Qualifier注解本质上是对其所查询的结果进行筛选。
2.构造方法注入
还是使用Autowired注解:
ps
빈 객체 가져오기
빈 객체 가져오기를 객체 주입이라고도 합니다. 세 가지 방법이 있습니다:
-
속성 주입
- 🎜생성자 주입🎜
- 🎜Setter 주입🎜
1. 속성 주입
🎜1.1 Autowired🎜🎜




유형+이름
이 필요합니다.🎜🎜



ps
: Autowired 주석은 처음에 주입해야 하는 객체 유형에 대해 모든 유형을 쿼리하지만 Autowired는 한 번에 하나의 객체만 주입할 수 있으므로 통합 유형이 개체가 여러 번 주입된 후에 보고됩니다. 한정자 주석은 본질적으로 쿼리 결과를 필터링합니다. 🎜2. 생성자 메서드 삽입
🎜🎜계속 Autowired 주석을 사용하세요. 🎜🎜🎜

ps
: 생성자가 하나만 있는 경우 Autowired는 생략 가능하지만🎜🎜2개 이상인 경우 생략할 수 없습니다🎜🎜🎜🎜Setter 주입
또는 Autowired를 통한
Resource
Setter 주입도 지원됩니다.
전형적인 면접 질문
속성 주입, 생성자 주입, 설정자 주입의 차이점은 무엇인가요?
위 내용은 Java Spring의 읽기 및 쓰기 작업 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
