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

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

12.04.2019, 14:48. Показов 537. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru