Mostrando postagens com marcador Java. Mostrar todas as postagens
Mostrando postagens com marcador Java. Mostrar todas as postagens

quarta-feira, 9 de dezembro de 2015

Java 8 HashMap getOrDefault()

Exemplo do uso do método getOrDefault() de um HashMap com a versão do Java 8. Usamos uma interface funcional Testar, mostrando uma maneira de chamar o método testar().

@FunctionalInterface
public interface Testar {

    String testar();
}
 
public class TesteMain {

    public static void main(String[] args) {
        int id = 1;
        HashMap<Integer, Testar> map = init();
        System.out.println(id + " é " 
           + map.getOrDefault(id, TesteMain::id1).testar());

    }

    private static String id1() {
        return "1";
    }

    private static String id2() {
        return "2";
    }

    private static String id3() {
        return "3";
    }

    private static HashMap<Integer, Testar> init() {
        HashMap<Integer, Testar> map = new HashMap<>();
        map.put(2, TesteMain::id2);
        map.put(3, TesteMain::id3);
        return map;
    }
}



domingo, 8 de junho de 2014

Instalando Maven no Ubuntu

1º Instalando Maven
  1. Baixar o maven: http://maven.apache.org/download.html
  2. Descompactar o arquivo.
  3. Adicionar as variáveis de ambiente M2_HOME , M2;
    • M2_HOME=/caminho/maven
    • M2=$M2_HOME/bin
  4. Alterar a variável PATH:
    • PATH = acrescentar $M2
  5. Verificar a existência da variável JAVA_HOME e a referência $JAVA_HOME/bin no PATH.
  6. Rodar o comando “mvn -version” no terminal.

Saiba onde configurar as variáveis de ambiente aqui

segunda-feira, 21 de abril de 2014

Criando JSF 2.0

Criando um Novo Projeto em JSF 2.0

Usaremos JSF Mojarra 2.0, Tomcat 7 e JDK 7.

Levo em consideração que você tenha baixado os jars do JSF, tenha a pasta do tomcat 7  e instalado o JDK 7. Depois de feito seu download nos links acima!

File > New Project e selecionaremos Dynamic Web Project:



Em seguida configuraremos nosso Tomcat:

Selecionamos a versão que nesse caso é a 7.0:


Agora vamos configurar o diretório onde se encontra o Tomcat:





Feito isso, escolheremos a JRE 7:



Marque a opção Generate web.xml...



Em "Type:" deixe Disable Libary Configuration, pois nós mesmos colocaremos as libs no projeto! E Finish



Após fazer download das libs do JSF, copie e cole todas os 4 jars para a pasta lib que fica dentro de WebContent/WEB-INF, veja abaixo:



Aproveitando a imagem acima, vemos o nosso web.xml, nele fiz as seguintes configurações:
na tag <welcome-file-list> deixei apenas uma <welcome-file> que é qual pagina quando executarmos o projeto ele carregará, no caso está como index.xhtml. Na tag <url-pattern> configurei a maneira que será visualizado a minha extensão, por exemplo, assim que for executado esse projeto ele abrirá no navegador mostrando o endereço localhost/projeto/index.jsf e não localhost/projeto/index.xhtml, caso eu coloque entre essa tag o valor "*.thiago" será exibido no navegador localhost/projeto/index.thiago

Na pasta WebContent que é criada as paginas xhtml.



Em todas as paginas criadas, temos que fazer o import para poder usar as tag <h: /> do JSF, assim como vemos na imagem acima.

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets">


Nesse exemplo criado, fiz um ManagedBean PessoaMB e uso as @anotações @ManagedBean @SessionScoped acima da declaração da classe. Importante notar que o eclipse pode importar esses @ de javax.annotation.*; que é INCORRETO! O import correto é javax.faces.bean.*; caso contrario, não será um ManagedBean para o JSF.



Fizemos um ManagedBean e coloquei alguns atributos para dar como exemplo, fizemos também um método chamado gerar() que carrega esses atributos com um nome e idade, assim quando o metodo é chamado no xhtml ele carrega nome e idade para preencher nos inputText! 

Na imagem abaixo temos o xhtml com as tags <h:inputText> sendo carregadas desses valores com a propriedade value="#{}". Nessa propriedade value é onde chamamos nosso ManagedBean que por padrão leva o mesmo nome do MB só que a primeira letra em minúsculo. Na tag <h:commandButton> configuro as propriedades value que leva o nome do botão e a action que faz a ação, no caso chama o método responsável por gerar os nomes, assim a pagina é por padrão( já que não temos um retorno no método invocando outra pagina) novamente carregada e os campos trazem os atributos já carregados!



Ao executar o projeto, fica assim:


Quando clico em Gerar:






domingo, 16 de fevereiro de 2014

Instalar JDK 6 / JDK 7 Ubuntu

sudo apt-get install software-properties-common

Add the PPA:
$ sudo add-apt-repository ppa:webupd8team/java

Update the repo index:
$ sudo apt-get update

Install Java 8:
$ sudo apt-get install oracle-java8-installer

Or, install Java 7:
$ sudo apt-get install oracle-java7-installer

Or, install Java 6:
$ sudo apt-get install oracle-java6-installer

Comandos wsgen e wsimport

Estar dentro das pastas necessárias

wsimport -extension -keep -XadditionalHeaders http://endereco.do.wsdl/Servico.xxx?wsdl


wsgen -classpath build/classes/ -wsdl -r WebContent/WEB-INF/wsdl -s src -d build/classes/ com.servico.Servico

quinta-feira, 21 de novembro de 2013

Log4j Properties

Segue as configurações necessárias para usar o arquivo log4j.property

Saída para o console:
log4j.properties
# Root logger option
log4j.rootLogger=INFO, stdout
 
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Saída para arquivo:
log4j.properties
# Root logger option
log4j.rootLogger=INFO, file
 
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Saída para console e arquivo:
log4j.properties
# Root logger option
log4j.rootLogger=INFO, file, stdout
 
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
 
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Instalando JDK 7 no Ubuntu

Para começar, abra o terminal e escreva o comando seguinte para adicionar o repositório que disponibiliza o Java:
sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update
sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update
sudo add-apt-repository p

Em seguidao seu Ubuntu já fica com acesso aos pacotes de instalação do Oracle Java 7. Assim, para o instalar apenas precisa de clicar no botão seguinte ou escrever o comando seguinte no terminal:
sudo apt-get install oracle-jdk7-installer

Verificação da instalação:
java -version


O básico sobre JAVA

Classe
Uma classe define o comportamento de seus objetos através de métodos  E os estados possíveis destes objetos através de atributos. Uma classe não é o conjunto de objetos e sim a descrição de como seus objetos devem ser. É como um carimbo, uma forma de bola, um molde e assim por diante! Uma classe se inicia através da declaração:
public class NomeClasse{ }

Objeto
Uma abstração de algo que possui limites definidos. Um objeto passa a existir apartir de um molde, ou seja, uma classe, que define suas ações (comportamento) e atributos (estado). Objeto também é considerado uma instancia de uma classe, quando um objeto é criado ele precisa ser inicializado, para uma classe podemos ter vários objetos.

Atributos
Os atributos são os possíveis dados armazenados por um objeto de uma classe, representa o estado de cada objeto. Pensamos na abstração: será que o número de passageiros é importante ter? Logo se a resposta for positiva, teremos um atributo passageiros. 
Ex.: 
Classe carro:
Atributos: cor do carro, cor da roda, numero de portas...

Métodos

Um método é uma rotina (sequencia de instruções) que é executado por um objeto ao receber uma mensagem. Os métodos que determinam o comportamento do objeto de uma classe. Voltamos a parte de abstração: sera que um objeto carro precisa acelerar? Sim claro, para andar!
Ex.: 
Classe carro:
Métodos: acelerar, ligar, desligar...