IOC (Inversion If Control) - Kontrollinversion ist eine der beiden Kerntechnologien von Spring. Das IOC ist im Allgemeinen in zwei Arten unterteilt: Abhängigkeitsinjektion (DI) und Abhängigkeitsuche
Beispiel der Nutzung:
1. Erstellen Sie ein neues Projekt und importieren Sie Frühlings-JAR-Pakete.
2. Erstellen Sie eine neue Datenzugriffsschicht und Geschäftslogikschicht
Codestruktur:
Codebeispiel:
/*** Entity Bean* @Author BC**/public class User {private Integer id; private String -Benutzername; private String -Passwort; // SET -Methode weggelassen}/*** Datenzugriffsschichtschnittstelle* @Author BC**/public interface userdaoTaInterface {/** alle Benutzerinformationen. Bc**/public class userDaoImpl implementiert userDaOinFace {/** Simulation von Datenbankdaten*/private Liste <Benetzbuchs <Benutzer> Benutzerliste; public userDaoImpl () {userList = new ArrayList <Bener> (); Benutzer u = new user (1, "zhang san", "123"; "456"); userList.add (u); u = neuer Benutzer (3, "Wang Wu", "789"); UserList.Add (u); u = neuer Benutzer (4, "Zhao liu", "233"); UserList.Add (u);} @Overide Public List <Künstlers. BC * */public interface UserBizInterface {/**Query all user information*/public List<User> getUserList();}/** * Business logic layer implementation class* @author BC * */public class UserBizImpl implements UserBizInterface {/**Use Spring injection*/private UserDaoInterface userDao;@Override public List<User> getUserList() {return userDao.getUserList ();}/** durch die SET -Methode injiziert, sodass die Eigenschaften, die injiziert werden müssen, auf die SET -Methode eingestellt werden müssen3. Schreiben Sie die Konfigurationsdatei applicationContext.xml
Headerinformationen:
<? xmlns: p = "http://www.springframework.org/schema/p" xsi: Schemalocation = "http://www.springframework.org/schema/beans http://www.sprramework.org/schema/beans/pring-bans-bringframework
Konfigurationscode:
<!-Datenzugriffsschichtobjekt: UserDao-> <bean id = "userDao"> </bean> <!-Business Logic Layer Object: UserBiz-> <bean id = "userBiz"> <!-Inject Data Access Layer-Eigenschaften durch die Set-Methode-> <Eigenschaft name = "userDao" ref = "userdao"/> </roth> </rot
Testcode:
public class userBizTest {private applicationContext ctx; @before public void load () {// applicationContext.xml Konfigurationsdatei ctx = new classPathXmlApplicationContext ("ApplicationContext.xml");}@Test Public void GetUSerListtest () {// // // ein Business -Logic -Logic -Logic -Logic -Logic -Logic -Logic -Logic -Logic -Logic -Logic -Logic -Schicht erstellen. ctx.getBean ("userBiz"); // Die Methode aufrufen, um die Benutzerinformationsliste zu erhalten.Im obigen Beispielcode verwenden wir die Set -Methoden -Injektion. Es gibt viele Arten von Federinjektionsmethoden, und es gibt viele Arten von injizierten Attributarten. Bitte beachten Sie die Details:
Eine kurze Diskussion über die Injektionsmethode des Frühlings -IOC und die Injektion verschiedener Datentypen
Über den Umfang der Bohnen
SCOPE = "Singleton" -Spatt zeigt an, dass im Federbehälter nur eine gemeinsame Bean -Instanz vorhanden ist
Scope = "Prototyp" erhalten Sie jedes Mal eine neue Instanz aus dem Container
Scope = "Anfrage" Jede HTTP -Anfrage erstellt eine neue Bean -Instanz
Scope = "Sitzung" teilen Sie eine Bean -Instanz mit derselben HTTP -Anfrage
Scope = "Global Session" teilen Sie eine Bean -Instanz mit derselben globalen Sitzung
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über das einfache Beispiel des Frühlings -IOC und die Analyse der Scope -Attributanalyse von Beans. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!