Spring 프레임 워크의 중요한 지식 요약 (1)

하나, 스프링 프레임 워크 개요

Spring은 비즈니스 로직 계층과 다른 계층 간의 느슨한 결합 문제를 해결하여 전체 시스템 애플리케이션에 인터페이스 지향 프로그래밍 아이디어를 적용합니다 .Spring은 2003 년에 등장하여 Rod Johnson이 만든 경량 Java 개발 프레임 워크입니다. 간단히 말해, Spring은 계층 적 JavaSE / EE 풀 스택 (원 스톱) 경량 오픈 소스 프레임 워크입니다.

둘째, 스프링 프레임 워크의 장점

1. 디커플링 촉진 및 개발 단순화 2. 측면 지향 프로그래밍 (AOP)
지원 3. 선언적 트랜잭션 처리 지원, 수동없이 트랜잭션 관리 구성 만 필요 4. 편의성 테스트. Spring은 Junit을 지원하며 Annotation을 통해 Spring 프로그램을 테스트 할 수 있습니다 .5. 우수한 프레임 워크를 통합하는 것이 편리합니다 .6. API 사용의 어려움이 줄어 듭니다.

세, 봄 핵심 기술

(1) IOC 란?

IOC : 제어 반전, 객체 생성 권한을 스프링 프레임 워크로 반전시키는 것은 컴퓨터 코드 간의 결합을 줄이는 데 사용할 수있는 객체 지향 프로그래밍의 설계 원칙입니다.

1. IOC 프로그램 시작하기

첫 번째 단계 : maven웨어 하우스 자바 프로젝트 생성
두 번째 단계 : 좌표 ①spring-context②commons-logging③log4j④junit
의 네 가지 주요 jar 패키지를 소개합니다 :
①Spring Beans : 구성 파일에 대한 액세스, 빈 생성 및 관리 등을 포함한 Spring IOC의 기본 구현, 모든 애플리케이션은 다음과 같습니다. 익숙한.
②Spring Context : 기본 IOC 기능에 대한 확장 서비스를 제공합니다. 또한 메일 서비스, 작업 스케줄링, JNDI 포지셔닝, EJB 통합, 원격 액세스, 캐싱 및 다중 뷰 레이어 프레임 워크 지원과 같은 많은 엔터프라이즈 수준 서비스에 대한 지원을 제공합니다.
③Spring Core : Spring의 핵심 툴킷, 다른 패키지는이 패키지에 의존합니다.
④spring-expression-3.1.0.RELEASE.jar
3 단계 : log4j 파일 가져 오기
4 단계 : 인터페이스 방법을 사용하여 비즈니스 계층 및 지속성 계층 만들기
5 단계 : 그리고 테스트 클래스 (객체 생성 방법 사용)를 호출
한 다음 새로운 방법 IOC를 사용합니다.
1.1 먼저 applicatinContext.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">

    <!--IOC管理bean-->
    <bean id="userService" class="demo.serviceImpl" />

</beans>

1.2 테스트 클래스 작성
단계 : ① 스프링 팩토리 생성, ② 컨테이너에서 가져 오기, ③ 메서드 호출

@Test
    public void run(){
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        Service service = (Service) ac.getBean("userService");
        service.save();
    

2. IOC 기술 요약

Factory의 인터페이스 인 ApplicationContext 인터페이스는 특정 Bean 객체를 얻기 위해이 인터페이스를 사용합니다. 이 인터페이스에는 두 가지 특정 구현 클래스가 있습니다.
ClassPathXmlApplicationContext (클래스 경로 아래에 스프링 구성 파일
로드 ) FileSystemXmlAppLicationContext (로컬 디스크 아래에 스프링 구성 파일로드)

3. Spring 프레임 워크의 Bean 관리 설정 파일 모드

id 속성, Bean의 이름, ID의 제약 조건에서 사용되는 제약 조건, 고유, 값 요구 사항 : 문자로 시작해야하며 문자, 숫자, 하이픈, 밑줄, 문장, 콜론 ID를 사용할 수 있습니다. 특수 문자가 나타날 수 없습니다.
클래스 속성, Bean 오브젝트의 전체 경로.
범위 속성, 범위 속성은 Bean의 범위를 나타냅니다.
singleton singleton (기본값), 가장 일반적으로 사용되는 방법입니다.
프로토 타입 다중
요청은 웹 프로젝트에서 사용되며 각 HTTP 요청은 새로운 Bean
세션을 생성합니다 . 웹 프로젝트에서는 동일한 HTTP 세션이 Bean을 공유합니다
. Bean 객체의 두 속성이 생성 및 삭제됩니다. 구성
지침 : Spring 초기화 Bean 빈이 파괴되거나 소멸 될 때 때때로 처리 작업이 필요하기 때문에 Spring은
빈이 생성되고 해체 될 때 빈 의 두 가지 라이프 사이클 메서드 init-method를 호출 할 수 있으며 빈이 컨테이너에로드 될 때 init-method 속성이 호출됩니다. 메소드
destroy-method, Bean이 컨테이너에서 삭제되면 destroy-method 속성으로 지정된 메소드를 호출하십시오.

4. Bean 객체를 인스턴스화하는 세 가지 방법

기본값은 매개 변수없는 구성 방법 (기본 방법, 기본적으로 사용됨)입니다.

<bean id="userService" class="demo.serviceImpl" />

정적 팩토리 인스턴스화 방법
인스턴스 팩토리 인스턴스화 방법

(2) DI 의존성 주입이란

DI : 종속성 주입, Spring 프레임 워크가 Bean 객체 생성을 담당 할 때 종속 객체를 Bean 구성 요소에 동적으로 주입합니다.

1. 속성의 설정 방법은 값을 주입

속성을 작성하고, 속성에 해당하는 set 메소드를 제공하고, 구성 파일을 작성하여 속성 값 주입을 완료합니다.

// 编写成员属性,一定需要提供该属性的set方法
private OrderDao orderDao;
// 一定需要提供该属性的set方法,IOC容器底层就通过属性的set方法方式注入值
public void setOrderDao(OrderDao orderDao) {
    this.orderDao = orderDao;
}
// 消息
private String msg;
// 年龄
private int age;
public void setMsg(String msg) {
    this.msg = msg;
}
public void setAge(int age) {
    this.age = age;
}

구성 파일

<bean id="os" class="cn.tx.service.OrderServiceImpl">
    <property name="orderDao" ref="od" />
    <property name="msg" value="你好" />
    <property name="age" value="30" />
</bean>

2. 속성 구성 방법 주입 값

클래스 멤버 변수의 경우 생성자 주입.

public class Car {

// 名称
private String cname;
// 金额
private Double money;

public Car(String cname, Double money) {
    this.cname = cname;
    this.money = money;
}

@Override
public String toString() {
    return "Car{" +
            "cname='" + cname + '\'' +
            ", money=" + money +
            '}';
}}

구성 파일

<bean id="car" class="cn.tx.demo2.Car">
    <constructor-arg name="cname" value="大奔" />
    <constructor-arg name="money" value="400000" />
 </bean>

3. 배열, 집합 (목록, 집합,지도) 속성 등의 주입

// 数组
private String [] strs;
public void setStrs(String[] strs) {
    this.strs = strs;
}

private List<String> list;
public void setList(List<String> list) {
    this.list = list;
}

private Map<String,String> map;
public void setMap(Map<String, String> map) {
    this.map = map;
}

private Properties properties;
public void setProperties(Properties properties) {
    this.properties = properties;
}

구성 파일

<!--给集合属性注入值-->
<bean id="collectionBean" class="cn.tx.demo3.CollectionBean">
    <property name="strs">
        <array>
            <value>美美</value>
            <value>小凤</value>
        </array>
    </property>
    <property name="list">
        <list>
            <value>亮亮</value>
            <value>建云</value>
        </list>
    </property>
    <property name="map">
        <map>
            <entry key="aaa" value="聪聪"/>
            <entry key="bbb" value="淞铭"/>
        </map>
    </property>
    <property name="properties">
        <props>
            <prop key="username">root</prop>
            <prop key="password">123456</prop>
        </props>
    </property>
</bean>

4. 여러 구성 파일을로드하는 방법

src 디렉토리에 또 다른 구성 파일이 생성됩니다. 이제 두 개의 핵심 구성 파일이됩니다.이 두 가지 구성 파일을로드하는 방법은 두 가지입니다!
<import resource="applicationContext2.xml"/>
② 공장 생성시 여러 구성 파일을 직접로드

다음 섹션 :
링크 : Spring 프레임 워크의 중요한 지식 요약 (2) .

추천

출처blog.csdn.net/javaScript1997/article/details/107989954