머리말
콩의 인스턴스화를 도입하기 전에 먼저 콩이 무엇인지, 콩을 구성하는 방법을 소개해야합니다.
스프링이 큰 공장으로 간주되면 스프링 컨테이너의 콩은 해당 공장의 산물입니다. Spring Factory를 사용하여 Bean을 생산하고 관리하려면 필요한 콩이 필요한 구성 파일과 함께 조립하는 방법을 지정해야합니다.
Spring 컨테이너는 구성 파일의 두 가지 형식, 즉 Properties 파일 형식 및 XML 파일 형식을 지원합니다. 실제 개발에서 가장 일반적으로 사용되는 금액은 XML 파일 형식입니다. 따라서 다음 설명에서 XML 파일 형식의 구성 메소드를 설명합니다. XML 구성 파일의 루트 요소는 <Beans>이며, 여기에는 여러 자식 요소 <Bean>이 포함될 수 있으며 각 어린이 요소는 콩을 정의하고 콩을 스프링 용기에 조립하는 방법을 설명합니다. <ean> 요소의 속성은 다음과 같습니다.
구성 파일에서 일반적으로 일반 Bean은 ID와 클래스의 두 가지 속성 만 정의하면됩니다. 콩을 정의하는 방법은 다음과 같습니다.
<? xml version = "1.0"encoding = "utf-8"?> <! doctype beans public "-// spring // dtd bean // en" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-봄에 지정된 목적을 만들어 줘 id = "userDao"/> <bean name = "userDao1, userDao2"/> </beans>
위의 코드에서는 두 개의 Bean이 ID 및 이름 속성을 사용하여 정의되며 해당 구현 클래스는 클래스 요소를 사용하여 지정됩니다. ID와 이름이 지정되지 않은 경우 Spring은 클래스 값을 ID로 사용합니다.
봄에 콩을 인스턴스화하는 4 가지 방법
이 기사는 주로 콩을 인스턴스화하는 네 가지 방법 (주입 방법) 또는 객체 인스턴스화에 의존하는 네 가지 방법을 소개합니다. 위의 프로그램은 Bean 객체를 만드는 방법을 사용하고 생성자 방법을 사용합니다 (Spring은 생성자의 민영화하에 클래스 객체를 생성 할 수 있습니다).
4 가지 일반적인 창조 방법이 있습니다.
1) 세터 방법
2) 생성자
3) 정적 공장
4) 예제 공장
1. 세터 방법을 사용하십시오
공개 인터페이스 iuserdao {void adduser (); void deluser (); void updateUser (); } public class userdaoimpl은 iuserdao {public void addUser () {system.out.println ( "AddUser 메소드가 호출되었습니다"); } public void deluser () {System.out.println ( "DeLuser 메소드가 호출됨"); } public void updateUser () {system.out.println ( "updateUser 메소드가 호출됨"); } public class useraction {private iuserdao dao; // dao는 springg에 의해 관리되어야하는 종속성 객체이며 Get set 메소드를 생성합니다. public void execute () {dao.adduser (); dao.updateuser (); dao.deluser (); }}// configuration file <bean name = "userAction_name"> <property name = "dao"ref = "userDao_name" /> // 이름은 아래에 참조되어 있습니다 < /bean> <bean name = "userDao_name" />
// test classPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext ( "beans.xml"); userAction action = (userAction) ctx.getBean ( "userAction_name"); Action.Execute ();
2. 생성자 함수
public class userAction {// public userAction () {} 매개 변수없이 생성자를 유지할 수 있습니다. // 여러 종속성이므로 GET SET 메소드 개인 userInfo 사용자를 생성 할 필요가 없습니다. 사립 문자열 학교; 개인 iuserdao dao; // 스프링이 종속성 객체 공개 사용자 ActorAction (iuserdao dao, UserInfo 사용자, 문자열 학교) {this.dao = dao; this.school = 학교; this.user = 사용자; } public void execute () {dao.adduser (); dao.updateuser (); dao.deluser (); System.out.println (사용자); System.out.println (학교);}// 구성 파일 <bean name = "userInfo_name"> <property name = "id"value = "1" /> <속성 이름 = "username"value = "weekly" /> <property name = "password"value = "123" /> <속성 이름 = "note"value = "this a this a is at at at at at at at at at at at at at at at at at at re ref ="userAction "> < /> <constructor-arg ref = "userInfo_name" /> <constructor-arg value = "Harbin Normal University" /> < /bean> /*당신은 색인 및 유형 속성을 지정할 수 있습니다. 색인이나 유형은 지정할 수 없습니다. 인터페이스 인 경우 구현 클래스의 유형에 대해 지정할 수 없습니다. <생성자-아그 인덱스 = "1"ref = "userInfo_name"type = "cat.beans.userInfo" /> <constructor-arg index = "2"value = "Harbin Normal University" />> /<bean name = "userdao_name" />.
// test classPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext ( "beans.xml"); userAction action = (userAction) ctx.getBean ( "userAction_name"); Action.Execute ();
3. 정적 공장 방법
// Factory, Dao Public Class userDaofactory를 생성하는 데 사용되는 구현 클래스 {public static iuserdao createuserdaoinstance () {return new userDaooracleImpl (); }} public class useraction {private iuserdao dao; // 팩토리 메소드를 사용하여 값에주의를 기울이고, 또한 set 메소드 public void execute () {dao.adduser (); dao.updateuser (); dao.deluser ();} public void setdao (iuserdao dao) {this.dao = dao; }}// 구성 파일 <bean name = "userAction_name"> <속성 이름 = "dao"ref = "userDao_name" /> < /bean> <bean name = "userDao_name"factory-method = "createUserDaoinStance" />
// test classPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext ( "beans.xml"); userAction action = (userAction) ctx.getBean ( "userAction_name"); Action.Execute ();
IV. 예제 공장
// factory => public class userDaofactory {//이 메소드는 정적 public iuserdao createuserdaoinstance ()가 아닙니다. }}// configuration file <bean name = "userAction_name"> <속성 이름 = "dao"ref = "userDao_name" /> < /bean> <bean name = "userDaofactory_name" /> <bean name = "userDao_name"factory-bean = "userDaofactory_name"factory-method = "createUserDaoInScome" /
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.