Spring Framework - инъекция конфигурации

Spring Framework реализован метод имплантации Есть много, один сконфигурирована инъекции

Типичная трехуровневая архитектура:

. 1  пакет ДАО;
 2  
. 3  Импорт entity.User;
 . 4  
. 5  / ** 
. 6  * DAO интерфейс увеличивается, определяет требуемое сохранение метода
 7.   * / 
8.  Общественный  интерфейс UserDao {
 9.      Общественного  недействительными Сохранить (Пользователь пользователя);
 10 }
. 1  Пакет dao.impl;
 2  
. 3  Импорт dao.UserDao;
 4 .  Импорт entity.User;
 . 5  
. 6  / ** 
. 7  * Класс пользователя ДАО, IDao реализуют интерфейсы для работы класса пользователя персистирующей
 8.   * / 
9.  Общественный  класс UserDaoImpl орудия UserDao {
 10  
. 11      общественности  недействительным сохранить (пользователя пользователя) {
 12          // здесь не достичь полного операций с базами данных просто иллюстративными 
13          System.out.println ( «пользовательская информация хранится в базе данных» );
 14      }
 15 }
. 1  Пакет -Service;
 2  
. 3  Импорт entity.User;
 . 4  
. 5  / ** 
. 6  * сервисный интерфейс пользователя , который определяет необходимые бизнес - методу
 . 7   * / 
. 8  публичного  интерфейс {UserService
 . 9      общественных  недействительный AddNewUser (Пользователь пользователя);
 10 }
. 1  пакет service.impl;
 2  
. 3  Импорт service.UserService;
 . 4  Импорт dao.UserDao;
 . 5  Импорт entity.User;
 . 6  
. 7  / ** 
. 8  * пользовательский класс трафика, для достижения управления бизнес - функций пользователя
 9.   * / 
10  общественного  класса UserServiceImpl орудия UserService {
 . 11  
12      // декларация опорного интерфейса типа и расцепления класс реализации 
13 является      Private UserDao DAO;
 14  
15      // генерируется конструктор без аргументов 
16      общественных UserServiceImpl () {
 17.  
18      }
. 19  
20      // параметры , как конструктор назначения DAO 
21      общественных UserServiceImpl (UserDao DAO) {
 22          это .dao = ДАО;
 23      }
 24  
25      общественных UserDao getDao () {
 26          возврата ДАО;
 27      }
 28  
29      // свойства DAO сеттер аксессор вызывается пружина, инъекция сеттера для достижения 
30      общественных  пустот setDao (UserDao DAO) {
 31          это .dao = ДАО;
 32      }
 33  
34      общественного  недействительный AddNewUser (Пользователь Пользователь) {
 35          //Метод ДАО вызывает пользователя , чтобы сохранить информацию пользователя 
36          dao.save (Пользователь);
 37 [      }
 38 }

Классы сущностей:

. 1  пакет Entity;
 2  
. 3  / ** 
. 4  * Класс сущности пользователя
 . 5   * / 
6.  Общественный  класс Пользователь орудия java.io.Serializable {
 7.      Частный Integer ID; // идентификатор пользователя 
. 8      Private Строка имя пользователя; // имя пользователя 
. 9      Private Строка пароля ; // пароль 
10      Private строки Email; // электронной почты
 . 11  
12      // добытчики и связующий 
13 является      общественным целым GetId () {
 14         вернуть идентификатор;
15      }
 16  
17      общественных  пустот SETID (целочисленный идентификатор) {
 18          это .id = ID;
19      }
 20  
21      общественного Строка GetUserName () {
 22          возврата имени пользователя;
23      }
 24  
25      общественных  недействительными setUsername (String имя пользователя) {
 26          это .username = имя пользователя;
27      }
 28  
29      общественности Строка GetPassword () {
 30          возврата пароля;
31      }
32  
33      общественный  недействительный SetPassword (строка пароль) {
 34          это .password = пароль;
35      }
 36  
37      общественности Строка getEmail () {
 38          возвращение по электронной почте;
39      }
 40  
41      общественного  недействительного setEmail (Строка почта) {
 42          это .EMAIL = адрес электронной почты;
43      }
 44  
45 }

Основной конфигурационный файл:

1 <? XML версия = "1.0" кодирующая = "UTF-8"?>
 2 <бобы Xmlns = "http://www.springframework.org/schema/beans"
 3      Xmlns: XSI = "HTTP: // WWW. w3.org/2001/XMLSchema-instance "XMLNS: АОП = "http://www.springframework.org/schema/aop"
 4      XSI: SchemaLocation =" http://www.springframework.org/schema/beans
 5      HTTP : // www.springframework.org/schema/beans/spring-beans-3.2.xsd 
6      HTTP: // www.springframework.org/schema/aop 
7      HTTP: // www.springframework.org/schema/aop/spring -aop-3.2.xsd "> 
8      <! -以上是Spring框架的头信息->
9      <! - размещение экземпляра объекта , чтобы управлять ->
10      <! - Вариант построены с использованием инъекции ->
 . 11      <фасоль ID = "userDao" класс = "dao.impl.UserDaoImpl"> </ фасоль>
 12      <идентификатор боба = "UserService" класс = «service.impl. UserServiceImpl ">
 13          <! - через конструктор , выполненный с возможностью достижения инъекции ->
 14          <конструктор-Арг>
 15              <REF = боб" userDao «/>
 16          </ Арг-конструктор>
 . 17      </ фасоль>
 18  
19. </ бобы>

Метод испытания:

1  пакет теста;
2  
3  импорта org.junit.Test;
4  импорт org.springframework.context.ApplicationContext;
5  импорта org.springframework.context.support.ClassPathXmlApplicationContext;
6  
7  импорта service.UserService;
8  импорта service.impl.UserServiceImpl;
-  
10  импорт entity.User;
11  
12  
13  общественного  класса AopTest {
 14  
15      @Test
 16      общественных  пустот aopTest () {
 17         ApplicationContext CTX = новый ClassPathXmlApplicationContext ( "applicationContext.xml" );
18          UserService обслуживание = (UserService) ctx.getBean ( "UserService" );
19          
20          пользователь User = новый пользователь ();
21          user.setId (1 );
22          user.setUsername ( "тест" );
23          user.setPassword ( "123456" );
24          user.setEmail ( "[email protected]" );
25  
26          service.addNewUser (пользователь);
27      }
 28  
29 }

Результат:

12-29 16:22:52 [INFO] org.springframework.context.support.ClassPathXmlApplicationContext
 -Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@2db0f6b2: запуск дата [Вс 29 декабря 16:22:52 CST 2019]; корень контекста иерархии
12-29 16:22:52 [INFO] org.springframework.beans.factory.xml.XmlBeanDefinitionReader
 -Loading определения XML-бобов из пути класса ресурса [applicationContext.xml]
12-29 16:22:52 [INFO] org.springframework.beans.factory.support.DefaultListableBeanFactory
 -Перед инстанцировании одиночек в org.springframework.beans.factory.support.DefaultListableBeanFactory@2f686d1f: задающие бобы [userDao, UserService]; корень заводской иерархии
Информация о пользователе хранится в базе данных

  

рекомендация

отwww.cnblogs.com/dongyaotou/p/12115385.html