2. • Engenheiro de Software na ContaAzul
• Formado em Sistemas de Informação pela UDESC
• +12 anos XP dev web
• +10 anos XP Java
• Colaborador do GUJavaSC
github.com/Marcos
about.me/marcos.ferreira
QUEM SOU EU?
MARCOS ROBERTO FERREIRA
marcos@contaazul.com
3. old school: ContaAzul antes de ser ContaAzul
modern art: ContaAzul Startup
APIs/Projetos usados no ContaAzul
AGENDA…
1
2
3
38. 38
@Getter
@Setter
public class Member {
private Long id;
private String name;
}
@Getter
@Setter
@ToString
@EqualsAndHashCode
public class Member {
private Long id;
private String name;
}
41. 41
public class Member {
private Long id;
private String name;
public Member() {}
public Member(Long id, String name) {
super();
this.id = id;
this.name = name;
}
}
42. 42
public class Member {
private Long id;
private String name;
public Member() {}
public Member(Long id, String name) {
super();
this.id = id;
this.name = name;
}
}
@NoArgsConstructor
@AllArgsConstructor
public class Member {
private Long id;
private String name;
}
51. 51
@Stateless
public class UserService {
@TransactionAttribute(REQUIRES_NEW)
public void save(Long userId, User user) {
…
}
}
transações
@Stateless
public class UserService {
public void save(Long userId, User user) {
…
}
}
52. 52
@Stateless
public class PaymentService {
@Asynchronous
public void update(User user){
…
}
}
@Inject
private PaymentService paymentService;
public User save(User user) {
paymentService.update(user);
}
processamento
assíncrono