Spring Framework. Parte 04 transações
|
|
- Ana Pereira Damásio
- 5 Há anos
- Visualizações:
Transcrição
1 Spring Framework Parte 04 transações
2 Spring e transações O uso de transações é recorrente no desenvolvimento de sistema corporativos. Spring provê suporte ao controle de transações de duas maneiras: programática e declarativa. No geral, o gerenciamento declarativo é preferível por ser mais simples. Spring fica responsável pelo trabalho sujo (commit, rollback, start, etc). No gerenciamento programático a responsabilidade fica com o programador. Com Spring podemos usufruir de um ambiente transacional sem a presença de um contêiner JEE. 2
3 Políticas transacionais De propagação: define os limites de uma transação. De isolamento: como os dados são lidos quando há transações concorrentes. De manipulação de dados: por padrão uma transação é definida como de leitura e escrita de dados, mas é possível indicar que a transação apenas realiza leitura, promovendo uma otimização de desempenho. De tempo de espera: define tempos máximos para execução de transações. De rollback: define quais os tipos de erros que disparam um procedimento de rollback. Por padrão, exceções não checadas geram rollback enquanto que exceções checadas não geram. 3
4 Políticas de propagação PROPAGATION_MANDATORY: o método só pode ser executado dentro de uma transação. Gera exceção caso não haja uma transação em andamento. PROPAGATION_NEVER: o método não pode ser executado dentro de uma transação. Gera exceção caso haja uma transação em andamento. PROPAGATION_NOT_SUPPORTED: o método não deve ser executado dentro de uma transação. Caso haja uma em andamento, a transação é paralisada durante a execução do método. PROPAGATION_REQUIRED: o método é executado dentro de uma transação. Usa a transação corrente ou cria uma nova caso não exista. É a política padrão. 4
5 Políticas de propagação PROPAGATION_SUPPORTS: o método pode ser executado ou não dentro de uma transação. Caso seja, fará parte da unidade de trabalho da transação. PROPAGATION_REQUIRES_NEW: o método cria uma nova transação independente. Caso haja uma transação em andamento, esta é paralisada até que a nova transação termine. PROPAGATION_NESTED: a execução do método cria uma nova transação ou uma transação aninhada. Caso haja uma transação anterior, a transação aninhada somente será commitada quando a anterior também for. Caso a transação aninhada falhe, ela não causará rollback na transação anterior. 5
6 Isolamento e leitura de dados Dependendo da política de isolamento adotada, podem ocorrer as seguintes formas de leitura de dados: Dirty reads: a transação lê dados ainda não commitados por outras transações. Non repeatable reads: execuções da mesma consulta retornam resultados diferentes pois outra transação está alterando os dados. Phantom reads: a transação lê um número de registros maior do que o esperado pois outra transação está incluindo novos registros. 6
7 Políticas de isolamento ISOLATION_DEFAULT: a transação utiliza o comportamento padrão do banco de dados (política de isolamento default). ISOLATION_READ_UNCOMMITED: permite dirty reads, non repeatable reads e phantom reads. ISOLATION_READ_COMMITED: evita dirty reads mas permite non repeatable reads e phantom reads. ISOLATION_REPEATABLE_READ: evita dirty reads e non repeatable reads mas permite phantom reads. ISOLATION_SERIALIZABLE: evita dirty reads e non repeatable reads mas não permite phantom reads. 7
8 @Transactional Marca um método ou classe como transacional. As políticas são indicadas através de suas propriedades: propagation: item da enum org.springframework.transaction.annotation.propagation. isolation: item da enum org.springframework.transaction.annotation.isolation. readonly: booleano que indica se a transação é de apenas leitura. Seu valor padrão é falso. timeout: tempo limite, em segundos, para execução da transação. rollbackfor e rollbackforclassname: indicam que classes de exceção causam rollback. norollbackfor e norollbackforclassname: indicam que classes de exceção não causam rollback. 8
9 Habilitando transações declarativas Declarar um gerenciador de transações, o qual deve ser específico da tecnologia de acesso a dados (e.g., JDBC, JPA, Hibernate). Adicionar a nas configurações do Spring. Consulte a classe AppConfig e repare que essas configurações já foram realizadas anteriormente no projeto. 9
10 Transações e classes de proxy Spring utiliza classes de proxy na mágica das transações declarativas: as classes reais são substituídas por classes criadas em tempo de execução. Essas classes de proxy contém o código responsável pela controle de transações. Existem dois mecanismos para criar proxies de classes que implementam interfaces: mecanismo do JDK (default) ou biblioteca CGLIB. O mecanismo do JDK cria uma nova classe que implementa a interface da classe original. CGLIB cria uma subclasse da classe original. 10
11 Problema com ModeloDAOTest Na aula anterior ModeloDAO foi anotada A execução de ModeloDAOTest agora gera um erro (falha na injeção do objeto dao). A classe proxy implementa ModeloRepository e portanto é de tipo incompatível com o atributo dao. Alternativas: Alterar o tipo de dao para ModeloRepository; Ou configurar a aplicação para usar CGLIB: em AppConfig, adicionar a propriedade proxytargetclass=true na 11
12 Preparação para os exemplos Entidade Compra (1): package cursospring.revenda_veiculos.dominio; import java.math.bigdecimal; import javax.persistence.entity; import javax.persistence.joincolumn; import javax.persistence.manytoone; public class Compra extends Entidade { private BigDecimal valor; 12
13 Preparação para os exemplos Entidade private Veiculo veiculo; public Compra() {} public Compra(Integer id, BigDecimal valor, Veiculo veiculo) { super(id); this.valor = valor; this.veiculo = veiculo; } } //getters e setters 13
14 Preparação para os exemplos CompraRepository: package cursospring.revenda_veiculos.dominio; public interface CompraRepository { Integer inserir(compra c); } 14
15 Preparação para os exemplos CompraDAO (1): package cursospring.revenda_veiculos.dao; import org.hibernate.sessionfactory; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.repository; import org.springframework.transaction.annotation.transactional; import cursospring.revenda_veiculos.dominio.compra; public class CompraDAO implements CompraRepository private SessionFactory sessionfactory; 15
16 Preparação para os exemplos CompraDAO (2): public Integer inserir(compra c) { sessionfactory.getcurrentsession().save(c); return c.getid(); } 16
17 Preparação para os exemplos CompraService (1): package cursospring.revenda_veiculos.dominio; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.service; import org.springframework.transaction.annotation.propagation; import org.springframework.transaction.annotation.transactional; import cursospring.revenda_veiculos.dao.compradao; import public class CompraService private CompraDAO private VeiculoDAO veiculodao; 17
18 Preparação para os exemplos CompraService (2): public void registrar(compra c){ veiculodao.inserir(c.getveiculo()); compradao.inserir(c); } 18
19 Preparação para os exemplos Classe AppConfig: adicionar pacote dominio. public class AppConfig {... } 19
20 Preparação para os exemplos CompraServiceTest (1): package cursospring.revenda_veiculos.dominio; import java.math.bigdecimal; import org.junit.test; import org.springframework.beans.factory.annotation.autowired; import org.springframework.test.annotation.rollback; import org.springframework.test.context.activeprofiles; import org.springframework.test.context.contextconfiguration; import org.springframework.test.context.junit4.abstracttransactionaljunit4s pringcontexttests; import cursospring.revenda_veiculos.config.appconfig; import 20
21 Preparação para os exemplos CompraServiceTest (2): public class CompraServiceTest extends CompraService public void testregistrar(){ Veiculo v = new Veiculo(null, "MNP0001"); v.setanofabricacao(2012); v.setmodelo(new Modelo(1, null, null)); Compra c = new Compra(null, new BigDecimal("23000"), v); //Compra c = new Compra(null, null, v); service.registrar(c); } 21
22 Preparação para os exemplos CompraServiceTest (2): public class CompraServiceTest extends AbstractTransactionalJUnit4SpringContextTests{ public void testregistrar(){ Veiculo v = new Veiculo(null, "MNP0001"); v.setanofabricacao(2012); v.setmodelo(new Modelo(1, null, null)); } Evita rollback ao fim do teste. Desta forma, poderemos visualizar os registros inseridos. Compra c = new Compra(null, new BigDecimal("23000"), v); //Compra c = new Compra(null, null, v); service.registrar(c); 22
23 Preparação para os exemplos Manualmente, crie a tabela COMPRAS no banco de dados: create table COMPRAS (ID int auto_increment, VALOR decimal not null, ID_VEICULO int not null, primary key (ID), foreign key (ID_VEICULO) references VEICULOS); 23
24 Teste 1 Execute CompraServiceTest. Verifique que foram inseridos registros nas tabelas VEICULOS e COMPRAS. 24
25 Teste 2 Manualmente, remova os registros inseridos pelo teste anterior. Em CompraServiceTest, defina o valor da compra como null. Execute CompraServiceTest. Verifique que desta vez não houve a inserção de registros. 25
26 Teste 3 Em CompraService, adicione propagation=propagation.not_supported na Execute CompraServiceTest. Verifique que apenas a inserção de registro ocorre apenas na tabela VEICULOS. 26
27 Referências How to use. Spring Proxying Mechanisms. Disponível em < Johnson, Rod et al. Spring Framework Reference Documentation, release. Disponível em < Souza, Alberto. Spring MVC: domine o principal framework web Java. São Paulo: Casa do Código, Stack Overflow. Differences between requires_new and nested propagation in Spring transactions. Disponível em < s-between-requires-new-and-nested-propagation-inspring-transactions>. 27
28 Referências Stack Overflow. Spring - how to inject concrete interface implementation?. Disponível em < pring-how-to-inject-concrete-interfaceimplementation>. Weissmann, Henrique L. Vire o jogo com Spring Framework. São Paulo: Casa do Código,
29 Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Natal Central Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de formação em Spring Framework 4 Parte 04 Transações Autor: Alexandre Gomes de Lima Natal, outubro de
Spring Framework. Parte 02 acesso a dados e testes de integração
Spring Framework Parte 02 acesso a dados e testes de integração H2 Database H2 é um SGBDR escrito em Java que pode atuar tanto no modo embutido como na forma clienteservidor. Após instalação, executar
Leia maisVamos falar de Hibernate?
Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.
Leia maisJPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo
JPA Com Hibernate Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 JPA Mapeamento Direto entre as classes e o banco de dados Orientação a objetos para modelo relacional Feito através
Leia maisProgramação para Dispositivos Móveis
Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula: CRUD Agenda com SQLite Parte II Caxias - MA Projeto Android Estrutura Activity MainActivity.java
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisSpring Framework. Parte 01 introdução e primeiros passos
Spring Framework Parte 01 introdução e primeiros passos O que é Spring Framework? É um framework de apoio ao desenvolvimento de aplicações corporativas em Java que surgiu como uma alternativa à complexa
Leia maisSpring Framework. Parte 05 Spring Security
Spring Framework Parte 05 Spring Security Introdução Spring Security é um framework para facilitar a incorporação de funcionalidades relativas ao controle de acesso necessárias às aplicações. Possui recursos
Leia maisInstituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:
Leia maisPOO Programação Orientada a Objetos
POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar
Leia maisAULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans
AULA 07 HIBERNATE Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans O JDBC é uma das maneiras mais diretas para desenvolver um aplicativo Java que interaja
Leia maisConexão com Banco de Dados
Conexão com Banco de Dados ORM Atualmente os novos sistemas que estão sendo desenvolvidos estão utilizando a técnica de ORM para fazer conexão e acesso a banco de dados. ORM é uma técnica de mapeamento
Leia maisUtilizando Swing com Hibernate
Programando com Java Artigo http://mballem.wordpress.com/ Utilizando Swing com Hibernate Utilizando a SessionFactory Autor Marcio Ballem: é formado em Sistemas de Informação e possui certificação Oracle
Leia maisLinguagem Algorítmica OO. Linguagem Algorítmica
UFSC-CTC-INE INE5384 - Estruturas de Dados Linguagem Algorítmica OO Prof. Ronaldo S. Mello 2002/2 Linguagem Algorítmica Independente de linguagem de programação OO Utilizada para: Exemplificar os algoritmos
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1.ado o seguinte código: class valiacao { Qual fragmento de código irá compilar? a) class Prova extends valiacao { b)
Leia maisMapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima
Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Resumo Este tutorial destina-se a apresentar alguns exemplos de mapeamentos de associações/relacionamentos entre
Leia maisRepositórios JPA no Projeto ecafeteria
Repositórios JPA no Projeto ecafeteria Um objeto EntityManager representa uma ligação à base de dados. Quando um objeto EntityManger é criado também é criado um objeto EntityTransaction associado ao EntityManager.
Leia maisCriar um projeto ->. Criar no pacote entity a classe Funcionario com os atributos(idfuncionario, nome, sexo, ativo, salario). Criar construtor vazio, o construtor cheio, o tostring com todos os atributos
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces
Leia maisAplicação MVC com Class Library
Aplicação MVC com Class Library Vamos considerar uma Class Library com o modelo de dados e com acesso à base de dados através do Entity Framework. Uma Class Library nunca funciona sozinha. Vamos usá-la
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package
Leia maisPalavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Leia maisAula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU
Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisParticionamento de Banco com o Hibernate Shards
Ademir Constantino Filho (ademirconstantino@gmail.com): é bacharel em Sistemas de Informação e atua com Java desde 2002. Atualmente atua com desenvolvimento, consultoria e como instrutor para treinamentos.
Leia maisIntrodução ao Hibernate. Hibernate Mapeamento com Anotação. Projeto Desktop Uma Classe. Objetivo. Programas Utilizados
Introdução ao Hibernate Há dois mundos diferentes de software: um é o mundo Java, em que nada além de objetos são conhecidos, enquanto o outro é o mundo do banco de dados relacional, em que os dados reinam.
Leia maisBDII SQL TRANSAÇÃO Revisão 2
exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)
Leia maisPROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém
PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: antlr-2.7.7.jar aspectjweaver-1.8.13.jar attoparser-2.0.4.release.jar classmate-1.3.4.jar dom4j-1.6.1.jar hibernate-commons-annotations-5.0.1.final.jar
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisTUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL
TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL Nesse tutorial será mostrado como integrar o uso do Spring MVC com Hibernate e MySQL para desenvolver aplicações web. Será utilizado o Spring Tools Suite,
Leia maisDesenvolvimento Web com Java. Sérgio Lopes Caelum -
Desenvolvimento Web com Java Sérgio Lopes Caelum - http://www.caelum.com.br sergio.lopes@caelum.com.br Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares
Leia maisAgenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão
Agenda Instalação e configuração Driver JDBC Criação da classe de conexão Processamento de comandos SQL com JDBC Gerenciamento de conexões Execução simples de consultas Tratamento de exceções Instalação
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisIteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções
Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach
Leia maisClasse Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Leia maisJava First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.
Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado
Leia maisRELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO
Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE
Leia maisPLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Leia maisExceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Exceções AULA 13 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Exceções Objetivo Depois desta aula você será capaz
Leia maisLista de Exercícios 12 Transações
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO SCC0141 - Bancos de Dados e Suas Aplicações Prof. José Fernando Rodrigues Júnior 2º semestre
Leia maisPROCESSO SELETIVO PARA ESTÁGIO REMUNERADO NO TRIBUNAL DE CONTAS DO ESTADO DO MARANHÃO ENSINO SUPERIOR - INFORMÁTICA
PROCESSO SELETIVO PARA ESTÁGIO REMUNERADO NO TRIBUNAL DE CONTAS DO ESTADO DO MARANHÃO ENSINO SUPERIOR - INFORMÁTICA LEIA ATENTAMENTE AS INSTRUÇÕES ABAIXO. Você recebeu um CADERNO DE QUESTÕES contendo 5
Leia maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisHerança entre Entidades JPA. Prof. Fellipe Aleixo
Herança entre Entidades JPA Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br ORM e Herança Para estar completo o mecanismo de mapeamento objeto-relacional precisa suportar o conceito de herança da orientação
Leia maisPROGRAMAÇÃO ORIENTADA A
PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, MS M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos
Leia maisTransações em Aplicações Corporativas com Java EE
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Transações
Leia maisJava para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação
Leia maisAula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 08 Encapsulamento Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Projeto Orientado a Objetos Princípios: Abstração; Encapsulamento; Modularidade.
Leia maisSQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação
SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco
Leia maisInstituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos
Instituto Federal de Educação, Ciência e Tecnologia da Bahia Campus Irecê Disciplina: Linguagem Técnica II Prof o Jonatas Bastos Nome: LISTA DE EXERCÍCIO 1 Collections Framework 1. Criem um projeto que
Leia maisO JUnit permite a realização de testes de unidades, conhecidos como "caixa branca", facilitando assim a correção de métodos e objetos.
JUnit O JUnit é um framework open-source, criado por Erich Gamma e Kent Beck, com suporte à criação de testes automatizados na linguagem de programação Java. Esse framework facilita a criação de código
Leia maisRetrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos
Retrofit Criar um novo projeto Selecionar a API Empty Activity MainActivity Finish. Adicionar Novas Dependências Menu File > Project Structure Modulo app > Aba Dependencies Clique em adicionar (+) no canto
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisLinguagem de Programação IV Introdução
Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação
Leia maisIntrodução. Coleção HashMap Classe Java. Interesse
Coleção Classe Java Introdução Interesse Modelar correspondências unívocas (1 para 1) entre objetos, do tipo chave-valor. Associações entre: um elemento de um conjunto de chaves um elemento de uma coleção
Leia maisHibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
Hibernate Mapeamento Objeto-Relacional Baseado nas notas de aula de João Dalyson e Raphaela Galhardo Fernandes Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender MOR usando Hibernate
Leia maisAnálise e Projeto Orientados a Objetos
Análise e Projeto Orientados a Objetos Testes de unidade Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução Por que testar? Para verificar o correto funcionamento do código. Para garantir
Leia maisFILAS. As coisas de que uma fila é feita serão chamadas itens. Os itens podem ser números, strings, structs, etc., etc.
KATIA LIMA FILAS RAFAEL DA SILVA REIAS JEFFERSON DA SILVA OLIVEIRA RAFFAELA LEITE SANTANA EXISTEM MUITOS EXEMPLOS DE FILA NO MUNDO REAL: UMA FILA DE BANCO; NO PONTO DE ÔNIBUS; UM GRUPO DE CARROS AGUARDANDO
Leia maisLista de exercícios I - RESPOSTAS Servlets e banco de dados
www.posse.ueg.br Home Page: http://www.posse.ueg.br/index.php/conexao-ueg/meuperfil/userprofile/ronaldo Dado o diagrama de classe abaixo: Lista de exercícios I - RESPOSTAS Servlets e banco de dados 1.
Leia maisIntrodução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.
Introdução Configuração Padrão POJO Mapeamento Annotation Persistência Objetos Framework Pesistência de Objetos Java Prof. Enzo Seraphim O que é? Framework persistência de Objetos é uma moderna solução
Leia maisThreads. Linguagem Java. Adenilso da Silva Simão 17/05/05
17/05/05 Uma thread é uma linha de execução dentro de um programa Conceito de SO Java implementa suporte nativo a threads Duas formas de se implementar Implementando a interface Runnable Deve-se sobrepor
Leia maisEXERCÍCIOS PRÁTICOS DE REVISÃO. Banco de Dados
EXERCÍCIOS PRÁTICOS DE REVISÃO Banco de Dados 1.1. Criação de um Banco de Dados Crie o banco de dados vendas que possua a seguinte estrutura: CLIENTE(cliente_id *, cliente_nome,estado_codigo + ESTADO(estado_codigo
Leia maisFAURGS HCPA Edital 06/2010 PS 51 ANALISTA DE SISTEMA I Fábrica de Aplicativos Pág. 1
Pág. 1 HOSPITAL DE CLÍNICAS DE PORTO ALEGRE EDITAL Nº 06/20 /2010 0 DE PROCESSOS SELETIVOS GABARITO APÓS RECURSOS PROCESSO SELETIVO 51 ANALISTA DE SISTEMAS I Fábrica de Aplicativos 01. A 11. E 21. C 02.
Leia maisDesenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM
Desenvolvimento para Web em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM Tecnologias Web Java (OO) Fonte: Wikipedia Tecnologias Web em Java Java SE: Applets Java
Leia maisComo criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação
Leia maisBanco de dados. Conteúdo: DDL Prof. Patrícia Lucas
Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,
Leia maisProgramação Orientada a Objetos
Prof a. Edhelmira Lima Programação Orientada a Objetos Conteúdo: Exercícios Java Exercício 1 3 Exercício 1 Defina classes e/ou interfaces que modelem objetos geométricos. Os objetos geométricos são: retângulo,
Leia maisEnums em Java: utilização e persistência
Enums em Java: utilização e persistência Jadson José dos Santos jadsonjs@gmail.com Nas primeiras versões da linguagem Java, a única forma que existia para se utilizar constantes enumeradas era através
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.
PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos
Leia maisJ820. Mock objects. Testes de código com dependências. argonavis.com.br. Helder da Rocha
J820 Mock objects Testes de código com dependências Helder da Rocha (helder@acm.org) Como lidar com testes difíceis Testes devem ser simples e suficientes Comece com testes mais importantes Sempre pode-se
Leia maisInjeção de Dependências e Spring
Injeção de Dependências e Spring Daniel Cukier Prof. Fabio Kon IME-USP Conteúdo Exemplo Melhor maneira de aprender Injeção de Dependência (DI) Spring Service Locator Daniel Cukier - IME/USP 2/29 Exemplo
Leia maisMapeamento Objeto-Relacional
Mapeamento Objeto-Relacional Persistência de dados com Java Persistence API - Hibernate Jefferson S Silva Mapeamento objeto-relacional Mas como? SQL + JDBC!? 1 Para quê serve MOR? O uso de uma solução
Leia maisProfa. Thienne Johnson EACH/USP
Profa. Thienne Johnson EACH/USP Declarando classes usando generics Métodos que usam um parâmetro de tipo como tipo de retorno Declaração da classe BasicGeneric: class BasicGeneric Contém o parâmetro
Leia maisAnálise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas
Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas (Exemplo de Arquitetura) Jadson José dos Santos jadsonjs@gmail.com Natal/RN 2008 8 EXEMPLO DE ARQUITETURA COM PADRÕES... 3 9
Leia maisPadrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões
DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisTestes com objetos mock. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Análise e Projeto Orientados a Objetos
Testes com objetos mock Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Análise e Projeto Orientados a Objetos Introdução Testes são essenciais para garantir a qualidade do código. No entanto:
Leia maisUniversidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisO que mudou no Demoiselle?
Framework Demoiselle 2.0 O que mudou no Demoiselle? Robson Ximenes Thiago Mariano Para que serve este documento?... v 1. Introdução... 1
Leia maisPOO - Programação Orientada a Objetos. POO Programação Orientada a Objetos. O Dao Genérico. Jefferson S. Silva IFET - PI
POO Programação Orientada a Objetos O Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 Se fôssemos adicionar outra entidade no sistema, um Produto, por exemplo, como você escreveria o
Leia maisUTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO
UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO Anderson Carlos Lopes 1, Luiz Fernando Braga Lopes 1 Universidade Paranaense (UNIPAR) Paranavaí - PR Brasil andersoncarloslopes@hotmail.com,
Leia mais1 - O que será impresso quando o seguinte programa escrito na linguagem JAVA for compilado e executado?
1 - O que será impresso quando o seguinte programa escrito na int i; do i++; while(i < 0); System.out.println(i); a) O programa não compila pois a variável i não foi inicializada. b) O programa compila,
Leia maisAvançando em Java com
Avançando em Java com Polimorfismo (Interfaces) Prof.: Hugo Barros Interfaces Como já foi dito, java não permite que uma classe herde recurso de mais de uma classe. Herança múltiplipa é um recurso muito
Leia maisGrails. Desenvolvimento Java Açucarado
Grails Desenvolvimento Java Açucarado Joás Garcia TADS asaas.com me@joasgarcia.com 08h30min - 12h Coffee 10h - 10h15min Agenda 20/09 - Groovy e Grails 21/09 - Aplicação de exemplo Sorteio de [ 2 ] ebooks
Leia maisInstituto Superior de Engenharia de Lisboa
Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)
Leia maisLeonardo Gresta Paulino Murta leomurta@gmail.com
Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no
Leia mais2 Criar uma Enterprise Application que num módulo EJB irá conter um ou vários Beans.
Enterprise java Bens Folha 8-1 Session beans A Aplicação cliente que acede a um session bean (Exemplo retirado de: https://netbeans.org/kb/docs/javaee/entappclient.html) 1 Criar uma Java Class Library
Leia maisTestes Unitários com JUnit
Testes Unitários com JUnit Por: Luiz Gustavo Stábile de Souza http://luizgustavoss.wordpress.com Abril/2009 Motivação Apesar de já fazer um certo tempo que escrevi a primeira versão deste tutorial, o assunto
Leia maisDATA ACCESS OBJECT (DAO)
Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015
Leia maisContinuação... Criando a Interface e adiante
Continuação... Criando a Interface e adiante Racepitulando 1. Criar um projeto web: JavaServer Faces + Tomcat + Primefaces 2. Criar um banco de dados Postgresql 3. Adicionar os jars: javax.persistence
Leia maisO JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.
Introdução ao JasperReports O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source. Para efetuar o seu download acesse
Leia maisROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo
ROOM: Biblioteca de Mapeamento Objeto-Relacional Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Por que? Antes de mais nada: por que precisamos de persistência no disposi
Leia maisTabelas de Dispersão. Estrutura de Dados e Algoritmos
Tabelas de Dispersão Tabelas de Dispersão Sumário Definição. Características. Resolução de colisões: dispersão com listas e dispersão aberta. Teste quadrático. Desempenho de tabelas de dispersão. Interface
Leia maisCompilação dos trabalhos: questões de concurso
1 Compilação dos trabalhos: questões de concurso UFBA/DCC/Linguagens para Aplicação Comercial/2009.1 MPU/2007 (Equipe 1) 1 Quanto às variáveis Java, um inteiro de 64 bits em notação de complemento de dois
Leia maisruirossi@ruirossi.pro.br
Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos
Leia mais