Skip to content

Commit 9735169

Browse files
committed
BAEL-9092
Fixing Bean Creation Issues with MapStruct’s @Mapper Annotation in Spring Applications
1 parent 46e07e7 commit 9735169

File tree

4 files changed

+74
-0
lines changed

4 files changed

+74
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.baeldung.fixingbeancreationissues.dto;
2+
3+
public class PersonDto {
4+
private String name;
5+
private int age;
6+
7+
public PersonDto() {}
8+
9+
public PersonDto(String name, int age) {
10+
this.name = name;
11+
this.age = age;
12+
}
13+
14+
public String getName() { return name; }
15+
public void setName(String name) { this.name = name; }
16+
17+
public int getAge() { return age; }
18+
public void setAge(int age) { this.age = age; }
19+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.baeldung.fixingbeancreationissues.mapper;
2+
3+
import org.mapstruct.Mapper;
4+
import com.baeldung.fixingbeancreationissues.model.Person;
5+
import com.baeldung.fixingbeancreationissues.dto.PersonDto;
6+
7+
// @Mapper {Incorrect}
8+
//@Mapper(componentModel = "spring") {Correct}
9+
public interface PersonMapper {
10+
PersonDto toDto(Person person);
11+
Person toEntity(PersonDto dto);
12+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.baeldung.fixingbeancreationissues.model;
2+
3+
public class Person {
4+
private String name;
5+
private int age;
6+
7+
public Person() {}
8+
9+
public Person(String name, int age) {
10+
this.name = name;
11+
this.age = age;
12+
}
13+
14+
public String getName() { return name; }
15+
public void setName(String name) { this.name = name; }
16+
17+
public int getAge() { return age; }
18+
public void setAge(int age) { this.age = age; }
19+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.baeldung.fixingbeancreationissues.service;
2+
import com.baeldung.fixingbeancreationissues.dto.PersonDto;
3+
import com.baeldung.fixingbeancreationissues.mapper.PersonMapper;
4+
import com.baeldung.fixingbeancreationissues.model.Person;
5+
6+
7+
//@Service
8+
9+
public class PersonService {
10+
11+
private final PersonMapper personMapper;
12+
13+
public PersonService(PersonMapper personMapper) {
14+
this.personMapper = personMapper;
15+
}
16+
17+
public PersonDto convertToDto(Person person) {
18+
return personMapper.toDto(person);
19+
}
20+
21+
public Person convertToEntity(PersonDto dto) {
22+
return personMapper.toEntity(dto);
23+
}
24+
}

0 commit comments

Comments
 (0)