Внедрение значений из внешнего файла в поля Spring бина.

Внедрять значения в поля бина можно не напрямую, а из внешнего файла. Давайте же создадим такой файл, в котором будут харнится данные в формате имя-значение. По имени мы сможем извлечь значение из этого файла для использования его в конф файле. Пусть пока в нем будет всего одно значение с именем pcid.

Пусть этот файл будет называться pc.propreties и пока пусть находиться в той же папке, что и applicationContext.xml и класс сервлета.

Файл со значениями:


Внедрение значений из внешнего файла в поля бина.

Давайте же теперь внедрим строковое значение в поле pcid бина класса ServerPC но уже не напрямую, а из созданного нами ранее файла.

applicationContext.xml:

c

Внедрение значений из внешнего файла в поля бина.

Давайте же теперь в классе сервлета извлечем сконфигурированный бин и проверим внедрилось ли в его поле строковое значение из файла.

Пример программы:

import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import java.io.*; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.someclasses.ServerPC; @WebServlet(“/springservlet”) public class SpringServlet extends HttpServlet{ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( “applicationContext.xml”); //Теперь извлечем новый бин serverPCBeanSetter ServerPC serverpc = context.getBean(“serverPCBeanSetter”,ServerPC.class); resp.getWriter().write(serverpc.getPCid()); } }

Проверка работы приложения

Теперь проверим содержимое поля pcid созданного бина.

Компилируем Java файлики. Файл сервлета при этом компилируем с использованием jar файлов спринг:

Запускаем Tomcat и открываем страницу сервлета по пути /springservlet:

Как видим, значение из файла внедрилось в поле бина успешно.

Области видимости бинов (Spring Scopes)

Разбираем 5 областей видимости Spring-бинов: singleton, prototype, request, session и global-session. Примеры конфигурации и использования в сервлетах.
Time to read: 16

Жизненный цикл Spring-бина

Изучите жизненный цикл Spring-бина: создание через BeanFactory, внедрение зависимостей, вызов init/destroy методов. Практический пример с XML-конфигурацией и сервлетом.
Time to read: 18

Конфигурация Spring бинов с помощью аннотаций

Spring аннотации для конфигурации бинов: @Component, @Autowired, @Value. Узнайте как заменить XML на аннотации в Spring Framework для упрощения разработки.
Time to read: 20