MGIOC — это лёгкий, слабосвязанный и одноэлементный IOC-фреймворк, предназначенный только для внедрения зависимостей.
Я — увлечённый программированием энтузиаст, известный под псевдонимами «Сны сети», «Сны приходят и уходят», mg0324 и другими.
QQ: 1092017732 github: https://github.com/mg0324 gitoschina: https://git.oschina.net/mgang
Если вам нравится этот проект, не забудьте поставить звезду. Спасибо!
Добавьте mgioc.jar в каталог lib вашего веб-приложения.
В web.xml добавьте необходимые настройки для запуска контейнера:
<!-- Запуск конфигурации MGIoC -->
<listener>
<listener-class>mg.ioc.core.IocListener</listener-class>
</listener>
Создайте тестовый пакет package mg.test; Он содержит три класса: TestAction (использует mgwork для MVC-контроллера), TestService и TestDao.
TestAction.java
package mg.test;
import javax.servlet.annotation.WebServlet;
import mg.ioc.annotation.UseBean;
import mg.mvc.core.MGWorkServlet;
@WebServlet("/test.do/*")
public class TestAction extends MGWorkServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
// Используем UseBean для внедрения экземпляра объекта из контейнера MGIoC.
@UseBean
private TestService testService;
public String index(){
testService.save();
return "index";
}
}
TestService.java
package mg.test;
import mg.ioc.annotation.ToBean;
import mg.ioc.annotation.UseBean;
// Используем ToBean, чтобы сообщить MGIoC о передаче экземпляра этого класса в контейнер при инициализации.
@ToBean
public class TestService {
// Используем UseBean для внедрения.
@UseBean
private TestDao testDao;
public void save(){
testDao.save();
}
}
TestDao.java
package mg.test;
import mg.ioc.annotation.ToBean;
@ToBean
public class TestDao {
public void save(){
System.out.println("Сохранение объекта test успешно");
}
}
Запустите проект и перейдите по адресу http://localhost:8080/mgioc/test.do/index. Если всё работает правильно, вы увидите сообщение «Сохранение объекта test успешно» в консоли.
На данный момент я создал облегчённый IOC-контейнер для внедрения зависимостей, который может быть улучшен в будущем путём добавления кэширования для повышения производительности при большом количестве управляемых экземпляров объектов.
На начальном этапе я интегрировал его с mgwork, моим собственным MVC-фреймворком на основе Servlet 3.0. Подробнее см. в моём проекте mgfinal.
mgwork: MVC-фреймворк: http://git.oschina.net/mgang/mgwork
mgioc: IOC-фреймворк: http://git.oschina.net/mgang/mgioc
mgfinal: mgwork + mybatis + mgioc: http://git.oschina.net/mgang/mgfinal
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )