Благодаря этой статье я представлю вам несколько методов экстенции бобов весной через пример кода. Давайте посмотрим на конкретный контент.
1. Используйте конструктор класса для реализации экземпляров (собственный конструктор Bean)
<bean id = "orderservice"/>
2. Используйте статические фабричные методы для достижения экземпляра
<bean id = "personservice" class = "cn.itcast.orderfactory" factory-method = "createorder"/> public class orderfactory {private ordationfactory orderfactory = new orderfactory (); Private OrderFactory (); public static orderfactory createorder () {return orderfactory; }}3. Используйте метод завода экземпляров для достижения экземпляра (через бобы других сущностей)
<bean id = "personservicefactory" class = "cn.itcast.service.orderfactory"/> <bean id = "persionservice" factory-bean = "personservicefactory" material-method = "createorder"/> public class orderfortory {private orderservice orderservice = new orderservice (); Private OrderFactory (); Public Static Orderservice CreateorderServicebean {return orderservice; }}Обычно мы называем BeanFactory или ApplicationContext, ответственный за загрузку бобов пружинного контейнера. Оба загружены бобами через файл конфигурации XML. По сравнению с ApplicationContext и Beanfacotry, основное отличие состоит в том, что Beanfacotry - это ленивая загрузка, а бобы будут создаваться при создании getTeclebean (). Если определенный атрибут бобов не может быть введен, в настоящее время будет брошено исключение; и ApplicationContext по умолчанию создания всех бобов при инициализации, если только Lazy-init = "true" не установлен на боба, что способствует проверке, может ли атрибут зависимости быть введен.
Кроме того, ApplicationContext предоставляет больше функций расширения, таких как международная обработка файлов ресурсов для загрузки и обработка BeanpostProcessor. Поэтому в приложениях J2EE мы обычно решаем использовать ApplicationContext. Независимо от того, используя BeanFactory или ApplicationContext, Spring инициализирует бобы в Синглтоне по умолчанию.
Для инициализации BeanFactory обычно используется следующий код:
ClassPathresource resource = new ClassPathresource ("beans.xml"); Beanfactory Factory = new XmlbeanFactory (ресурс);Для инициализации ApplicationContext он обычно настроен в web.xml:
<context-param> <param-name> contextConfiglocation </param-name> <param-value> classpath: conf/appcontext.xml </param-value> </context-param> <laderer> <lisherer-class> org.springframe.web.context.contextloaderlistener </slerencer>
Суммировать
Выше приведено все подробное объяснение кодекса бобов пружинного экземпляра. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!