МОК (инверсия, если контроль) - Инверсия управления является одной из двух основных технологий пружины. МОК обычно делится на два типа: инъекция зависимости (DI) и поиск зависимости
Пример использования:
1. Создайте новый проект и импортируйте пакеты JAR, связанные с пружиной.
2. Создайте новый уровень доступа к данным и слой бизнес -логики
Структура кода:
Пример кода:
/*** entity bean* @author bc***/public class user {private integer id; private string username; private String password; // Получить метод установки}/*** Интерфейс уровня доступа к данным* @author bc**/public interface userdainterface {/** Query information*/public aseure> getUserlist (); @author bc**/public class userdaoimpl реализует userdaointerface {/** Симулировать данные базы данных*/private list <user> userlist; public userdaoimpl () {userlist = new ArrayList <user> (); пользователь u = новый пользователь (1, "zhang san", "123"); userlist.Add (u); "456"); userlist.add (u); u = новый пользователь (3, "Wang wu", "789"); userlist.add (u); u = новый пользователь (4, "zhao liu", "233"); userlist.add (u);} @переопределить public lister strieflist () {return userlist;}/**** Bc**/public interface userBizInterface {/** Запрос всех пользовательских информации*/public list <user> getUserlist ();}/***Класс реализации слоя бизнес -логика*@author bc**/public class userBizImplemples userdao.getuserlist ();}/** вводится через метод SET, поэтому свойства, которые необходимо вводить, должны быть установлены на метод SET*/public void setuserDao (userDaoInterface userdao) {this.userdao = userdao;} public userdaterface getUserdao () {returnDao;} public userdaterface getUserdao () {returndao;}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" xmlns: p = "http://www.springframework.org/schema/p" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.spramework.orgem.
Код конфигурации:
<!-Объект уровня доступа к данным: 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() {//Read applicationContext.xml configuration file ctx = new ClassPathXmlApplicationContext("applicationContext.xml");}@Test public void getUserListTest() {//Create a business logic layer object UserBizInterface userDao = (UserBizInterface) ctx.getbean ("userBiz"); // Вызов метода, чтобы получить список пользователей, <user> userList = userDao.getUserList (); // Передача коллекции для (пользователь пользователя: пользовательский список) {System.out.println (user.getId () + "|" + user.getUsername () + "|" + user.getPassword ();В приведенном выше примере код мы используем впрыск метода SET. Существует множество типов методов впрыскивания, и существует множество типов инъекционных типов атрибутов. Пожалуйста, обратитесь к деталям:
Краткое обсуждение метода инъекции пружинного МОК и инъекции различных типов данных
О масштабах бобов
Scope = "Singleton" по умолчанию указывает на то, что в пружинном контейнере есть только один общий экземпляр боба
Scope = "Prototype" Получайте новый экземпляр из контейнера каждый раз
Scope = "запрос" Каждый HTTP -запрос создаст новый экземпляр Bean
Scope = "Session" Поделитесь экземпляром Bean с тем же HTTP -запросом
Scope = "Global Session" Поделитесь экземпляром Bean с тем же глобальным сеансом
Суммировать
Выше приведено все содержание этой статьи о простом примере Spring IOC и анализе атрибутов Scope на бобах. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!