봄과 봄 개념 IOC 항목의 첫 번째 날

봄의 첫날과 IOC 항목의 개념

1.Spring 개념

1 개 스프링 경량 오픈 소스 프레임 워크

두 부분의 2 스프링 주요 핵심 :
(. 1) AOP : Aspect 지향적 인 프로그래밍, 확장의 소스 코드를 수정하지
(2) IOC : 제어의 반전,

  • 예를 들어, 클래스가 있고, 방법 (하지 정적 법)에있는 클래스, 메소드 내부 클래스를 호출 객체의 클래스를 만들고, 객체 메소드 호출을 이용하여, 새로운 오브젝트를 요구하는 클래스의 객체 프로세스를 생성 존재
  • 목적은 새로운 방법으로 만들었지 만에되지 스프링 구성 클래스 객체를 생성

3 스프링 정지 프레임
JavaEE 어플 3 층 구조 (1) 스프링은, 각 층은 상이한 기술 솔루션을 제공한다

  • 웹 층 : springMVC
  • 서비스 계층 : IOC 봄
  • DAO 층 : JdbcTemplate을 봄

스프링 4 판
. (1) hibernate5.x
(2) spring4.x

IOC 작동 2. 봄

관리하도록 스프링에 가공물을 생성 1.
두 부분 2.ioc 동작을
(1) IOC 프로파일 모드
(2) IOC 주석 방식
3.IOC의 기본 원리

XML 구성 파일, DOM4J 구문 분석 XML, 공장 디자인 패턴, 반사 기술

원리 : 새로운 개체에 적용 않으려 고, 너무 많은 코드를 수정 호출 후 클래스 정의를 수정 줄일 수 있습니다. 그러나 구성 파일을 수정하여 사용 DOM4J 구문 분석 XML 설정 파일은, ID에 따라 클래스 경로를 얻을 객체 클래스를 만들 반사를 사용합니다.
그림 삽입 설명 여기
4. IOC 항목 사례
1. 가이드 패키지
그림 삽입 설명 여기
클래스를 작성 2.
프로파일을 작성 3. applicationContext.xml 권장
스키마 제약 조건 (예를 들어 콩 제약을 도입 :)
그림 삽입 설명 여기

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>
</beans>

당신이 XML 카탈로그의 관련 제약 조건을 구성하는 경우 사용자가 구성 할 수있는 경우, 프롬프트가 나타납니다.
그림 삽입 설명 여기

3. 봄의 콩 관리

실시 예 3.1

  • 클래스 생성자 (공통)를 사용하여 매개 변수 : 불평 할 것이다 유일한 매개 변수 생성자가있는 경우.
  • 정적 공장 : 팩토리 클래스가 객체에 필요한 클래스를 반환하는 데 사용 정적 메소드를 만들 수 있습니다 (직접 공장 클래스의 정적 메서드 호출)
  • 설비 사례 : 반환 클래스 객체 요구하는 공장 클래스를 만들 수있는 비 정적 방법 (필요 공장 개체를 만들 수는 메소드를 호출)

일반적인 특성 3.2 빈 태그

  • ID : 무작위로 촬영 이름은 콩에서 오브젝트를 취득, 특수 기호가 포함되지
  • 이름 : 기능 및 ID 동일하지만 특수 문자를 포함 할 수 있습니다 (귀하의 유산을, 일반적으로하지 않습니다)
  • 클래스 : 클래스의 경우 개체에 대한 전체 경로를 만들
  • 범위 : 범위
    - 싱글 : 기본, 싱글 (오브젝트)
    - 프로토 타입 : 멀티 예 (복수의 오브젝트)
    - 요청 :로 물체 내부 오브젝트 요청 필드 만들기
    - 세션 : 도메인 세션 안에서 물체의 물체를 만드는
    - globalSession는 : globalSession에 객체의 내부에 객체를 생성

3.3 소개 입성

1 创建对象的时候,向类里面属性里面设置值
2 属性注入的方式介绍
그림 삽입 설명 여기
(1)使用set方法注入(最常用)
<property><property/>
그림 삽입 설명 여기
(2)使用有参数构造函数注入
<constructor-arg><constructor-arg />
그림 삽입 설명 여기
(3)使用接口注入(spring不支持)

3.4 注入对象类型的属性(重点)

为了类中使用其他对象,可以直接注入对象,使用ref=" "而不是是value=" "
그림 삽입 설명 여기

3.5 注入复杂类型属性

  • 数组
  • list集合
  • map集合
  • properties类型
<!-- 注入复杂类型属性值 -->
<bean id="person" class="cn.itcast.property.Person">
	<!-- 数组 -->
	<property name="arrs">
		<list>
			<value>小王</value>
			<value>小马</value>
			<value>小宋</value>
		</list>
	</property>
	
	<!-- list -->
	<property name="list">
		<list>
			<value>小奥</value>
			<value>小金</value>
			<value>小普</value>
		</list>			
	</property>
	
	<!-- map -->
	<property name="map">
		<map>
			<entry key="aa" value="lucy"></entry>
			<entry key="bb" value="mary"></entry>
			<entry key="cc" value="tom"></entry>
		</map>
	</property>
	
	<!-- properties -->
	<property name="properties">
		<props>
			<prop key="driverclass">com.mysql.jdbc.Driver</prop>
			<prop key="username">root</prop>
		</props>
	</property>
</bean>

4. IOC和DI区别

(1)IOC: 控制反转,把对象创建交给spring进行配置
(2)DI: 依赖注入,向类里面的属性中设置值
(3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作

5.Spring整合web项目原理

1 加载spring核心配置文件,
그림 삽입 설명 여기
上述代码使用new 对象,功能可以实现,效率很低
2 实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成
3 实现原理
(1)ServletContext对象
(2)监听器
(3)具体使用:

  • 在服务器启动时候,为每个项目创建一个ServletContext对象
  • 在ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建
  • 使用监听器监听到ServletContext对象创建时候,
    – 加载spring配置文件,把配置文件配置对象创建
    – 把创建出来的对象放到ServletContext域对象里面(setAttribute方法)
  • 获取对象时候,到ServletContext域得到 (getAttribute方法)
게시 된 135 개 원래 기사 · 원 찬양 5 · 조회수 7086

추천

출처blog.csdn.net/qq_27921205/article/details/104572739