Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789

Есть ли анотация, которая позоволит создать объект класа другой библиотеки (используется Spring)

12.04.2019, 14:48. Показов 553. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли аннотация, которую можно установить над полем, чтобы не пользоваться

вот таким созданием объекта

Java
1
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
А просто объявить поле, с таким типом, и указать Spring, чтобы он при создании объекта текущего класса, создал объект JavaMailSenderImpl , внедрил его .

А затем можно было просто наполнять объект mailSender ....

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@Configuration
@PropertySource(value = {"classpath:mail/mail.properties"})
public class MailConfig {
 
    private final static String MAIL_TRANSPORT_PROTOCOL = "mail.transport.protocol";
    private final static String SMTP = "smtp";
    private final static String MAIL_SMTP_AUTH = "mail.smtp.auth";
    private final static String MAIL_SMTP_STARTTLS_ENABLE = "mail.smtp.starttls.enable";
    private final static String MAIL_DEBUG = "mail.debug";
    private final static String TRUE = "true";
 
    private final Environment env;
 
    @Autowired
    public MailConfig(Environment env) {
        this.env = env;
    }
 
    @Bean
    public JavaMailSender getJavaMailSender(){
 
        final String host = this.env.getProperty("spring.mail.host");
        final Integer port = Integer.valueOf(this.env.getProperty("spring.mail.port"));
        final String userName = this.env.getProperty("spring.mail.username");
        final String password = this.env.getProperty("spring.mail.password");
        final String smptAuth = this.env.getProperty("spring.mail.properties.mail.smtp.auth");
        final String smtpStarttlsEnable = this.env.getProperty("spring.mail.properties.mail.smtp.starttls.enable");
 
    //    JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
 
        mailSender.setHost(host);
        mailSender.setPort(port);
 
        mailSender.setUsername(userName);
        mailSender.setPassword(password);
 
        Properties props = mailSender.getJavaMailProperties();
        props.put(MAIL_TRANSPORT_PROTOCOL, SMTP);
        props.put(MAIL_SMTP_AUTH, smptAuth);
        props.put(MAIL_SMTP_STARTTLS_ENABLE, smtpStarttlsEnable);
        props.put(MAIL_DEBUG, TRUE);
 
        return mailSender;
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2019, 14:48
Ответы с готовыми решениями:

Функция, которая может целиком склонировать объект (то есть создать его копию)
Преобразовать код( написан ниже) в функцию, которая может целиком склонировать объект (то есть создать его копию). let foo = { ...

Способ определить, что объект obj1 используется как объект синхронизации в текущий момент
Привет. Существует ли способ определить, что объект obj1 используется как объект синхронизации в текущий момент? т.е. есть конструкция...

Как создать синг-тон bean в Spring или есть другие решения?
задача - создать компонент для Spring - который представляет из себя: - (статический?) метод распознания изображения (точнее теста и...

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
12.04.2019, 16:12
Чтобы он его внедрил, он должен создать бин, а чтобы создать бин, надо его описать в конфигурации
ну и соответственно создаешь поле с типом JavaMailSender и туда каким-либо образом варишь бин. (через конструктор например)
0
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
12.04.2019, 21:43  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
надо его описать в конфигурации
То есть создать отдельный конфигурационный файл и в нем указать что-то типа


Java
1
2
3
4
    @Bean
    public JavaMailSenderImpl  mailSender (){
        return new JavaMailSenderImpl   ();
    }
так ?

И затем можно в нужном классе указать поле соответствующего типа и над ним аннотацию @Autowired (ну или инициализировать поле в конструкторе и над ним поместить аннотацию @Autowired ) ?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
12.04.2019, 22:25
ты ерунду какую-то делаешь, мне кажется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2019, 22:25
Помогаю со студенческими работами здесь

Можно ли десериализовать объект с BinaryFormatter или SOAP не используя .dll класа
Пишу клиент и сервер приложения которые обмениваются между собой данными по средствами сокетов. Я передаю потоком байтов сам объект с...

Как программно создать объект на другой форме?
Добрый вечер! Есть код, который должен создать компонент Lbl на другой форме(form4,lbl на ней объявлен), но код выдает ошибку: ...

Создать объект-окружность с методом проверки на пересечение с другой окружностью
Изучаю ООП в PHP, перешел сейчас к теме модификаторов доступа. Там есть такая задача: "Создайте метод, принимающий объект...

Создать геометрический объект – звезду, которая пульсирует
Создать геометрический объект – звезду, которая пульсирует. Следует использовать Timer. Задача реализуется с помощью Windows Forms.

Как создать новый объект добавить в другой и не удалить старый с таким же названием?
Как создать новый объект добавить в другой и не удалить старый с таким же названием? Строка 23 я создаю и добавляю (строка 28) объект в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru