Могу ли я прямо обратиться к репозиторию Entity A из Service B?
Или мне надо это делать вот так Service B -> Service A -> Repository A?
Optional<T>
из репозитория и в случае, если объект не найден, то на сервисном уровне выбрасываете исключение orElseThrow()
. Ну а далее ExceptionHandler ловит исключение и отдает соответствующий код ошибки и сообщение на фронт.ServiceA {
@Autowired
RepoB repoB;
@Autowired
ServiceB serviceB;
// 1 вариант
List<Job> doSomeJob1(String email){
User user = repoB.findUserByEmail(email).orElseThrow(UserNotFoundException::new);
return user.getJobs();
}
// 2 вариант
List<Job> doSomeJob2(String email) {
User user = serviceB.getUserByEmail(email);
return user.getJobs();
}
RepoB {
Optional<User> findUserByEmail(String email);
}
ServiceB {
@Autowired
RepoB repoB;
User getUserByEmail(String email){
return repoB.findUserByEmail(email).orElseThrow(UserNotFoundException::new);
}
}
Проблема в том, что у меня все сервисы DTOшки, а для работы Service B нужны нормальные объекты, что делать в таком случае? Неужели создавать отдельные точно такие же методы просто без конверта в дто?
+----------+------------+----------+
| order_id | product_id | quantity |
+----------+------------+----------+
| 1 | 2 | 10 |
| 2 | 3 | 11 |
+----------+------------+----------+
Product {
long productId;
}
Order {
long orderId;
}
OrderData {
Order order;
Product product;
int quantity;
}
Product {
long productId;
}
Order {
@MapKeyColumn(name = "product_id")
@Column(name = "quantity")
Map<Long, Integer>
}
Условно есть страница с кнопкой и полем, я нажимаю на кнопку и выводится скажем "Hello World".
Ставить это приложение на сервер или что-то подобное естественно не планирую, все будет запускаться локально.
Что для этого нужно? Какие классы/библиотеки/фреймворки для этого нужно использовать?
я могу написать приложение на джава, могу сверстать страницу, а как это "присоединить" не понимаю
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Создаем фильмы
Cinema cinema1 = new Cinema("Титаник", 2194);
Cinema cinema2 = new Cinema("Аватар", 2810);
Cinema cinema3 = new Cinema("Тёмный рыцарь", 1084);
Cinema[] cinemas = new Cinema[]{cinema1, cinema2, cinema3};
// Находим фильм с большим доходом
String cinemaTitle = findHighestGrossingFilm(cinemas);
System.out.println(cinemaTitle);
}
/**
* Метод находит фильм с большим доходом
* @param cinemas массив фильмов для сравнения
* @return название фильма с большим доходом
*/
public static String findHighestGrossingFilm(Cinema ... cinemas) {
Cinema cinemaWithMaxIncome = Arrays.stream(cinemas).max(Cinema::compareTo).get();
return cinemaWithMaxIncome.name;
}
}
class Cinema implements Comparable<Cinema> {
String name;
int income;
public Cinema(String name, int income) {
this.name = name;
this.income = income;
}
// Имплементируем интерфейс Comparable и сравниваем income объектов
@Override
public int compareTo(Cinema c) {
return Integer.compare(this.income, c.income);
}
}
Я мечтаю стать Java Senior разработчиком , писать приложения под андроид и т.д
Можно ли стать Senior разработчиком буквально за пол года - год такого обучения ?
Attempt to invoke virtual method "boolean android.widget.Switch.isChecked()" on a null object reference
isChecked()
на объекте, который nulledit.putBoolean(APP_MUSIC,sw4.isChecked());
sw4 = null
sw4 = dialog.findViewById(R.id.music);
cd
перейдите в директорию, которая содержит java файл.javac GuessTheGame.java
java GuessTheGame
java -version
Как создал jar файл:
1) В intellij idea зашел в project structure
2) Далее выбра artifacts и нажал "+"
3) далее выбрал jar from modules with dependencies где указал свой main класс
4) Нажал окей и забилдил проект
Спринг и прочее не очень вникал как работает, но использовать тоже могу для своих целей.
Найти работу java без опыта и образовния — невозможно?
Из вариантов в теории сейчас есть только попробовать устроиться через курсы от епама.
FROM adoptopenjdk/openjdk11:jdk-11.0.10_9-alpine as build
COPY . /srv
RUN cd /srv && chmod +x mvnw && ./mvnw clean package
FROM adoptopenjdk/openjdk11:jdk-11.0.10_9-alpine
WORKDIR /srv
COPY --from=build /srv/target/{JAR_NAME}.jar /srv/{JAR_NAME}.jar
ENTRYPOINT exec java -jar /srv/{JAR_NAME}.jar
mvn clean package
java -jar /srv/{JAR_NAME}.jar
free online qr code generators. Ну или используйте те, которые я указал выше
hibernate.connection.driver_class = com.ibm.db2.jcc.DB2Driver
hibernate.connection.url = jdbc:db2://127.0.0.1:3306/test1250
hibernate.connection.username = testuser
hibernate.connection.password = Test12345678
hibernate.dialect = org.hibernate.dialect.MySQL8Dialect
driverClassName: com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test1250
spring.datasource.username=testuser
spring.datasource.password=Test12345678
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
Есть сайт, на нем есть страница с лицензиями.
Нужно чтобы пользователю показывались только его лицензии и никаких других.
Аннотации представляют собой некие метаданные, которые могут добавлятся в исходный код программы и семантически не влияют на нее, но могут использоваться в процессе анализа кода, компиляции и даже во время выполнения.
RetentionPolicy.SOURCE - аннотация используется на этапе компиляции и должна отбрасываться компилятором;
RetentionPolicy.CLASS - аннтоация будет записана в class-файл компилятором, но не должна быть доступна во время выполнения (runtime);
RetentionPolicy.RUNTIME - аннотация будет записана в class-файл и доступна во время выполнения через reflection.
@SQLString(30) String firstName;