IOC (Control If Control) - Control 역전은 Spring의 두 가지 핵심 기술 중 하나입니다. IOC는 일반적으로 두 가지 유형으로 나뉩니다 : 종속성 주입 (DI) 및 종속성 조회
사용의 예 :
1. 새 프로젝트를 만들고 스프링 관련 JAR 패키지를 가져옵니다.
2. 새 데이터 액세스 계층 및 비즈니스 로직 계층 생성
코드 구조 :
Code example:
/*** Entity Bean* @Author BC**/public class user {개인 정수 ID; 개인 문자열 사용자 이름; 개인 문자열 비밀번호; // 설정 방법 생략}/*** 데이터 액세스 계층 인터페이스* @Author BC**/public interface userDaointerface {/** query 모든 사용자 정보*/public list <usererlist (getUserlist); @Author BC**/public class userDaoimpl은 userDaointerface {/** 데이터베이스 데이터*/private list <user> userList; public userDaoImpl () {userList = new ArrayList <user> (); user u = new user (1, "Zhang San", "123"; userList.Add (u); u); "456"); userList.Add (u); u = 새로운 사용자 (3, "wang wu", "789"); userList.Add (u); u = new user (4, "zhao liu", "233"); userList.Add (u)@}@}@everatire public <user>************************************ 인터페이스*@Author BC**/public interface userBizInterface {/** 쿼리 모든 사용자 정보*/public list <useruserList ();}/***비즈니스 로직 계층 구현 클래스*@Author BC**/public class userBizimpl userBizInterface {/private userection us userfore <spring us userfore? getUserList () {return userDao.getUserList ();}/** 세트 메소드를 통해 주입되므로 주입 해야하는 속성은 설정 메소드*/public void setUserDao (userDaointerface userDao) {this.userdao = userdao;} getUerdao (public userdao;} getUerdao) userdao;}}3. ApplicationContext.xml 구성 파일을 작성하십시오
헤더 정보 :
<? xml 버전 = "1.0"alcoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans"xmlns : xsi = "http://ww.w.w3.org/2001/xmlschema-instance" xmlns : p = "http://www.springframework.org/schema/p"xsi : schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spride-beans--1
구성 코드 :
<!-데이터 액세스 계층 객체 : userDao-> <bean id = "userDao"> </bean> <!-비즈니스 로직 레이어 개체 : userBiz-> <bean id = "userBiz"> <!-설정 메소드를 통해 데이터 액세스 레이어 속성을 주입합니다. <property name = "userDao"ref = "userDao"/bean>
테스트 코드 :
public class userBizTest {private applicationcontext ctx; @before public void load () {// ApplicationContext.xml configuration file ctx = new ClassPathXmlApplicationContext ( "ApplicationContext.xml");}@public void getUserListTest () {user us userdao = user us userdao = user hrose userbizinterbizintepface를 작성합니다. ctx.getBean ( "userBiz"); // 사용자 정보 목록을 가져 오기 위해 메소드를 호출하십시오. <erustry list = userDao.getUserList (); // (user user : userList) {system.out.println (user.getId () | " +" + " +" + " +"| "|"}}}}}}}}}에 대한 컬렉션을 전송합니다.위의 예제 코드에서는 설정 메소드 주입을 사용합니다. 스프링 주입 방법에는 여러 가지 유형이 있으며 많은 유형의 주입 속성 유형이 있습니다. 세부 사항을 참조하십시오.
스프링 IOC의 주입 방법과 다른 데이터 유형 주입에 대한 간단한 토론
콩의 범위에 대해
scope = "Singleton"기본값은 스프링 컨테이너에 공유 Bean 인스턴스가 하나만 있음을 나타냅니다.
SCOPE = "프로토 타입"매번 컨테이너에서 새 인스턴스를 얻습니다.
SCOPE = "요청"모든 HTTP 요청이 새 Bean 인스턴스를 만듭니다.
scope = "session"동일한 HTTP 요청으로 Bean 인스턴스를 공유합니다.
SCOPE = "Global Session"동일한 글로벌 세션에서 Bean 인스턴스를 공유합니다.
요약
위는 스프링 IOC의 간단한 예와 콩의 스코프 속성 분석에 대한이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!