<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-283611545329522935</id><updated>2024-11-05T19:01:15.191-08:00</updated><title type='text'>Blogging for Knowledge</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-8962623587413568523</id><published>2013-11-16T20:58:00.000-08:00</published><updated>2013-11-17T14:20:00.722-08:00</updated><title type='text'>Beginning EJB3 with JBoss and MySQL</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here, I am going to show how to begin with EJB and deploy in JBoss server. For this example, I am using MySQL database.&lt;br /&gt;
&lt;br /&gt;
Prerequisites for this example:&lt;br /&gt;
- &lt;a href=&quot;http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA.zip/download&quot;&gt;JBoss&lt;/a&gt;&lt;br /&gt;
- &lt;a href=&quot;http://www.blogger.com/www.eclipse.org&quot;&gt;Eclipse&lt;/a&gt;&lt;br /&gt;
- &lt;a href=&quot;http://www.blogger.com/www.mysql.com&quot;&gt;MySQL&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;The first step involves the work in JBoss server side.&lt;br /&gt;
&lt;br /&gt;
- Copy jboss&lt;jboss&gt;\docs\examples\jca\mysql-ds.xml to &lt;jboss&gt;jboss\server\default\deploy and edit as in the xml below.&lt;br /&gt;
    - Copy mysql-connector-java-&lt;version&gt;.jar to jboss&lt;jboss&gt;\server\default\lib.&lt;br /&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;datasources&gt;
  &lt;local-tx-datasource&gt;
    &lt;jndi-name&gt;UserMgtDS&lt;/jndi-name&gt;
    &lt;connection-url&gt;jdbc:mysql://localhost:3306/user_db&lt;/connection-url&gt;
    &lt;driver-class&gt;com.mysql.jdbc.Driver&lt;/driver-class&gt;
    &lt;user-name&gt;user&lt;/user-name&gt;
    &lt;password&gt;pass&lt;/password&gt;
    &lt;exception-sorter-class-name&gt;
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
    &lt;/exception-sorter-class-name&gt;  
    &lt;metadata&gt;
       &lt;type-mapping&gt;mySQL&lt;/type-mapping&gt;
    &lt;/metadata&gt;
  &lt;/local-tx-datasource&gt;
&lt;/datasources&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Let’s run eclipse and create an EJB project.

File--&amp;gt;New--&amp;gt;EJB Project.&amp;nbsp;&lt;/jboss&gt;&lt;/version&gt;&lt;/jboss&gt;&lt;/jboss&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMyIKSjCcwJvpAlnSWrg8ninaw3P-DOV9AMDaTzbZ8GuGrxoMoEQ7R0-0HqURSD177XrQ5WbecWgoFeySUWRGC_EbNfPNWvdi7PJmu1WYtM2iJxQkWBCARPBAHiA0AICJKMk7FRePwSdu7/s1600/pic1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMyIKSjCcwJvpAlnSWrg8ninaw3P-DOV9AMDaTzbZ8GuGrxoMoEQ7R0-0HqURSD177XrQ5WbecWgoFeySUWRGC_EbNfPNWvdi7PJmu1WYtM2iJxQkWBCARPBAHiA0AICJKMk7FRePwSdu7/s400/pic1.png&quot; width=&quot;295&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click on ‘New Runtime’ button.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqamovliBEAiOopX2wbphk1Fbzxts6rRDtfse02dAa-MWfj3Vyo_B1NO2Rej6RgHYavoSzKM-v-BxnuJHffAn8IkAbep7Qe-G5S3dyQAL8id1hQt8wtTZzJWdoByPP04DhpZiJ4mVzst9i/s1600/pic2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqamovliBEAiOopX2wbphk1Fbzxts6rRDtfse02dAa-MWfj3Vyo_B1NO2Rej6RgHYavoSzKM-v-BxnuJHffAn8IkAbep7Qe-G5S3dyQAL8id1hQt8wtTZzJWdoByPP04DhpZiJ4mVzst9i/s400/pic2.png&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Select Jboss 5.0 and click Next.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC4OxvzZ5OzoO6KMWeFlsgFucP5Z6yaW_5ps2VT_18be5rTu-f3z3wAEghxtL0h9a3OH9MGHOf0tlQ1aCNd8T2QQhvpeoyd4mqnxtqjBz0fknRWS2zijBS2q4A2ZafOmMCtxGi37HVU9Jb/s1600/pic3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC4OxvzZ5OzoO6KMWeFlsgFucP5Z6yaW_5ps2VT_18be5rTu-f3z3wAEghxtL0h9a3OH9MGHOf0tlQ1aCNd8T2QQhvpeoyd4mqnxtqjBz0fknRWS2zijBS2q4A2ZafOmMCtxGi37HVU9Jb/s400/pic3.png&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Browse JBoss root directory and click ‘Finish’.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQRzFxq02KkO47yU9zXEbLgZzY7zAr1-5EudPAQrUDjzEEvHF5MV9PovKGFPCW5IO_lr4ThuAKurfx-GEfZyUUQxBcsCT6P-EcTG5j-GutVydHnGaSGiutRY_meXijoKROM1PUUYpkCAT6/s1600/pic4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQRzFxq02KkO47yU9zXEbLgZzY7zAr1-5EudPAQrUDjzEEvHF5MV9PovKGFPCW5IO_lr4ThuAKurfx-GEfZyUUQxBcsCT6P-EcTG5j-GutVydHnGaSGiutRY_meXijoKROM1PUUYpkCAT6/s400/pic4.png&quot; width=&quot;295&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Click Finish.&lt;br /&gt;
&lt;br /&gt;
Add a file named persistence.xml in ejbModule/META-INF.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;persistence version=&quot;2.0&quot;
 xmlns=&quot;http://java.sun.com/xml/ns/persistence&quot; 
 xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
 xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/persistence 
 http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd&quot;&gt;
 &lt;persistence-unit name=&quot;UserMgtPU&quot; transaction-type=&quot;JTA&quot;&gt;
  &lt;jta-data-source&gt;java:/UserMgtDS&lt;/jta-data-source&gt;
  &lt;properties&gt;
   &lt;property name=&quot;hibernate.dialect&quot; value=&quot;org.hibernate.dialect.MySQLDialect&quot; /&gt;
   &lt;property name=&quot;hibernate.hbm2ddl.auto&quot; value=&quot;create&quot; /&gt;
  &lt;/properties&gt;
 &lt;/persistence-unit&gt;
&lt;/persistence&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Add an entity class User in com.test.user.domain package.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq3YfQNLfg2pS7ukHEkrSSRZGpmVbnPank5tbJe_p79b04xubtRWFacW2Dbd7ZTmppq2YBuCx-EWBI7qn7MwwNXMoSv-7Ql00AoIeQCR_VO4Cd2PgHpQaNvQcLqJ7g_N7TSNK_HHMVSKq5/s1600/pic5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq3YfQNLfg2pS7ukHEkrSSRZGpmVbnPank5tbJe_p79b04xubtRWFacW2Dbd7ZTmppq2YBuCx-EWBI7qn7MwwNXMoSv-7Ql00AoIeQCR_VO4Cd2PgHpQaNvQcLqJ7g_N7TSNK_HHMVSKq5/s400/pic5.png&quot; width=&quot;340&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.test.user.domain;

import java.io.Serializable;
import javax.persistence.*;

@Entity
@Table(name = &quot;user_details&quot;)
public class User implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue
    @Column(name = &quot;id&quot;)
    private Integer id;
   
    @Column(name = &quot;user_name&quot;, length = 100)   
    private String userName;
   
    @Column(name = &quot;password&quot;, length = 100)
    private String password;

       public Integer getId() {
              return id;
       }

       public void setId(Integer id) {
              this.id = id;
       }

       public String getUserName() {
              return userName;
       }

       public void setUserName(String userName) {
              this.userName = userName;
       }

       public String getPassword() {
              return password;
       }

       public void setPassword(String password) {
              this.password = password;
       }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
Add a Session Bean(New--&amp;gt;Session Bean(EJB 3.x)).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4fgkC5XnDwfi19Duq1VfM4ff78Yw7IISt5mNwiDaxKMrMU0we-mErT0t1FkuybCbfXmgp7hrPohbSd1jnqOH3dJNT3ZsHnbk_MHJxexE53d_GRe6XYiV3kPgt4XA4YAX3f8G7htXIZcRo/s1600/pic6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;388&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4fgkC5XnDwfi19Duq1VfM4ff78Yw7IISt5mNwiDaxKMrMU0we-mErT0t1FkuybCbfXmgp7hrPohbSd1jnqOH3dJNT3ZsHnbk_MHJxexE53d_GRe6XYiV3kPgt4XA4YAX3f8G7htXIZcRo/s400/pic6.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
It will create a session bean and a remote interface.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.test.user.session;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.test.user.domain.User;

@Stateless
public class UserSessionBean implements UserSessionBeanRemote {

    @PersistenceContext(unitName=&quot;UserMgtPU&quot;)
    EntityManager em;

       @Override
       public void createUser(User user) {            
              em.persist(user);         
       }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.test.user.session;

import javax.ejb.Remote;

import com.test.user.domain.User;

@Remote
public interface UserSessionBeanRemote {

       public void createUser(User user);
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdk8HA14mdbOXkqckMTETXZ0oH7hl5kT_HsQURk0_CCZZ-ZwbG1PTD3G-IajhbnTc6ZpvLALCps5sbiaqENnzKPsOt_p9gPfw0SFDtItPWb-raRy3z85TMjR9Az9VdD6tdNTV5eDGQH691/s1600/pic7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdk8HA14mdbOXkqckMTETXZ0oH7hl5kT_HsQURk0_CCZZ-ZwbG1PTD3G-IajhbnTc6ZpvLALCps5sbiaqENnzKPsOt_p9gPfw0SFDtItPWb-raRy3z85TMjR9Az9VdD6tdNTV5eDGQH691/s320/pic7.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Run As --&amp;gt; Run on Server&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSbHAizP2hw2G7hxN2dZD1NLW4Qb4WX5oeVafY19GXkCl6Y4vpnklIQlF8ieJB5-qVtk2xCdWcSw2jOElE0n6YhBE_MuaOde8cqW1N-z9-ZOkswvVhy_hZLBAsRzLQXfI9GvzKYYUitjE8/s1600/pic7a.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;68&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSbHAizP2hw2G7hxN2dZD1NLW4Qb4WX5oeVafY19GXkCl6Y4vpnklIQlF8ieJB5-qVtk2xCdWcSw2jOElE0n6YhBE_MuaOde8cqW1N-z9-ZOkswvVhy_hZLBAsRzLQXfI9GvzKYYUitjE8/s640/pic7a.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Which shows our service is up and running. &lt;br /&gt;
&lt;br /&gt;
While deploying, if you get an error due to AttachmentStore,you may need to change the content of &lt;jboss&gt;jboss/server/default/conf/bootstrap/profile.xml. Look for the definition of the AttachmentStore, and change the constructor line so that it starts:
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;constructor&gt;&lt;parameter class=&quot;java.io.File&quot;&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
The original one doesn&#39;t have the class=&quot;java.io.File&quot; attribute.&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;jboss&gt;Now, let’s start with the client.Create a test class with main method as follows.

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.test.ejb.app;

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.test.user.domain.User;
import com.test.user.session.UserSessionBeanRemote;

public class UserTest {

       private static UserSessionBeanRemote userSessionBeanRemote; 
      
       public static void main(String[] args) {
               
              try {
                     /*Properties properties = new Properties();
                     properties.put(Context.INITIAL_CONTEXT_FACTORY, &quot;org.jnp.interfaces.NamingContextFactory&quot;);                  
                     properties.setProperty(Context.PROVIDER_URL, &quot;localhost:1099&quot;);
                     Context context = new InitialContext(properties);*/
                    
                     Context context = new InitialContext();
                     userSessionBeanRemote = (UserSessionBeanRemote) context.lookup(&quot;UserSessionBean/remote&quot;);
                    
                     User user = new User();
                     user.setUserName(&quot;JSmith&quot;);
                     user.setPassword(&quot;J@%NForEJB&quot;);                
                     userSessionBeanRemote.createUser(user);
                    
                     System.out.println(&quot;User has been created successfully.&quot;);
                    
              } catch (NamingException e) {                  
                     e.printStackTrace();
              }
       }
}
]]&gt;&lt;/script&gt;&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;jboss&gt;Here, JNDI lookup can be performed in two ways.&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;jboss&gt;1. By setting properties in the Java class.&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;jboss&gt;As commented above&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;jboss&gt;Or&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;jboss&gt;&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
Properties properties = new Properties();
properties.put(&quot;java.naming.factory.initial&quot;, &quot;org.jnp.interfaces.NamingContextFactory&quot;);
properties.setProperty(&quot;java.naming.provider.url&quot;, &quot;localhost:1099&quot;);
Context context = new InitialContext(properties);
]]&gt;&lt;/script&gt;&lt;br /&gt;

2. By adding jndi.properties file in src folder.&amp;nbsp;&lt;/jboss&gt;&lt;br /&gt;
&lt;jboss&gt;&amp;nbsp;jndi.properties:
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
]]&gt;&lt;/script&gt;&lt;br /&gt;

&lt;/jboss&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLxkl1HikTOXUYWEPzKS74f8xFsF_UFXabHATFwvETFFAvL6x7qwSDVv_5ryhDQEQiOBufMbDuqXSWFn2BBF87gq3BhGYk1Fh1GAiJVDq4uD0AOveb1F9eu7gBSamBWA91mnLCLJ2jfuHk/s1600/pic8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLxkl1HikTOXUYWEPzKS74f8xFsF_UFXabHATFwvETFFAvL6x7qwSDVv_5ryhDQEQiOBufMbDuqXSWFn2BBF87gq3BhGYk1Fh1GAiJVDq4uD0AOveb1F9eu7gBSamBWA91mnLCLJ2jfuHk/s320/pic8.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Run UserTest as a Java application.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Output&lt;/b&gt;: User has been created successfully.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitGfMF1q1fE4fqCMUctEOsSYHlXg823WoIGD2i0OFt3hDjtzu3Ap8N1UpTjbTzdggrKmr3VkKPVIyCqtyJeCe-8SoQD01Ao5g63sff_jT838nvcwM4j0DEPJ6VUoElZds9-PLecq21Pgq4/s1600/pic9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitGfMF1q1fE4fqCMUctEOsSYHlXg823WoIGD2i0OFt3hDjtzu3Ap8N1UpTjbTzdggrKmr3VkKPVIyCqtyJeCe-8SoQD01Ao5g63sff_jT838nvcwM4j0DEPJ6VUoElZds9-PLecq21Pgq4/s320/pic9.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/8962623587413568523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2013/11/ejb3-and-jboss.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8962623587413568523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8962623587413568523'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2013/11/ejb3-and-jboss.html' title='Beginning EJB3 with JBoss and MySQL'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMyIKSjCcwJvpAlnSWrg8ninaw3P-DOV9AMDaTzbZ8GuGrxoMoEQ7R0-0HqURSD177XrQ5WbecWgoFeySUWRGC_EbNfPNWvdi7PJmu1WYtM2iJxQkWBCARPBAHiA0AICJKMk7FRePwSdu7/s72-c/pic1.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-5054854560063397830</id><published>2013-11-11T13:33:00.002-08:00</published><updated>2013-11-16T21:18:10.773-08:00</updated><title type='text'>Spring and Drools</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div align=&quot;justify&quot;&gt;
Let us assume that we have dozens of rules that we have to implement, divide into some classes, subclasses, abstractions and of course unit test. This can be difficult and time consuming to both write and support. There are many ways of dealing with this problem and following example leverages one of them - JBoss Drools. 

Drools is a library specifically created for such purposes like implementing rules. It contains a rule engine that can process rules written using the Drools language (you can also provide rules in Excel spreadsheets! - perfect for Business side to support and management).

Here, we will take a look at the way one can integrate JBoss Drools with Spring.

(Reference: http://java.dzone.com/articles/drools-integration-spring-vs)
&lt;/div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;b&gt;POJO Class:&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.drools.spring.model;

public class Account {

 private String accountType;
 private long accountNumber;
 private double balance;
 private double withdrawAmount;
 private boolean valid; 
 
 public Account(long accountNumber, String accountType, double balance, double withdrawAmount) {  
  this.accountNumber = accountNumber;
  this.accountType = accountType;
  this.balance = balance;
  this.withdrawAmount = withdrawAmount;
 }  
 
 public long getAccountNumber() {
  return accountNumber;
 }
 public void setAccountNumber(long accountNumber) {
  this.accountNumber = accountNumber;
 }
 public String getAccountType() {
  return accountType;
 }
 public void setAccountType(String accountType) {
  this.accountType = accountType;
 }
 public double getBalance() {
  return balance;
 }
 public void setBalance(double balance) {
  this.balance = balance;
 }
 public double getWithdrawAmount() {
  return withdrawAmount;
 }
 public void setWithdrawAmount(double withdrawAmount) {
  this.withdrawAmount = withdrawAmount;
 }
 public boolean isValid() {
  return valid;
 }
 public void setValid(boolean valid) {
  this.valid = valid;
 } 
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;Main Class:&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.drools.spring;

import java.util.Arrays;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.drools.spring.model.Account;
import com.drools.spring.service.AccountServiceImpl;

public class DroolsSpringTest {

 private static final Logger logger = LoggerFactory.getLogger(DroolsSpringTest.class);

 public static void main(String args[]) {
  ApplicationContext applicationContext = new ClassPathXmlApplicationContext(&quot;applicationContext.xml&quot;);
  AccountServiceImpl bean = ((AccountServiceImpl) applicationContext.getBean(&quot;AccountServiceImpl&quot;));

  Account acct1 = new Account(1234, &quot;Checking&quot;, 2000.0, 700.0);
  Account acct2 = new Account(5678, &quot;Checking&quot;, 1500.0, 2000.0);

  List&lt;account&gt; accounts = Arrays.asList(acct1, acct2);
  bean.isValidForWithdraw(accounts);

  printBalance(accounts);
 }

 private static void printBalance(List&lt;account&gt; accounts) {

  logger.debug(&quot;Printing Balance...&quot;);
  
  for (int i = 0; i &lt; accounts.size(); i++) {
   Account acct = accounts.get(i);
   logger.debug(&quot;Account &quot; + acct.getAccountNumber());
   logger.debug(&quot;Balance before withdraw: &quot; + acct.getBalance());
   
   if (acct.isValid()) {
    logger.debug(&quot;Withdrawing &quot;+acct.getWithdrawAmount());
    acct.setBalance(acct.getBalance() - acct.getWithdrawAmount());
    logger.debug(&quot;Balance after withdraw: &quot;+ acct.getBalance());
   }
   else{
    logger.debug(&quot;Insufficient fund. Can&#39;t withdraw.&quot;);
   }   
  }
 }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;Service Class:&lt;/b&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.drools.spring.service;

import java.util.List;

import org.drools.runtime.StatelessKnowledgeSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;

import com.drools.spring.model.Account;

@Component(&quot;AccountServiceImpl&quot;)
public class AccountServiceImpl {

    private static final Logger logger = LoggerFactory.getLogger(AccountServiceImpl.class);

    @Autowired
    private ApplicationContext applicationContext;

    public void isValidForWithdraw(List&lt;account&gt; accounts) {
        
        StatelessKnowledgeSession statelessKnowledgeSession = (StatelessKnowledgeSession)applicationContext.getBean(&quot;accountSession&quot;);
        logger.debug(&quot;Applying withdraw rule...&quot;);
        statelessKnowledgeSession.execute(accounts);
        logger.debug(&quot;Done with withdraw rule.&quot;);      
    }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;Util Class:&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.drools.spring.utils;

import com.drools.spring.model.Account;

public final class AccountUtil {
 
    public static boolean checkIfValid(Account account){
        
     boolean valid = true;
            
        if(account.getBalance() - account.getWithdrawAmount() &lt; 0){
         valid = false;
        }
        return valid;
    }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;applicationContext.xml&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
       xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
       xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
       xsi:schemaLocation=&quot;http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
                           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd&quot;&gt;

    &lt;import resource=&quot;classpath:drools-context.xml&quot;/&gt;
    &lt;context:component-scan base-package=&quot;com.drools.spring&quot; /&gt;
&lt;/beans&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;drools-context.xml&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
       xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
       xmlns:drools=&quot;http://drools.org/schema/drools-spring&quot;
       xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd&quot;&gt;

    &lt;drools:kbase id=&quot;accountBase&quot;&gt;
        &lt;drools:resources&gt;
            &lt;drools:resource type=&quot;DRL&quot; source=&quot;classpath:rules/account-rules.drl&quot;/&gt;
        &lt;/drools:resources&gt;
    &lt;/drools:kbase&gt;

    &lt;drools:ksession id=&quot;accountSession&quot; name=&quot;accountSession&quot; type=&quot;stateless&quot; kbase=&quot;accountBase&quot;/&gt;    
&lt;/beans&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;log4j.xml&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE log4j:configuration SYSTEM &quot;log4j.dtd&quot;&gt;
&lt;log4j:configuration xmlns:log4j=&quot;http://jakarta.apache.org/log4j/&quot;&gt;

 &lt;!-- Appenders --&gt;
 &lt;appender name=&quot;console&quot; class=&quot;org.apache.log4j.ConsoleAppender&quot;&gt;
  &lt;param name=&quot;Target&quot; value=&quot;System.out&quot; /&gt;
  &lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;
   &lt;param name=&quot;ConversionPattern&quot; value=&quot;%d %-5p [%t] %c:%L %m%n&quot; /&gt;
  &lt;/layout&gt;
 &lt;/appender&gt;
 
 &lt;!-- Application Loggers --&gt;
 &lt;logger name=&quot;com.drools&quot;&gt;
  &lt;level value=&quot;DEBUG&quot; /&gt;
 &lt;/logger&gt;
 
 &lt;!-- 3rdparty Loggers --&gt;
 &lt;logger name=&quot;org.springframework.core&quot;&gt;
  &lt;level value=&quot;INFO&quot; /&gt;
 &lt;/logger&gt;
 
 &lt;logger name=&quot;org.springframework.context&quot;&gt;
  &lt;level value=&quot;INFO&quot; /&gt;
 &lt;/logger&gt;


 &lt;!-- Root Logger --&gt;
 &lt;root&gt;
  &lt;priority value=&quot;INFO&quot; /&gt;
  &lt;appender-ref ref=&quot;console&quot; /&gt;
 &lt;/root&gt;
 
&lt;/log4j:configuration&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;Rule file(account-rules.drl)&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.drools

import org.slf4j.LoggerFactory
import com.drools.spring.DroolsSpringTest
import com.drools.spring.model.Account

import function com.drools.spring.utils.AccountUtil.checkIfValid

rule &quot;Checking rule&quot;
 dialect &quot;mvel&quot;
 lock-on-active
when
     $account : Account(accountType == &quot;Checking&quot;)
then
     modify ($account) {valid = checkIfValid($account)}
     LoggerFactory.getLogger(DroolsSpringTest.class).debug(String.format(&quot;Withdraw rule applied to Account [%s]. Can withdraw? =  [%s]&quot;, $account.accountNumber, $account.valid))
end
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;pom.xml&lt;/b&gt;

&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
 xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
 &lt;modelversion&gt;4.0.0&lt;/modelVersion&gt;
 &lt;groupid&gt;DroolsTest&lt;/groupId&gt;
 &lt;artifactid&gt;com.drools.spring&lt;/artifactId&gt;
 &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;

 &lt;properties&gt;  
  &lt;spring.version&gt;3.1.1.RELEASE&lt;/spring.version&gt;
 &lt;/properties&gt;

 &lt;dependencies&gt;
  &lt;!-- Spring --&gt;
  &lt;dependency&gt;
   &lt;groupid&gt;org.springframework&lt;/groupId&gt;
   &lt;artifactid&gt;spring-core&lt;/artifactId&gt;
   &lt;version&gt;${spring.version}&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;dependency&gt;
   &lt;groupid&gt;org.springframework&lt;/groupId&gt;
   &lt;artifactid&gt;spring-context&lt;/artifactId&gt;
   &lt;version&gt;${spring.version}&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;dependency&gt;
   &lt;groupid&gt;org.drools&lt;/groupId&gt;
   &lt;artifactid&gt;drools-spring&lt;/artifactId&gt;
   &lt;version&gt;5.4.0.Final&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;dependency&gt;
   &lt;groupid&gt;org.slf4j&lt;/groupId&gt;
   &lt;artifactid&gt;slf4j-log4j12&lt;/artifactId&gt;
   &lt;version&gt;1.6.6&lt;/version&gt;
  &lt;/dependency&gt;
 &lt;/dependencies&gt;
&lt;/project&gt;
]]&gt;&lt;/script&gt;
&lt;b&gt;Project Structure:&lt;/b&gt;

&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsaPn-UXDNCeZUXarzzwprGsgs_oE4m-4EbLCpJVtxUHwz59wgUn3bNOseXsY-GnUrIQFT34ksw9kHkZ5mc9RWGIWA2ZtmJa_6dr9LAIpiegZBxcZPniICNk2mwnmTvYdcydkyoTsUovBn/s1600/drools.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsaPn-UXDNCeZUXarzzwprGsgs_oE4m-4EbLCpJVtxUHwz59wgUn3bNOseXsY-GnUrIQFT34ksw9kHkZ5mc9RWGIWA2ZtmJa_6dr9LAIpiegZBxcZPniICNk2mwnmTvYdcydkyoTsUovBn/s1600/drools.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;And here goes the output.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvD34Sn1toxAcREVwV1QOYSO9yLN9nX0qXVyvUrWXy_DsXQhHw-aNZok1G41C5MJ48Lwjkx4njY4xhWPfST0gCXGN-PqVTFH4182Iicx28o3j-om3F6oCVsMhDVMIbOERdv9CHYqkickxW/s1600/output.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvD34Sn1toxAcREVwV1QOYSO9yLN9nX0qXVyvUrWXy_DsXQhHw-aNZok1G41C5MJ48Lwjkx4njY4xhWPfST0gCXGN-PqVTFH4182Iicx28o3j-om3F6oCVsMhDVMIbOERdv9CHYqkickxW/s1600/output.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Enjoy Drooling!

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/5054854560063397830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2013/11/spring-and-drools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/5054854560063397830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/5054854560063397830'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2013/11/spring-and-drools.html' title='Spring and Drools'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsaPn-UXDNCeZUXarzzwprGsgs_oE4m-4EbLCpJVtxUHwz59wgUn3bNOseXsY-GnUrIQFT34ksw9kHkZ5mc9RWGIWA2ZtmJa_6dr9LAIpiegZBxcZPniICNk2mwnmTvYdcydkyoTsUovBn/s72-c/drools.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-7012152082800893530</id><published>2013-06-22T18:59:00.002-07:00</published><updated>2013-06-23T08:03:04.032-07:00</updated><title type='text'>Velocity Template with Spring</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;/div&gt;
Below example demonstrates how Velocity Template can be integrated with Spring for sending emails in a given template or write the content to an XML file.&lt;br /&gt;
Spring Configuration:&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
    xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd&quot;&gt;

 &lt;context:component-scan base-package=&quot;com.as.mail&quot; /&gt;

 &lt;bean id=&quot;mailSender&quot; class=&quot;org.springframework.mail.javamail.JavaMailSenderImpl&quot;&gt;
  &lt;property name=&quot;javaMailProperties&quot;&gt;
   &lt;props&gt;
    &lt;prop key=&quot;mail.smtp.auth&quot;&gt;true&lt;/prop&gt;
    &lt;prop key=&quot;mail.smtp.starttls.enable&quot;&gt;true&lt;/prop&gt;
    &lt;prop key=&quot;mail.smtp.host&quot;&gt;smtp.gmail.com&lt;/prop&gt;
    &lt;prop key=&quot;mail.smtp.port&quot;&gt;587&lt;/prop&gt;
   &lt;/props&gt;
  &lt;/property&gt;
  &lt;property name=&quot;username&quot; value=&quot;jane.doe@gmail.com&quot; /&gt;
  &lt;property name=&quot;password&quot; value=&quot;test&quot; /&gt;
 &lt;/bean&gt;
 
 &lt;bean id=&quot;velocityEngine&quot; class=&quot;org.springframework.ui.velocity.VelocityEngineFactoryBean&quot;&gt;  
  &lt;property name=&quot;velocityProperties&quot;&gt;
   &lt;props&gt;
    &lt;prop key=&quot;resource.loader&quot;&gt;class&lt;/prop&gt;
    &lt;prop key=&quot;class.resource.loader.class&quot;&gt;org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader&lt;/prop&gt;
   &lt;/props&gt;
  &lt;/property&gt;
 &lt;/bean&gt; 
&lt;/beans&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
Main Class:&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.as.mail;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import org.springframework.stereotype.Component;
import org.springframework.ui.velocity.VelocityEngineUtils;
 
@Component(&quot;emailSender&quot;)
public class EmailSender {
 
    @Autowired
    private JavaMailSender mailSender;
 
    @Autowired
    private VelocityEngine velocityEngine;    
 
    public void sendEmail(final String toEmailAddresses, final String fromEmailAddress,
                           final String subject) {
        
     final Map&lt;String, Object&gt; input = new HashMap&lt;String, Object&gt;();
        input.put(&quot;firstName&quot;, &quot;John&quot;);
        input.put(&quot;lastName&quot;, &quot;Smith&quot;);
        input.put(&quot;when&quot;, &quot;06/21/2013&quot;);
        final String body = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, &quot;templates/reminder.vm&quot;, &quot;UTF-8&quot;, input);
        
        sendMessage(toEmailAddresses, fromEmailAddress, subject, body);
    }
    
    public void sendSimpleEmail(final String toEmailAddresses, final String fromEmailAddress,
            final String subject) {     
   
        VelocityContext context = new VelocityContext();
        context.put(&quot;firstName&quot;, &quot;John&quot;);
        context.put(&quot;lastName&quot;, &quot;Smith&quot;);
        context.put(&quot;when&quot;, &quot;06/21/2013&quot;);        
        Template t = velocityEngine.getTemplate( &quot;templates/reminder.vm&quot; );
        
        final StringWriter writer = new StringWriter();
        t.merge(context, writer);    
        
        sendMessage(toEmailAddresses, fromEmailAddress, subject, writer.toString());
    }
    
    private void sendMessage(final String toEmailAddresses, final String fromEmailAddress,
            final String subject, final String body){
     
        MimeMessagePreparator preparator = new MimeMessagePreparator() {
          
            public void prepare(MimeMessage mimeMessage) throws Exception {
 
                MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true);
                message.setTo(toEmailAddresses);
                message.setFrom(new InternetAddress(fromEmailAddress));
                message.setSubject(subject);                  
                message.setText(body, true);                 
            }
        };
        this.mailSender.send(preparator);
    }
    
    public void writeToFile() {     
   
        ArrayList&lt;Map&lt;String, String&gt;&gt; list = new ArrayList&lt;Map&lt;String, String&gt;&gt;();
        
        Map&lt;String, String&gt; map = new HashMap&lt;String, String&gt;();
        map.put(&quot;name&quot;, &quot;Apple&quot;);
        map.put(&quot;price&quot;, &quot;2.49&quot;);
        list.add(map);
 
        map = new HashMap&lt;String, String&gt;();
        map.put(&quot;name&quot;, &quot;Orange&quot;);
        map.put(&quot;price&quot;, &quot;2.99&quot;);
        list.add(map);
        
        map = new HashMap&lt;String, String&gt;();
        map.put(&quot;name&quot;, &quot;Banana&quot;);
        map.put(&quot;price&quot;, &quot;1.99&quot;);
        list.add(map);
      
        VelocityContext context = new VelocityContext();
        context.put(&quot;fruitList&quot;, list);        
        Template t = velocityEngine.getTemplate( &quot;templates/fruitList.vm&quot; );
        
        final StringWriter writer = new StringWriter();
        t.merge(context, writer);
        
        FileWriter fileWriter = null;
        try {
            
            File newTextFile = new File(&quot;C:/test/test.xml&quot;);
            fileWriter = new FileWriter(newTextFile);
            fileWriter.write(writer.toString());
            
        } catch (IOException ex) {
            
        } finally {
            try {
             if(fileWriter!=null)
                fileWriter.close();
            } catch (IOException ex) {
             
            }
        }
    }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
Test Class:&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.as.mail;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class EmailSenderTest {

 public static void main(String[] args) {
  ApplicationContext ctx = new ClassPathXmlApplicationContext(&quot;spring/applicationContext.xml&quot;);
  EmailSender es = (EmailSender) ctx.getBean(&quot;emailSender&quot;);
  //es.sendEmail(&quot;john.smith@gmail.com&quot;, &quot;jane.doe@gmail.com&quot;,&quot;Hello&quot;);
  //es.sendSimpleEmail(&quot;john.smith@gmail.com&quot;, &quot;jane.doe@gmail.com&quot;,&quot;Hello&quot;);
  es.writeToFile();
  System.out.println(&quot;Done&quot;);
 }

}
]]&gt;&lt;/script&gt;&lt;br /&gt;
Email Template:&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;html&gt;
&lt;body&gt;
Hello ${firstName} ${lastName},&lt;p/&gt;

This is a reminder email. Please remember to submit your application by EOD ${when}.&lt;p/&gt;

Thanks&lt;br/&gt;
Support Team.

&lt;/body&gt;
&lt;/html&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
XML Template:&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;orderlist&gt;
#foreach( $fruit in $fruitList )
  &lt;fruit&gt;
    &lt;name&gt;$fruit.name&lt;/name&gt;
    &lt;price&gt;$fruit.price&lt;/price&gt;
  &lt;/fruit&gt;
#end
&lt;/orderlist&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
POM:&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
         xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
    &lt;modelversion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupid&gt;EmailVelocity&lt;/groupId&gt;
    &lt;artifactid&gt;EmailVelocity&lt;/artifactId&gt;
    &lt;packaging&gt;jar&lt;/packaging&gt;
    &lt;version&gt;1.0&lt;/version&gt;
   
    &lt;properties&gt;
        &lt;org.springframework.version&gt;3.2.1.RELEASE&lt;/org.springframework.version&gt;         
    &lt;/properties&gt;

    &lt;dependencies&gt;
        &lt;dependency&gt;
            &lt;groupid&gt;org.springframework&lt;/groupId&gt;
            &lt;artifactid&gt;spring-context&lt;/artifactId&gt;
            &lt;version&gt;${org.springframework.version}&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupid&gt;org.springframework&lt;/groupId&gt;
            &lt;artifactid&gt;spring-context-support&lt;/artifactId&gt;
            &lt;version&gt;${org.springframework.version}&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupid&gt;org.springframework&lt;/groupId&gt;
            &lt;artifactid&gt;spring-test&lt;/artifactId&gt;
            &lt;version&gt;${org.springframework.version}&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupid&gt;org.apache.velocity&lt;/groupId&gt;
            &lt;artifactid&gt;velocity&lt;/artifactId&gt;
            &lt;version&gt;1.7&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupid&gt;javax.mail&lt;/groupId&gt;
            &lt;artifactid&gt;mail&lt;/artifactId&gt;
            &lt;version&gt;1.4.5&lt;/version&gt;
        &lt;/dependency&gt;        
    &lt;/dependencies&gt;
&lt;/project&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Output(Email):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDAwxYRQ8tTh1dDugSajpD4EQDGd7LmO2UR4ja5YkY5Q5Bx5EPXaiDJM7qvoobJdZ2dZFa9oVdI3xMQIe9qLVKPjONQ9TMM3c3NF80e9BM3zUAw_rA2JCQFtED4XkKWDZ6fqTy08ELLymD/s1600/email.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDAwxYRQ8tTh1dDugSajpD4EQDGd7LmO2UR4ja5YkY5Q5Bx5EPXaiDJM7qvoobJdZ2dZFa9oVdI3xMQIe9qLVKPjONQ9TMM3c3NF80e9BM3zUAw_rA2JCQFtED4XkKWDZ6fqTy08ELLymD/s320/email.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Output(Xml File):&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;orderlist&gt;
  &lt;fruit&gt;
    &lt;name&gt;Apple&lt;/name&gt;
    &lt;price&gt;2.49&lt;/price&gt;
  &lt;/fruit&gt;
  &lt;fruit&gt;
    &lt;name&gt;Orange&lt;/name&gt;
    &lt;price&gt;2.99&lt;/price&gt;
  &lt;/fruit&gt;
  &lt;fruit&gt;
    &lt;name&gt;Banana&lt;/name&gt;
    &lt;price&gt;1.99&lt;/price&gt;
  &lt;/fruit&gt;
&lt;/orderlist&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Project Structure:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZnnp92eF1sBxEWRRLm_wcbdOlWGt5qKC3YSXI-to9sd8SIKv_sC9DIO1dIixuHS07AXsUQHhk5PoxZvZRI1eKAyszSyaxWQciEqzmxMF7XujRa77S0Y0SvqvupVwXmsj1BOs2nnMjo2Wd/s1600/vel.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZnnp92eF1sBxEWRRLm_wcbdOlWGt5qKC3YSXI-to9sd8SIKv_sC9DIO1dIixuHS07AXsUQHhk5PoxZvZRI1eKAyszSyaxWQciEqzmxMF7XujRa77S0Y0SvqvupVwXmsj1BOs2nnMjo2Wd/s320/vel.JPG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/7012152082800893530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2013/06/velocity-template-with-spring.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/7012152082800893530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/7012152082800893530'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2013/06/velocity-template-with-spring.html' title='Velocity Template with Spring'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDAwxYRQ8tTh1dDugSajpD4EQDGd7LmO2UR4ja5YkY5Q5Bx5EPXaiDJM7qvoobJdZ2dZFa9oVdI3xMQIe9qLVKPjONQ9TMM3c3NF80e9BM3zUAw_rA2JCQFtED4XkKWDZ6fqTy08ELLymD/s72-c/email.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-7871139968682065169</id><published>2013-05-03T07:32:00.001-07:00</published><updated>2013-05-03T09:52:58.269-07:00</updated><title type='text'>XML to Java Conversion with Smooks</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here is a simple example of XML to Java Conversion with Smooks.&lt;br /&gt;
Enjoy!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
input-message.xml
&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;music-catalog&gt;
    &lt;header&gt;
        &lt;date&gt;Thu May 02 19:45:28 EST 2013&lt;/date&gt;
        &lt;customer number=&quot;3035&quot;&gt;John Smith&lt;/customer&gt;
    &lt;/header&gt;
    &lt;album-list&gt;
    &lt;album&gt;
  &lt;title&gt;Soulsville&lt;/title&gt;
  &lt;artist&gt;Jorn Hoel&lt;/artist&gt;
  &lt;country&gt;Norway&lt;/country&gt;
  &lt;company&gt;WEA&lt;/company&gt;
  &lt;price&gt;7.90&lt;/price&gt;
  &lt;year&gt;1996&lt;/year&gt;
 &lt;/album&gt;
 &lt;album&gt;
  &lt;title&gt;The very best of&lt;/title&gt;
  &lt;artist&gt;Cat Stevens&lt;/artist&gt;
  &lt;country&gt;UK&lt;/country&gt;
  &lt;company&gt;Island&lt;/company&gt;
  &lt;price&gt;8.90&lt;/price&gt;
  &lt;year&gt;1990&lt;/year&gt;
 &lt;/album&gt;
 &lt;album&gt;
  &lt;title&gt;Stop&lt;/title&gt;
  &lt;artist&gt;Sam Brown&lt;/artist&gt;
  &lt;country&gt;UK&lt;/country&gt;
  &lt;company&gt;A and M&lt;/company&gt;
  &lt;price&gt;8.90&lt;/price&gt;
  &lt;year&gt;1988&lt;/year&gt;
 &lt;/album&gt;
    &lt;/album-list&gt;
&lt;/music-catalog&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
smooks-config.xml&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;smooks-resource-list xmlns=&quot;http://www.milyn.org/xsd/smooks-1.1.xsd&quot; 
       xmlns:jb=&quot;http://www.milyn.org/xsd/smooks/javabean-1.2.xsd&quot;&gt;

    &lt;jb:bean beanId=&quot;catalog&quot; class=&quot;com.music.shir.beans.MusicCatalog&quot; createOnElement=&quot;music-catalog&quot;&gt;
        &lt;jb:wiring property=&quot;header&quot; beanIdRef=&quot;header&quot; /&gt;
        &lt;jb:wiring property=&quot;albumList&quot; beanIdRef=&quot;albumList&quot; /&gt;
    &lt;/jb:bean&gt;

    &lt;jb:bean beanId=&quot;header&quot; class=&quot;com.music.shir.beans.Header&quot; createOnElement=&quot;header&quot;&gt;
        &lt;jb:value property=&quot;date&quot; decoder=&quot;String&quot; data=&quot;header/date&quot;/&gt; 
        &lt;jb:value property=&quot;customerNumber&quot; decoder=&quot;Long&quot; data=&quot;header/customer/@number&quot; /&gt;
        &lt;jb:value property=&quot;customerName&quot; data=&quot;header/customer&quot; /&gt;
    &lt;/jb:bean&gt;    

    &lt;jb:bean beanId=&quot;albumList&quot; class=&quot;java.util.ArrayList&quot; createOnElement=&quot;music-catalog&quot;&gt;
        &lt;jb:wiring beanIdRef=&quot;album&quot; /&gt;
    &lt;/jb:bean&gt;  

    &lt;jb:bean beanId=&quot;album&quot; class=&quot;com.music.shir.beans.Album&quot; createOnElement=&quot;album&quot;&gt;
        &lt;jb:value property=&quot;albumTitle&quot; decoder=&quot;String&quot; data=&quot;album/title&quot; /&gt;
        &lt;jb:value property=&quot;artist&quot; decoder=&quot;String&quot; data=&quot;album/artist&quot; /&gt;
        &lt;jb:value property=&quot;country&quot; decoder=&quot;String&quot; data=&quot;album/country&quot; /&gt;
        &lt;jb:value property=&quot;company&quot; decoder=&quot;String&quot; data=&quot;album/company&quot; /&gt;
        &lt;jb:value property=&quot;albumPrice&quot; decoder=&quot;Double&quot; data=&quot;album/price&quot; /&gt;
        &lt;jb:value property=&quot;releaseYear&quot; decoder=&quot;Integer&quot; data=&quot;album/year&quot; /&gt;
    &lt;/jb:bean&gt;

&lt;/smooks-resource-list&gt;

]]&gt;&lt;/script&gt; &lt;br /&gt;
pom.xml&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
         xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
    &lt;modelversion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;parent&gt;
        &lt;groupid&gt;org.milyn&lt;/groupId&gt;
        &lt;artifactid&gt;smooks-examples&lt;/artifactId&gt;
        &lt;version&gt;1.5.1&lt;/version&gt; 
    &lt;/parent&gt;
    &lt;name&gt;Smooks&lt;/name&gt;
    &lt;artifactid&gt;smooks-xml-to-java&lt;/artifactId&gt;

    &lt;dependencies&gt;
        &lt;dependency&gt;
            &lt;groupid&gt;org.milyn&lt;/groupId&gt;
            &lt;artifactid&gt;milyn-smooks-javabean&lt;/artifactId&gt;
            &lt;version&gt;${project.version}&lt;/version&gt;
        &lt;/dependency&gt;
    &lt;/dependencies&gt;    
&lt;/project&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
package com.music.shir.beans;

import java.util.List;

public class MusicCatalog {

 private Header header;
 private List&lt;album&gt; albumList;
 
 public Header getHeader() {
  return header;
 }
 public void setHeader(Header header) {
  this.header = header;
 }
 public List&lt;album&gt; getAlbumList() {
  return albumList;
 }
 public void setAlbumList(List&lt;album&gt; albumList) {
  this.albumList = albumList;
 }
}

package com.music.shir.beans;

import java.util.Date;

public class Header {

    private String date;
    private Long customerNumber;
    private String customerName;
    
 public String getDate() {
  return date;
 }
 public void setDate(String date) {
  this.date = date;
 }
 public Long getCustomerNumber() {
  return customerNumber;
 }
 public void setCustomerNumber(Long customerNumber) {
  this.customerNumber = customerNumber;
 }
 public String getCustomerName() {
  return customerName;
 }
 public void setCustomerName(String customerName) {
  this.customerName = customerName;
 }    
}

package com.music.shir.beans;

public class Album { 
 
 private String albumTitle;
 private String artist;
 private String country;
 private String company;
 private Double albumPrice;
 private Integer releaseYear;
 
 public String getAlbumTitle() {
  return albumTitle;
 }
 public void setAlbumTitle(String albumTitle) {
  this.albumTitle = albumTitle;
 }
 public String getArtist() {
  return artist;
 }
 public void setArtist(String artist) {
  this.artist = artist;
 }
 public String getCountry() {
  return country;
 }
 public void setCountry(String country) {
  this.country = country;
 }
 public String getCompany() {
  return company;
 }
 public void setCompany(String company) {
  this.company = company;
 }
 public Double getAlbumPrice() {
  return albumPrice;
 }
 public void setAlbumPrice(Double albumPrice) {
  this.albumPrice = albumPrice;
 }
 public Integer getReleaseYear() {
  return releaseYear;
 }
 public void setReleaseYear(Integer releaseYear) {
  this.releaseYear = releaseYear;
 }
 
 @Override
 public String toString() {
  return &quot;Album [Title=&quot; + albumTitle + &quot;, Artist=&quot; + artist
    + &quot;, Country=&quot; + country + &quot;, Company=&quot; + company
    + &quot;, Price=&quot; + albumPrice + &quot;, Year=&quot; + releaseYear
    + &quot;]&quot;;
 }  
}


package com.music.shir.app;

import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;

import javax.xml.transform.stream.StreamSource;

import org.milyn.Smooks;
import org.milyn.SmooksException;
import org.milyn.container.ExecutionContext;
import org.milyn.io.StreamUtils;
import org.milyn.payload.JavaResult;
import org.xml.sax.SAXException;

import com.music.shir.beans.Album;
import com.music.shir.beans.MusicCatalog;

public class Main {

 private static byte[] messageIn = readInputMessage(); 

 public static void main(String[] args) throws IOException, SAXException, SmooksException {

  MusicCatalog catalog = Main.populateBean();
  System.out.println(&quot;Date:&quot;+catalog.getHeader().getDate());
  System.out.println(&quot;Customer Name:&quot;+catalog.getHeader().getCustomerName());
  System.out.println(&quot;Customer Number:&quot;+catalog.getHeader().getCustomerNumber());
  System.out.println(&quot;\nAlbums\n..........&quot;);
  List&lt;album&gt; albumList = catalog.getAlbumList();

  for (int i = 0; i &lt; albumList.size(); i++) {
   Album album = albumList.get(i);
   System.out.println((i + 1)+&quot;: &quot;+album);     
  }
 }

 private static byte[] readInputMessage() {
  try {
   return StreamUtils.readStream(new FileInputStream(&quot;input-message.xml&quot;));
  } catch (IOException e) {
   e.printStackTrace();
   return &quot;&lt;no-message/&gt;&quot;.getBytes();
  }
 }
 
 protected static MusicCatalog populateBean() throws IOException, SAXException, SmooksException {

  Smooks smooks = new Smooks(&quot;smooks-config.xml&quot;);
  try {
   ExecutionContext executionContext = smooks.createExecutionContext();
   JavaResult result = new JavaResult();
   ByteArrayInputStream msgStream = new ByteArrayInputStream(messageIn);
   smooks.filterSource(new StreamSource(msgStream), result);
   return (MusicCatalog) result.getBean(&quot;catalog&quot;);

  } finally {
   smooks.close();
  }
 }
}


]]&gt;&lt;/script&gt;&lt;br /&gt;
Project Structure.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb4l49pgDaiUr3g5yqEbAtKmTKalnIP-mY3vlUbvAGzxTTyu68Cb_ozA1nGA45ocP-9Sp7aD6zWPkfwrJA1ziSj2xzEdeZ04rWNwZ2i573_AlGa-MHc0pvr7hQXlhE3tQ4TrwJurRDebHi/s1600/Capture1.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb4l49pgDaiUr3g5yqEbAtKmTKalnIP-mY3vlUbvAGzxTTyu68Cb_ozA1nGA45ocP-9Sp7aD6zWPkfwrJA1ziSj2xzEdeZ04rWNwZ2i573_AlGa-MHc0pvr7hQXlhE3tQ4TrwJurRDebHi/s320/Capture1.JPG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Output: &lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
Date:Thu May 02 19:45:28 EST 2013
Customer Name:John Smith
Customer Number:3035

Albums
..........
1: Album [Title=Soulsville, Artist=Jorn Hoel, Country=Norway, Company=WEA, Price=7.9, Year=1996]
2: Album [Title=The very best of, Artist=Cat Stevens, Country=UK, Company=Island, Price=8.9, Year=1990]
3: Album [Title=Stop, Artist=Sam Brown, Country=UK, Company=A and M, Price=8.9, Year=1988]
]]&gt;&lt;/script&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/7871139968682065169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2013/05/xml-to-java-conversion-with-smooks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/7871139968682065169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/7871139968682065169'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2013/05/xml-to-java-conversion-with-smooks.html' title='XML to Java Conversion with Smooks'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb4l49pgDaiUr3g5yqEbAtKmTKalnIP-mY3vlUbvAGzxTTyu68Cb_ozA1nGA45ocP-9Sp7aD6zWPkfwrJA1ziSj2xzEdeZ04rWNwZ2i573_AlGa-MHc0pvr7hQXlhE3tQ4TrwJurRDebHi/s72-c/Capture1.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-1358866655130205006</id><published>2013-05-01T11:42:00.000-07:00</published><updated>2013-05-03T07:36:14.255-07:00</updated><title type='text'>Login page for ActiveMQ using Tomcat and LDAP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
ActiveMQ doesnot come with login page.But for security issues some users might want to have login page to access.
So for this I have tried to create a simple login page for ActiveMQ using Tomcat and LDAP.
You can use Database or Tomcat instead of LDAP.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Here is a simple example of a login page in ActiveMQ.&lt;br /&gt;
Download the latest ActiveMQ from http://activemq.apache.org/download.html.
Get the latest Tomcat from http://tomcat.apache.org/.

Now lets get started with the coding.
For this you have to create a login page.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;body&gt;
  &lt;section class=&quot;container&quot;&gt;
    &lt;div class=&quot;login&quot;&gt;
      &lt;h1&gt;
Login to ActiveMQ&lt;/h1&gt;
&lt;form method=&quot;post&quot; action=&quot;j_security_check&quot;&gt;
        &lt;p&gt;
&lt;input type=&quot;text&quot; name=&quot;j_username&quot; value=&quot;&quot; placeholder=&quot;Username&quot;&gt;&lt;/p&gt;
&lt;p&gt;
&lt;input type=&quot;password&quot; name=&quot;j_password&quot; value=&quot;&quot; placeholder=&quot;Password&quot;&gt;&lt;/p&gt;
&lt;p class=&quot;submit&quot;&gt;
&lt;input type=&quot;submit&quot; name=&quot;commit&quot; value=&quot;Login&quot;&gt;&lt;/p&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;/section&gt;

  &lt;section class=&quot;about&quot;&gt;
    
    &lt;p class=&quot;about-author&quot;&gt;
Copyright 2005-2012 The Apache Software Foundation.
  &lt;/section&gt;
&lt;/body&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
And the logout page.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;%
session.invalidate();
response.sendRedirect(&quot;/activemq&quot;);
%&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Add this in web.xml.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
 &lt;security-constraint&gt;

        &lt;display-name&gt;ActiveMQ Security Constraint&lt;/display-name&gt;
        &lt;web-resource-collection&gt;
        &lt;web-resource-name&gt;Profile Area&lt;/web-resource-name&gt;
        &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
 &lt;/web-resource-collection&gt;
        &lt;auth-constraint&gt;
            &lt;role-name&gt;*&lt;/role-name&gt;
        &lt;/auth-constraint&gt;

    &lt;/security-constraint&gt;

    &lt;login-config&gt;

        &lt;auth-method&gt;FORM&lt;/auth-method&gt;

        &lt;realm-name&gt;Form-Based Authentication Area&lt;/realm-name&gt;

        &lt;form-login-config&gt;

            &lt;form-login-page&gt;/login.jsp&lt;/form-login-page&gt;

            &lt;form-error-page&gt;/error.html&lt;/form-error-page&gt;

        &lt;/form-login-config&gt;

    &lt;/login-config&gt;
    &lt;security-role&gt;

        &lt;role-name&gt;*&lt;/role-name&gt;

    &lt;/security-role&gt;

]]&gt;&lt;/script&gt;&lt;br /&gt;
Now add this in main.jsp file inside the decorators folder in activemq for log off functionality.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;div id=&quot;site-quicklinks&quot;&gt;
&lt;p&gt;
&lt;a href=&quot;./logout.jsp&quot;
                               title=&quot;log off&quot;&gt;Log Off&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Now add the appropriate realm to server.xml of tomcat.
I have used ldap for authentication.So for ldap, in my case i have these properties.
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
&lt;realm className=&quot;org.apache.catalina.realm.LockOutRealm&quot;&gt;
        &lt;!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key &quot;UserDatabase&quot;.  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  
        &lt;realm classname=&quot;org.apache.catalina.realm.JNDIRealm&quot; connectionname=&quot;use your own&quot; connectionpassword=&quot;password&quot; connectionurl=&quot;ldap://localhost:389&quot; rolebase=&quot;use your own&quot; rolename=&quot;cn&quot; rolesearch=&quot;(uniqueMember={0})&quot; userbase=&quot;use your own&quot; usersearch=&quot;(sAMAccountName={0})&quot;&gt; 
      &lt;/realm&gt;
]]&gt;&lt;/script&gt;&lt;br /&gt;
Here is the folder structure of this project.
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1o0F8rll07xEErHJ2Kwz1oI4SWHF8gds837vCc1OckMZZi5TpBRLU1VLWJSk23uH8o3n1fXhmEWySgf9agf48lTEaLDDkQUj7DgyHb6c-ZWMon5eYmjECqAxiu68wxnsbVrXsH9OdBo4c/s1600/folderstructure.GIF&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1o0F8rll07xEErHJ2Kwz1oI4SWHF8gds837vCc1OckMZZi5TpBRLU1VLWJSk23uH8o3n1fXhmEWySgf9agf48lTEaLDDkQUj7DgyHb6c-ZWMon5eYmjECqAxiu68wxnsbVrXsH9OdBo4c/s320/folderstructure.GIF&quot; /&gt;&lt;/a&gt;

&lt;br /&gt;
&lt;br /&gt;
Now deploy the activemq in Tomcat.
http://localhost:8080/activemq.

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/1358866655130205006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2013/05/login-page-for-activemq-using-tomcat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/1358866655130205006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/1358866655130205006'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2013/05/login-page-for-activemq-using-tomcat.html' title='Login page for ActiveMQ using Tomcat and LDAP'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1o0F8rll07xEErHJ2Kwz1oI4SWHF8gds837vCc1OckMZZi5TpBRLU1VLWJSk23uH8o3n1fXhmEWySgf9agf48lTEaLDDkQUj7DgyHb6c-ZWMon5eYmjECqAxiu68wxnsbVrXsH9OdBo4c/s72-c/folderstructure.GIF" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-5945193045094181623</id><published>2013-03-31T17:09:00.003-07:00</published><updated>2013-05-02T19:23:16.437-07:00</updated><title type='text'>Spring Data Support</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Introduction to Spring Data and Setting Up&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/eR_JFtqyNL4&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This tutorial serves as an introduction to Spring Data support. We&#39;ll also install a lightweight database Apache Derby that we&#39;ll use in subsequent tutorials. We&#39;ll learn how to start Derby in Network server mode, and how to connect and run SQL queries using the ij client tool.&lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Using JDBC without Spring&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/B3gEbC37DAM&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now implement a simple DAO class that fetches data from the database using JDBC. We&#39;ll look at all the boilerplate code we need to write to establish connections, execute queries, close objects and handle exceptions.&lt;/div&gt;
&lt;b&gt;Adding Spring and DataSource Configuration&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/f-k823MZ02Q&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now add the Spring framework to our JDBC project. We&#39;ll add dependency injection to our Main and DAO class. We&#39;ll also learn how to configure DataSource as a Spring bean and supply connection parameters to it in the XML file.&lt;/div&gt;
&lt;b&gt;Using JdbcTemplate&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/0LYqy0wvS20&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll use the JdbcTemplate class provided by Spring to implement a DAO method. We&#39;ll see how using the template class makes the DAO methods simple, and how it takes care of much of the boilerplate code we&#39;d have to write otherwise.&lt;/div&gt;
&lt;b&gt;Returning Other Datatypes from JdbcTemplate&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/QrU6UI_bSbU&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We returned an integer datatype result from our query in the previous tutorial. In this tutorial, we&#39;ll learn how to return other datatypes. We&#39;ll implement a method that returns a String query output.&lt;/div&gt;
&lt;b&gt;Implementing RowMapper&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/i-_CUlER3z8&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we implement a custom RowMapper class to map our domain objects. We then use this class to write fetch methods that return custom model objects.&lt;/div&gt;
&lt;b&gt;Performing Write Operations with JdbcTemplate&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/BiSIAzSZHpY&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now implement some database write operations. We&#39;ll write a DAO method to update a value in the database, as well as use the execute() method to run a DDL SQL query.&lt;/div&gt;
&lt;b&gt;Named Parameter JDBC Template&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/W_9DJYXuhwk&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll use the NamedParameterJdbcTemplate class to run queries with named placeholders.&lt;/div&gt;
&lt;b&gt;DAO Support Classes&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/UOyjFjilPIo&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll wrap up discussion on the Spring JDBC support by using the DAO support classes that Spring provides out of the box. We&#39;ll see how this makes our DAO classes cleaner than ever.&lt;/div&gt;
&lt;b&gt;Using Hibernate with Spring&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/0lqlg5tnDag&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this video, we&#39;ll learn how to integrate the Hibernate framework in our Spring application. We&#39;ll create a SessionFactory as a Spring singleton and use that in our DAO class to work with the database.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/5945193045094181623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2013/03/spring-data-support.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/5945193045094181623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/5945193045094181623'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2013/03/spring-data-support.html' title='Spring Data Support'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s72-c/youtube2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-199777754953930217</id><published>2012-01-31T17:00:00.001-08:00</published><updated>2013-05-02T19:24:46.719-07:00</updated><title type='text'>Spring AOP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Introduction to AOP&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/QdyLsX0nG30&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This video provides a brief introduction to Aspect Oriented Programming concepts.&lt;/div&gt;
&lt;b&gt;Setting Up AOP Dependencies&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/4P0TME-AbSw&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll add the additional dependencies required for  Spring AOP and we&#39;ll configure our project&#39;s class path with these  dependencies.&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
The links for the dependencies are:&lt;br /&gt;
AspectJ: &lt;a href=&quot;http://www.eclipse.org/aspectj/downloads.php&quot;&gt;http://www.eclipse.org/aspectj/downloads.php&lt;/a&gt;&lt;br /&gt;
AOP Alliance: &lt;a href=&quot;http://aopalliance.sourceforge.net/&quot;&gt;http://aopalliance.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
CGILIB: &lt;a href=&quot;http://cglib.sourceforge.net/&quot;&gt;http://cglib.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
Spring 3 ASM: &lt;a href=&quot;http://asm.ow2.org/&quot;&gt;http://asm.ow2.org/&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Writing Our First Aspect Part 1&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/D0ekfQNGgpY&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this first part of the tutorial, we&#39;ll create a Spring project that  forms the basis for our Aspect. This is a good refresher of some of the  core Spring concepts, and it also give us an opportunity to introduce a  service layer in our code that we&#39;ll build on in the subsequent  tutorials.&lt;/div&gt;
&lt;b&gt;Writing Our First Aspect Part 2&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/4-z-YsRfSF0&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Now that we have a basic Spring application, we&#39;ll implement the Logging  aspect. We&#39;ll learn how to create a new Aspect using annotations and  configure an advice to run before a getter method.&lt;/div&gt;
&lt;b&gt;Pointcuts and Wildcard Expressions&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/h7IdaLybg9A&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now learn what a Pointcut is, the Pointcut annotation and how to apply advice to multiple pointcuts.&lt;/div&gt;
&lt;b&gt;A Few More Pointcut Expressions&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/UxzTk57CJD8&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn about a few other Pointcut expressions that can be used to advice different methods.&lt;/div&gt;
&lt;b&gt;JoinPoints and Advice Arguments&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/nrAN0E_A7fc&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now learn about join points, and how we can use arguments in the advice methods to get information about join points.&lt;/div&gt;
&lt;b&gt;After Advice Types&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/tU6eQh9Hmqk&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll learn about the After Advice types: After (finally), AfterReturning and AfterThrowing.&lt;/div&gt;
&lt;b&gt;Around Advice Type&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/jwRwHOIwwdQ&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This tutorial covers the Around advice type. We&#39;ll learn how to use it, and we&#39;ll also look at some of the unique and powerful features that are specific to this advice type.&lt;/div&gt;
&lt;b&gt;Naming Conventions and Custom Advice Annotations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Clz78J7SBKQ&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this video, I share some thoughts on naming conventions, and how it helps in the case of writing aspects in Spring. We will also understand how to write our own custom annotations to apply advice to methods.&lt;/div&gt;
&lt;b&gt;AOP XML configuration&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/ewWzxcNnI7k&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Here, We&#39;ll learn how to configure aspects, advice and pointcuts using the traditional XML way.&lt;/div&gt;
&lt;b&gt;Understanding AOP Proxies&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/yiinKulgm4U&quot; target=&quot;_new&quot;&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this video, we go where no Spring AOP tutorial has gone before! We&#39;ll understand how Spring AOP works and how it uses proxy classes to apply advice. And we&#39;ll do this by implementing our own simple factory service. The way Spring AOP works is much more complicated, but this simple implementation should give us a solid understanding of proxy objects and clarify the core concepts.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/199777754953930217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2012/01/spring-aop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/199777754953930217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/199777754953930217'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2012/01/spring-aop.html' title='Spring AOP'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s72-c/youtube2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-443213529547275755</id><published>2012-01-31T16:43:00.000-08:00</published><updated>2013-05-02T19:25:07.155-07:00</updated><title type='text'>Read from JSON file and persist into MySQL</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here is a simple example where we are reading contents of a JSON file and inserting into MySQL database. The code is dynamic so it can handle any number of columns no matter what the column name is. All you have to do is match the database column names with JSON content.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5uftQKB8vHdefWeroll059kyF-uF33NOtDM_8Q7B6-D2VNN1pOkhCd2EqV7gPA4KS2tuPvPO65LHXQNueOYKdfuAZ8W0-dOOJmC9206ZuXNnypcSoY-BVtPCGs6Rt169zVxvPUCWKStMb/s1600/a.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;161&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5uftQKB8vHdefWeroll059kyF-uF33NOtDM_8Q7B6-D2VNN1pOkhCd2EqV7gPA4KS2tuPvPO65LHXQNueOYKdfuAZ8W0-dOOJmC9206ZuXNnypcSoY-BVtPCGs6Rt169zVxvPUCWKStMb/s400/a.jpg&quot; width=&quot;338&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
For this demo, we are using following jar files.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4uKmlmlBI8rROwQlc_IM6qe8vggAJhZtZ8vMxG35aAZMtAspLxhDonKui9-MYkYNCtiHvFMpuv2X9L64C_giC4bB9XCNxqrj0ofekvwn0Bk-9XYf_eJk0lzE9BGl913Bhg-n4ds9fFFd5/s1600/b.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4uKmlmlBI8rROwQlc_IM6qe8vggAJhZtZ8vMxG35aAZMtAspLxhDonKui9-MYkYNCtiHvFMpuv2X9L64C_giC4bB9XCNxqrj0ofekvwn0Bk-9XYf_eJk0lzE9BGl913Bhg-n4ds9fFFd5/s400/b.jpg&quot; width=&quot;338&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Iterator;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;

import org.apache.commons.io.IOUtils;

public class MyJson {
 private static String tableName = &quot;jsontest&quot;;

 public static void main(String[] args) {

  try {
   ClassLoader cl = MyJson.class.getClassLoader();
   InputStream is = cl.getResourceAsStream(&quot;test.json&quot;);
   String str = IOUtils.toString(is);
   JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(str);
   JSONArray jsonArr = jsonObject.getJSONArray(&quot;profiles&quot;);

   JSONObject obj = null;
   JSONArray nameArr = null;
   JSONArray valArr = null;
   
   for (int i = 0; i &lt; jsonArr.size(); i++) {
    obj = jsonArr.getJSONObject(i);
    nameArr = obj.names();
    valArr = obj.toJSONArray(nameArr);
    saveRecord(nameArr, valArr);
   }

  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 private static void saveRecord(JSONArray nameArray, JSONArray valArray) {

  Connection conn = getConnection();
  StringBuffer sb = new StringBuffer(&quot;insert into &quot; + tableName + &quot;(&quot;);

  int size = nameArray.size();
  int count = 0;
  Iterator&lt;Object&gt; iterator = nameArray.iterator();
  
  while (iterator.hasNext()) {
   if (count &lt; (size - 1))
    sb.append(iterator.next() + &quot;,&quot;);
   else
    sb.append(iterator.next() + &quot;)&quot;);

   count++;
  }

  sb.append(&quot; values(&quot;);
 
  for (int i = 0; i &lt; size; i++) {   
   if (i &lt; (size - 1))
    sb.append(&quot;?,&quot;);
   else
    sb.append(&quot;?)&quot;);   
  }

  System.out.println(sb.toString());

  try {
   PreparedStatement pstmt = conn.prepareStatement(sb.toString());
   bindVariables(valArray, pstmt);
   pstmt.executeUpdate();

  } catch (SQLException e) {
   e.printStackTrace();
  }
 }

 private static void bindVariables(JSONArray valArray,
   PreparedStatement pstmt) throws SQLException {

  Iterator&lt;Object&gt; iterator = valArray.iterator();
  int cnt = 0;
  while (iterator.hasNext()) {

   Object obj = iterator.next();
   if (obj instanceof String) {
    pstmt.setString(++cnt, (String) obj);
   } else if (obj instanceof Integer) {
    pstmt.setLong(++cnt, (Integer) obj);
   } else if (obj instanceof Long) {
    pstmt.setLong(++cnt, (Long) obj);
   } else if (obj instanceof Double) {
    pstmt.setDouble(++cnt, (Double) obj);
   }
  }
 }

 private static Connection getConnection() {

  Connection con = null;
  String url = &quot;jdbc:mysql://localhost:3306/&quot;;
  String db =  &quot;user&quot;;
  String driver = &quot;com.mysql.jdbc.Driver&quot;;
  String user = &quot;root&quot;;
  String pass = &quot;hello&quot;;

  try {
   Class.forName(driver);
   con = DriverManager.getConnection(url + db, user, pass);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }

  return con;
 }
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
And this the content of json file(test.json) we have.&lt;br /&gt;
&lt;br /&gt;
&lt;script class=&quot;brush: csharp&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
{&#39;profiles&#39;: [
  {&#39;name&#39;:&#39;John&#39;, &#39;age&#39;: 44, &#39;phone&#39;:&#39;203-203-2030&#39;}, 
  {&#39;name&#39;:&#39;Alex&#39;,&#39;age&#39;:31, &#39;phone&#39;:&#39;203-203-2030&#39;},
  {&#39;name&#39;:&#39;Amy&#39;, &#39;age&#39;: 24, &#39;phone&#39;:&#39;203-203-2030&#39;}, 
  {&#39;name&#39;:&#39;Melissa&#39;,&#39;age&#39;:21, &#39;phone&#39;:&#39;203-203-2030&#39;}
 ]
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
And here is what you see in database after executing above code.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8p_32I4Zt32JCOt5v107CaKXbOOaSGgLzwfmGpgQHv67auV3o89FqQsufpRvJOtadl07wd_k2NfHa0jYqxV5YsLAIP34lc0tnpnyzut29RQFOe5cV4hvaLhVJjkQ1282aZltIyqY9Y3fd/s1600/c.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8p_32I4Zt32JCOt5v107CaKXbOOaSGgLzwfmGpgQHv67auV3o89FqQsufpRvJOtadl07wd_k2NfHa0jYqxV5YsLAIP34lc0tnpnyzut29RQFOe5cV4hvaLhVJjkQ1282aZltIyqY9Y3fd/s400/c.jpg&quot; width=&quot;352&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/443213529547275755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2012/01/here-is-simple-example-where-we-are.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/443213529547275755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/443213529547275755'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2012/01/here-is-simple-example-where-we-are.html' title='Read from JSON file and persist into MySQL'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5uftQKB8vHdefWeroll059kyF-uF33NOtDM_8Q7B6-D2VNN1pOkhCd2EqV7gPA4KS2tuPvPO65LHXQNueOYKdfuAZ8W0-dOOJmC9206ZuXNnypcSoY-BVtPCGs6Rt169zVxvPUCWKStMb/s72-c/a.jpg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-2230600504897693250</id><published>2011-10-29T19:27:00.000-07:00</published><updated>2013-05-02T19:32:59.728-07:00</updated><title type='text'>Spring/Hibernate Tutorial Links</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://krams915.blogspot.com/p/tutorials.html&quot;&gt;krams915.blogspot.com/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.vaannila.com/&quot;&gt;www.vaannila.com/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.mkyong.com/&quot;&gt;www.mkyong.com&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://viralpatel.net/blogs&quot;&gt;viralpatel.net&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.laliluna.de/tutorials.html&quot;&gt;www.laliluna.de&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://javabrains.koushik.org/&quot;&gt;javabrains.koushik.org/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.springbyexample.org/examples/&quot;&gt;www.springbyexample.org&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.springsource.org/tutorials&quot;&gt;www.springsource.org&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.giantflyingsaucer.com/blog/&quot;&gt;www.giantflyingsaucer.com/blog/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.javacodegeeks.com/&quot;&gt;&lt;br /&gt;
www.javacodegeeks.com/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.myhomepageindia.com/&quot;&gt;www.myhomepageindia.com&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.roseindia.net/&quot;&gt;Roseindia&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.java2s.com/&quot;&gt;Java2s&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://java9s.com/&quot;&gt;Java9s&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.lulu.com/&quot;&gt;Lulu&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://creativeinstantia.blogspot.com/&quot;&gt;creativeinstantia.blogspot.com&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/2230600504897693250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/springhibernate-tutorial-links.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/2230600504897693250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/2230600504897693250'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/springhibernate-tutorial-links.html' title='Spring/Hibernate Tutorial Links'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-2303175689079836314</id><published>2011-10-17T19:49:00.001-07:00</published><updated>2013-05-02T19:25:35.225-07:00</updated><title type='text'>Hibernate Tutorial [Java Brains]</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div align=&quot;justify&quot;&gt;
Hibernate is a popular open source object relational mapping tool for Java platform. It provides powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent classes following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language, designed as a &quot;minimal&quot; object-oriented extension to SQL, provides an elegant bridge between the object and relational worlds. &lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Introduction To Hibernate&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Yv2xctJxE-w&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll understand the mismatch between object and relational models and what ORM is. &lt;/div&gt;
&lt;b&gt;Setting Up Hibernate&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/bzPkebUXxn0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll download Hibernate and set it up in our development environment by configuring it in Eclipse.&lt;/div&gt;
&lt;b&gt;Part 1- Writing a Hibernate Application&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/N2F1zCAf_NU&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this first of a three part video on writing a simple Hibernate application from the scratch, we&#39;ll learn how to write the Hibernate configuration XML file, hibernate.cfg.xml. &lt;/div&gt;
&lt;b&gt;Part 2- Writing the Model Class with Annotations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/3eXjpve0QaI&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now create a Model class and configure it as an Entity using Annotations. &lt;/div&gt;
&lt;b&gt;Part 3- Saving Objects using Hibernate APIs&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/FFMOZY4z6bE&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll learn how to instantiate Entity objects and save them to the database using Hibernate APIs. &lt;/div&gt;
&lt;b&gt;hbm2ddl Configuration and Name Annotations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/iaSd_yK9xaw&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll look at the schema generation options in Hibernate. We&#39;ll also learn some annotations to change the default name generated by Hibernate for entities. &lt;/div&gt;
&lt;b&gt;More Annotations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/I8YmYFI5D_E&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll try out a few more annotations to configure our entity class. &lt;/div&gt;
&lt;b&gt;Retrieving Objects using session.get&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/3FV1yv7fvDQ&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll look at one of the several ways we can fetch data from the database using Hibernate: the session.get method. &lt;/div&gt;
&lt;b&gt;Primary Keys&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Xuofihmkl_k&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Here we&#39;ll learn how to configure the primary key in our entity class using the @Id annotation. &lt;/div&gt;
&lt;b&gt;Value Types and Embedding Objects&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/c2abcy0Q1a0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll learn the difference between Entity type objects and Value type objects. We&#39;ll use the @Embeddable annotations to embed a value type object into our Entity class. &lt;/div&gt;
&lt;b&gt;AttributeOverrides and Embedded Object Keys&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/X8t6oYp0Uk8&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this video, we&#39;ll learn how to override configuration inside embedded objects, and we&#39;ll also explore object keys.&lt;/div&gt;
&lt;b&gt;Saving Collections&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/hofWx5_ZN9c&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now learn how to save value types that are collection objects. &lt;/div&gt;
&lt;b&gt;Configuring Collections and Adding Keys&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/kk207HAym_I&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
More configuration options for collections, including configuring primary keys. &lt;/div&gt;
&lt;b&gt;Proxy Objects and Eager and Lazy Fetch Types&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/RmnrgocuivQ&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Hibernate manages data fetching and optimizations using proxy objects. In this tutorial, we&#39;ll learn what they are and how lazy initialization works. &lt;/div&gt;
&lt;b&gt;One To One Mapping&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Of7qR-WagYk&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
One to one mapping of entities. &lt;/div&gt;
&lt;b&gt;One To Many Mapping&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/4mANZ4MMbD4&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
One To Many mapping of entities. &lt;/div&gt;
&lt;b&gt;mappedBy and Many To Many Mapping&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/jAi8bY-H_ek&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Many to Many mapping of entities.&lt;/div&gt;
&lt;b&gt;CascadeTypes and Other Things&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/K2Id3WLZWJI&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll look at some concepts like CascadeType which can be configured for entity relationships.&lt;/div&gt;
&lt;b&gt;Implementing Inheritance&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Zj1mRWfhx_Y&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll understand how to configure entity classes that have an inheritance hierarchy. &lt;/div&gt;
&lt;b&gt;Implementing Inheritance - Single Table Strategy&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/M5YrLtAHtOo&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Single table inheritance strategy.&lt;/div&gt;
&lt;b&gt;Implementing Inheritance With Table Per Class Strategy&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/qIdM4KQOtH8&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Table per class inheritance strategy. &lt;/div&gt;
&lt;b&gt;Implementing Inheritance With Joined Strategy&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/o1b3HFIlDS0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Joined inheritance strategy. &lt;/div&gt;
&lt;b&gt;CRUD Operations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/hDBQy-dWC0A&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Writing code to Create, Read, Update and Delete entities in the database. &lt;/div&gt;
&lt;b&gt;Transient, Persistent and Detached Objects&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/kZpRyEABnms&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This tutorial discusses three important entity object states in Hibernate: Transient, Persistent and Detached.&lt;/div&gt;
&lt;b&gt;Understanding State Changes&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/sjZGFHEdD4M&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll understand some of the different ways in which entity objects change from one state to another.&lt;/div&gt;
&lt;b&gt;Persisting Detached Objects&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/T02FicxK_aY&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This tutorial explores a special case of object state change: from detached to persistent. &lt;/div&gt;
&lt;b&gt;Introducing HQL and the Query Object&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Em4M2tUn1bU&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Introducing HQL and using HQL to run queries on the database.&lt;/div&gt;
&lt;b&gt;Select and Pagination in HQL&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/WVHFpp8X5z0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial we&#39;ll learn Hibernate&#39;s support for pagination. We&#39;ll also learn how to write select queries to retrieve only certain columns.&lt;/div&gt;
&lt;b&gt;Understanding Parameter Binding and SQL Injection&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/PiahhQ0Qkak&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll understand how appending parameters to SQL queries causes SQL injection, and will learn how to use the Parameter Binding feature in Hibernate. &lt;/div&gt;
&lt;b&gt;Named Queries&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/o_P-p2b_k6w&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll learn about named queries and how to write and access named queries. We&#39;ll also write and execute a NamedNativeQuery. &lt;/div&gt;
&lt;b&gt;Introduction to Criteria API&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/4fVlAobgQGI&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This tutorial is an introduction to the Criteria API. Yet another way to work with data in Hibernate. &lt;/div&gt;
&lt;b&gt;Understanding Restrictions&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/MzrzsKSJBt0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Understanding how to apply restrictions to our queries when using Criteria. &lt;/div&gt;
&lt;b&gt;Projections and Query By Example&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/2DXjdl8gzOo&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn how to use Projections to fine tune the results of the Criteria API. We&#39;ll also use Query By Example (QBE) to easily specify multiple where clauses in a single example object.&lt;/div&gt;
&lt;b&gt;Cacheing in Hibernate&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/ISi_OkmuQbs&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn about Hibernate&#39;s cache support: both first level (Session) and second level cache. &lt;/div&gt;
&lt;b&gt;Configuring Second Level Cache&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/TMZZg-HEjiE&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll configure EHCache as our second level cache, and then put it to work. We&#39;ll fetch an object across two sessions, and we&#39;ll see how &lt;/div&gt;
&lt;div align=&quot;justify&quot;&gt;
Hibernate&#39;s second level cache comes into play to save a database query. &lt;/div&gt;
&lt;b&gt;Using Query Cache&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/iwCdyr0bdkw&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn how to cache results that are fetched from the Query object. &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/2303175689079836314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/hibernate-tutorial-java-brains.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/2303175689079836314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/2303175689079836314'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/hibernate-tutorial-java-brains.html' title='Hibernate Tutorial [Java Brains]'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s72-c/youtube2.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-3711587442436541460</id><published>2011-10-17T19:49:00.000-07:00</published><updated>2013-05-02T19:25:51.291-07:00</updated><title type='text'>Spring Tutorial[Java Brains]</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div align=&quot;justify&quot;&gt;
Spring is a light weight, non-invasive IoC Container and AOP framework. It provides support for JPA, Hibernate, Web services, Schedulers, Ajax, Struts, JSF and many other frameworks. The Spring MVC components can be used to develop MVC based web applications. Spring framework provides many features that makes the development of enterprise application easy.&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Understanding Dependency Injection&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/GB8k2-Egfv0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll understand the concept of Dependency injection.&lt;/div&gt;
&lt;b&gt;Setting Up&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Z5gubdHLJIc&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn how to set up our Eclipse development environment to write Spring code.&lt;/div&gt;
&lt;b&gt;Understanding Spring Bean Factory&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/xlWwMSu5I70&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll discuss the role of Spring as a bean container.  We&#39;ll also have a quick discussion on the Factory pattern, and I&#39;ll  introduce you to the Spring Bean Factory object.&lt;/div&gt;
&lt;b&gt;Writing Code Using the Bean Factory&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/7c6ZTF6cF88&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll write code to implement the BeanFactory concept  that we learnt in our previous tutorial. We&#39;ll write a Spring XML to  configure a Spring bean. Then we&#39;ll use the BeanFactory to instantiate  our bean in the Spring container.&lt;/div&gt;
&lt;b&gt;ApplicationContext and Property Initialization&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/ZxLaEovze3M&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll first replace the BeanFactory with the more powerful  ApplicationContext. We&#39;ll then make Spring initialize a property of an  object by specifying the value in the configuration XML.&lt;/div&gt;
&lt;b&gt;Using Constructor Injection&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/IOZzxmJVus0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now use constructors to set the member variable values for our  Spring beans. We&#39;ll also look at some techniques to resolve conflicts in  the case of overloaded constructors.&lt;/div&gt;
&lt;b&gt;Injecting Objects&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/g15RcFyEcrk&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll use dependency injection to inject an object dependency to a Spring bean.&lt;/div&gt;
&lt;b&gt;Inner Beans, Aliases and idref&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/TW51XsixMqA&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll look at some concepts related to bean naming and  usage like alias and idref. We&#39;ll also understand how to write inner  beans.&lt;/div&gt;
&lt;b&gt;Initializing Collections&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/MgYURkcYeDQ&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll initialize a member variable that&#39;s a collection and each of the elements are references to other beans.&lt;/div&gt;
&lt;b&gt;Bean Autowiring&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/suiEGbKf21g&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now look at a configuration feature provided by Spring to wire  dependencies automatically: Bean Autowiring. We&#39;ll learn about different  types of autowiring, and we&#39;ll write some code to implement bean  autowiring by name.&lt;/div&gt;
&lt;b&gt;Understanding Bean Scopes&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/NnNvDknQJt0&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
This tutorial covers the concepts of Bean Scopes in Spring. We&#39;ll  understand when beans are created and how to configure different scopes  for the beans.&lt;/div&gt;
&lt;b&gt;Using ApplicationContextAware&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/WUqyoH_G4Ko&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll provide our beans with access to the ApplicationContext object by  implementing the ApplicationContextAware interface. We&#39;ll also use  BeanNameAware interface to get the name of the bean configured in the  Spring XML.&lt;/div&gt;
&lt;b&gt;Bean Definition Inheritance&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/LxRiFFEXs5I&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn what bean definition inheritance is, and  how to configure a parent bean definition and have children beans  inherit the bean definitions.&lt;/div&gt;
&lt;b&gt;Lifecycle Callbacks&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/8LCpo4sfdQU&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll use two different ways to run methods on initialization and destruction of beans.&lt;/div&gt;
&lt;b&gt;Writing a BeanPostProcessor&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/-ycOZTpMkow&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll understand what a BeanPostProcessor is. We&#39;ll  also write a BeanPostProcessor that prints a message upon initializing  each and every bean in the Spring XML.&lt;/div&gt;
&lt;b&gt;Writing a BeanFactoryPostProcessor&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/szNWTBlewQI&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll learn about and write our own  BeanFactoryPostProcessor. We&#39;ll also try out a handy  BeanFactoryPostProcessor that comes with Spring: the
PropertyPlaceholderConfigurer.&lt;/div&gt;
&lt;b&gt;Coding To Interfaces&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/5IDIEMxdkC8&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
When using Spring for dependency injection, it&#39;s a good practice to use  interfaces for referencing dependencies. In this tutorial, we&#39;ll learn  how to &quot;code to interfaces&quot;.&lt;/div&gt;
&lt;b&gt;Introduction to Annotations and the Required Annotation&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/Fs_IoEGSP-A&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
Here we&#39;ll have our first look at Spring annotations. We&#39;ll understand  and implement the Required annotation, and we&#39;ll also learn how it&#39;s  actually a BeanPostProcessor that&#39;s working behind the scenes.&lt;/div&gt;
&lt;b&gt;The Autowired Annotation&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/IVIhVJJGo68&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll use the Autowired annotation to wire up  dependencies. We&#39;ll learn how to add dependencies by type and name.  We&#39;ll also use Qualifiers to narrow down dependency contenders.&lt;/div&gt;
&lt;b&gt;Some JSR-250 Annotations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/apTEbKPW3ow&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll learn and implement three JSR-250 annotations that Spring supports:Resource, PostConstruct and PreDestroy.&lt;/div&gt;
&lt;b&gt;Component and Stereotype Annotations&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/oTcSW4-_1Ew&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now use the Component annotation to define Spring beans. We&#39;ll also look at some Stereotype annotations.&lt;/div&gt;
&lt;b&gt;Using MessageSource To Get Text From Property Files&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/cUqquQDZR-c&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
In this tutorial, we&#39;ll use the MessageSource interface to retrieve messages out of property files.&lt;/div&gt;
&lt;b&gt;Event Handling in Spring&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://www.youtube.com/embed/ZUe1Xz7DAcY&quot; target=&quot;_new&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
We&#39;ll now look at Spring&#39;s support for Event Handling. We&#39;ll write an  event listener in this tutorial. i&#39;ll also show you how to write custom  events and publish them anywhere in the code.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/3711587442436541460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/spring-tutorialjava-brains.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/3711587442436541460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/3711587442436541460'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/spring-tutorialjava-brains.html' title='Spring Tutorial[Java Brains]'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s72-c/youtube2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-8179650434490666409</id><published>2011-10-12T17:22:00.000-07:00</published><updated>2013-05-02T19:26:07.836-07:00</updated><title type='text'>Spring 3 Hello World...</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Download S&lt;span class=&quot;collapse&quot;&gt;pring 3.1 from &lt;a href=&quot;http://s3.amazonaws.com/dist.springframework.org/milestone/SPR/spring-framework-3.1.0.M2.zip&quot;&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;Once you extract, create a user library named &lt;b&gt;Spring3 &lt;/b&gt;and include all the jars from &lt;u&gt;spring-framework-3.1.0.M2\dist&lt;/u&gt; directory. Add one more jar(commons-logging.jar) that you can find in&lt;u&gt; spring-framework-3.1.0.M2\projects\spring-build\lib\ivy&lt;/u&gt; directory.&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;572&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span class=&quot;collapse&quot;&gt;Create 2 classes as follows.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;package com.test;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;public class HelloWorld {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public void printHello(){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;System.out.println(&quot;Hello Spring 3.0!&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;collapse&quot;&gt;And&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;package com.test;&lt;br /&gt;&lt;br /&gt;import org.springframework.context.ApplicationContext;&lt;br /&gt;import org.springframework.context.support.ClassPathXmlApplicationContext;&lt;br /&gt;&lt;br /&gt;public class HelloWorldTest {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //XmlBeanFactory ctx = new XmlBeanFactory(new ClassPathResource(&quot;hello.xml&quot;));&amp;nbsp; //Deprecated Approach&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ApplicationContext ctx = new ClassPathXmlApplicationContext(&quot;hello.xml&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; HelloWorld hw = (HelloWorld) ctx.getBean(&quot;HelloBean&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; hw.printHello();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Now, c&lt;/b&gt;&lt;b&gt;&lt;span class=&quot;collapse&quot;&gt;reate an xml file hello.xml in src directory.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;img alt=&quot;&quot; height=&quot;400&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;215&quot; /&gt;&lt;span class=&quot;collapse&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;That&#39;s it.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;collapse&quot;&gt;Output:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkcAAABLCAIAAAD1fLTyAAADTUlEQVR4nO3c3XHiMACFUdflgqjH1dCMm0gH7AM/MZJsZEJ24e45bwuxLNgZfyPZyfD19XUCgAiDqgEQQ9UAyKFqAOR4RdWOh+HmcOx9653M0/jmM9xyPHzu3AFea1G1eRqLi+PxMAzjNHcOVR/f89ZulwINw7Bncj1jvmq0VcvG7zrb4sDGYaoGcPVhVTse7i7s8zR+6NV8nsbe73YZreZhqgZw9VlV2zeh93Y8dH0l5VfX+ApUDeBqT9Ue3CTbXbXlXmLfVXnj+j1P4zBO8/eYy0v/8TCM07z4AN9jrH6ozQGL3cQntkM7Q9+KWnmqV+7vAny27qrdLS2addlXtfuXepcb18bUBSneaQx/O0NrovVr1wEvL94V/u6nn1oq9a46lz93PuvUnqmqAZzqqlXOl9TLwuV2WF8YNt6q9t/6NxcX81wcUN5x2gpP+WmaMywHXMy4+OHGcKu+l3j9N9XGaV6cpD3TlH1ZgJ/pXKvV+231+mRP1eqG7V5wXOJ2v5BZOcXje1grVSv2/q7//PlarfdxkfOnmKoVm6oBtOyo2qML91+u2nWYtW3FX6/aznuCzck/jFH9m3Ttr07VAE6n7qr1NGdP1Tq2JHsshilHrJZTL6zaPI0vuI/Vt+fa+lwSBrCi92mR85ph81K+72mR+3277it8lcb2xlyxv/cLVftp1lr7lpd93tarG2fu+K8B+F/seLK/fJpkZTuuehKx/dbp/mbd/qctiuv/2uxuR230tjnDrR3Ixn3Gjqqszr2YS/3O4si1w6zfAE5Bf934Lz7eXj/o4dl6gPegak+eqvo9B4slgH9P1Z5S7kBKGsBbiKkaAKgaAEFUDYAcqgZADlUDIIeqAZBD1QDIoWoA5FA1AHKoGgA5VA2AHKoGQA5VAyCHqgGQQ9UAyKFqAORQNQByqBoAOVQNgByqBkAOVQMgh6oBkEPVAMihagDkUDUAcqgaADlUDYAcqgZADlUDIIeqAZBD1QDIoWoA5FA1AHKoGgA5VA2AHKoGQA5VAyCHqgGQQ9UAyKFqAORQNQByqBoAOVQNgByqBkAOVQMgh6oBkEPVAMihagDkUDUAcqgaADlUDYAcqgZADlUDIIeqAZBD1QDIoWoA5PgDCv79Dveq/IUAAAAASUVORK5CYII=&quot; /&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/8179650434490666409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/spring-3-hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8179650434490666409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8179650434490666409'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2011/10/spring-3-hello-world.html' title='Spring 3 Hello World...'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-395629850923940648</id><published>2011-03-18T16:57:00.000-07:00</published><updated>2013-05-02T19:26:30.100-07:00</updated><title type='text'>Android Development Tutorial</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Summary of Tutorial:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Install JDK/Eclipse/Android SDK.&lt;br /&gt;
&lt;br /&gt;
Android SDK:&lt;br /&gt;
&lt;a href=&quot;http://dl.google.com/android/installer_r10-windows.exe&quot;&gt;http://dl.google.com/android/installer_r10-windows.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. Set JAVA path. (To verify, go to command prompt and enter javac.)&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
3. Integrate Android into Eclipse.&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Go to Help-&amp;gt; Install New Software-&amp;gt; Add-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Name: Android ADT&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; URL: https://dl-ssl.google.com/android/eclipse&lt;br /&gt;
&lt;br /&gt;
Let it setup everything by selecting all.&lt;br /&gt;
&lt;br /&gt;
4. Go to Windows--&amp;gt;Preferences--&amp;gt;Android&lt;br /&gt;
Enter Android SDK Location.&lt;br /&gt;
&lt;br /&gt;
5. Create a new Android project.&lt;br /&gt;
&lt;br /&gt;
Select a version.&lt;br /&gt;
App Name same as Name.&lt;br /&gt;
Activity--&amp;gt;Class Name&lt;br /&gt;
Version as selected above(8 for 2.2)&lt;br /&gt;
&lt;br /&gt;
6. Add a new device by clicking on Android icon on toolbar.(Maintain version)&lt;br /&gt;
&lt;br /&gt;
7. Click on Run Config--&amp;gt;Android App.&lt;br /&gt;
Name--&amp;gt;Anything&lt;br /&gt;
Android Tab--&amp;gt; Choose your project.&lt;br /&gt;
Target Tab--&amp;gt;Choose your device.&lt;br /&gt;
&lt;br /&gt;
Apply.&lt;br /&gt;
&lt;br /&gt;
8. Run&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgldFqFCmJTRF8SuGzmQbJGTChi8ZyXe4gdE0f5tVxF3zIr0V-QUAdCdywrJ6zicSNsws64DpgS5BUanpI81mQ17rdc3EtXBSXbCt1GQN3vvGLLPyDiNUYBAmck_BwtYu7X3v0dO3qvwso/s1600/and.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgldFqFCmJTRF8SuGzmQbJGTChi8ZyXe4gdE0f5tVxF3zIr0V-QUAdCdywrJ6zicSNsws64DpgS5BUanpI81mQ17rdc3EtXBSXbCt1GQN3vvGLLPyDiNUYBAmck_BwtYu7X3v0dO3qvwso/s320/and.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/exFmZ8AkYfQ&quot; title=&quot;YouTube video player&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/JTOHySjndpQ&quot; title=&quot;YouTube video player&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/c3c_A1Ppqy8&quot; title=&quot;YouTube video player&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/FuXEXBg2giI&quot; title=&quot;YouTube video player&quot; width=&quot;640&quot;&gt;&lt;/iframe&gt;     &lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/395629850923940648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2011/03/android-development-tutorial.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/395629850923940648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/395629850923940648'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2011/03/android-development-tutorial.html' title='Android Development Tutorial'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgldFqFCmJTRF8SuGzmQbJGTChi8ZyXe4gdE0f5tVxF3zIr0V-QUAdCdywrJ6zicSNsws64DpgS5BUanpI81mQ17rdc3EtXBSXbCt1GQN3vvGLLPyDiNUYBAmck_BwtYu7X3v0dO3qvwso/s72-c/and.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-4297558032584297227</id><published>2010-12-07T17:23:00.000-08:00</published><updated>2013-05-04T15:28:01.333-07:00</updated><title type='text'>Java Hibernate Tutorial</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://www.youtube.com/embed/GINvxAaXDbY&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 1 - setup&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/4oaVSnfiTE0&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 2 - setup&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/WKWnbhc4_6g&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 3 - customize cfg.xml &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/fURXIkP7pWA&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 4 - Our first class!&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/ReAZmA83Myg&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 5 - Create table from Class&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/5YWYU2h8uCo&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 6 - Schema Change&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/6i12sNUO0aY&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 7 - Insert Record(Object)&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/KfsdyXEwan4&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 8 - Chapter 1 Review 1&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/EIjiNJQ5pBU&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 9 - More Annotations&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/0wkyQHxvkLk&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 10 - Auto Generate Primary Key&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/F3Bct8tkfcs&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 11 - One Class to Two Tables&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/N9dJPpsIoCs&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 12 - Two Classes to One Table&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/YDxTQUVkujs&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 13 - Compound Primary Key&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/oJ4gpmPG-MU&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 14 - Inheritance Mapping&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/019nGJGd9JM&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 15 - One to One Mapping&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/TanXgmG6ZuU&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 16 - One to One Bi-directional&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/PIg6F9TayOk&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 17 - One to Many Mapping&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/embed/zbH59X281f4&quot; target=&quot;_new&quot;&gt;Java Hibernate Tutorial Part 18 - Many to Many Mapping&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s320/youtube2.png&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/4297558032584297227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2010/12/java-hibernate-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4297558032584297227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4297558032584297227'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2010/12/java-hibernate-tutorial.html' title='Java Hibernate Tutorial'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26aaRAuj4-Okmc6yKrY2NQpRitN9IjO49DskfHCCkiYe0mBMYFAi_jtuDqFXwh97DRfCXDstd51mGVjFIimBCq7289gIXNl9xzCUHtkQ-6ncNQTWQP_x3jU2RQ0R-xfXoDBG0uXaQUDQh/s72-c/youtube2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-3160981874183304522</id><published>2010-12-07T16:56:00.000-08:00</published><updated>2013-05-02T19:27:01.629-07:00</updated><title type='text'>Spring Framework Tutorial (www.java9s.com)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LerElWBnjgcwkedzbVdXbPujgeJ36reTuBd07yCvGwN-Z9x98gNFywAATBnChxKNSicI3C_CFaepFrrsraSCpjdgxWtNSTi7r2Uc57f-zvD8HBPNlRv8w4RJGZpyczwoBFKW5rcBlLQ/s1600/spring.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LerElWBnjgcwkedzbVdXbPujgeJ36reTuBd07yCvGwN-Z9x98gNFywAATBnChxKNSicI3C_CFaepFrrsraSCpjdgxWtNSTi7r2Uc57f-zvD8HBPNlRv8w4RJGZpyczwoBFKW5rcBlLQ/s1600/spring.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Spring Framework Tutorial Session 1&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is an introduction to spring framework. Spring framework was introduced by Rod Johnson. Spring offers Dependency Injection and Aspect-oriented Programming. Spring framework contributes to loose coupling and Inversion of Control. This session gives an overview of how spring framework contributes to loose coupling. Spring has modules like Spring jdbc, spring JMS which reduces the complexity in implementing those APIs.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_dependency_injection_example.zip&quot;&gt;Download the PPT and Example Code&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introduction to spring framework part 1&lt;/b&gt;&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Jjp_EYEn4bc?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
&lt;embed src=&quot;http://www.youtube.com/v/Jjp_EYEn4bc?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introduction to spring framework part 2&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;640&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/mFDGhE0sKfY?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
&lt;embed src=&quot;http://www.youtube.com/v/mFDGhE0sKfY?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introduction to spring framework part 3&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/d9kMhAEJTLE?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
&lt;embed src=&quot;http://www.youtube.com/v/d9kMhAEJTLE?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Spring Framework Tutorial Session 2 Basic Bean Wiring - Spring&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This Session elaborates on Spring Basic Bean wiring. This video explains about how to inject the values to the bean through the setter methods and the constructor arguments. It also elaborates about spring list configuration, configuring to load set collection, Map, Properties.&lt;br /&gt;
&lt;br /&gt;
It depicts how the spring framework containers work and how the bean life cycle is managed. The first explains about the Spring framework BeanFactory and then ApplicationContext containers.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_Basic_Bean_Wiring.ppsx&quot;&gt;Download Basic Bean wiring PPT&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_Basic_Bean_Wiring.zip&quot;&gt;Download the Basic Bean wiring example&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/G3pCkkKA5F8?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
&lt;embed src=&quot;http://www.youtube.com/v/G3pCkkKA5F8?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Spring Framework Tutorial Session 3 Spring Auto Wiring - by Type, by Name, by Constructor&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This video explains about the advantages of Spring auto wiring. It explains different types of spring Auto wiring like byName, byType and by constructor.&lt;br /&gt;
&lt;br /&gt;
Auto wiring byName: &lt;br /&gt;
By using this autowiring- the spring framework checks looks for the properties and checks if any other beans are name with the same name in the xml and if matches then instantiates and injects it into the target bean.&lt;br /&gt;
&lt;br /&gt;
Auto wiring byType:&lt;br /&gt;
By using this kind of autowiring, the spring framework looks the type of the property and checks if there is a bean with the same type. If the type matches, it creates the bean and injects it to the target type.&lt;br /&gt;
&lt;br /&gt;
Autowiring by Constructor:&lt;br /&gt;
By using this kind of Autowiring, the spring framework checks each and every argument of the constructor and checks if there is a same type of bean present in the configuration. If present, spring instantiates it and injects it through the constructor.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_Auto_wiring.ppsx&quot;&gt;Download the Spring Auto wiring PPT&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_Auto_wiring.zip&quot;&gt;Download the Spring Auto wiring example&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/ZlLDHblbZ5k?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
&lt;embed src=&quot;http://www.youtube.com/v/ZlLDHblbZ5k?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Spring Framework Tutorial Session 4 - Spring Method Injection and Bean Scope&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
This video elaborates about the Spring Method Injection and Spring Bean Scopes. Spring Framework has this wonderful feature of Method Injection to control what kind of methods need to be executed and also what kind of return types should be returned by the Spring Framework.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_Bean_Scope_Method_Injection.zip&quot;&gt;Download Spring Method Injection and Bean scope PPT&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.java9s.com/sites/default/files/Spring_Bean_Scope_Method_Injection.ppsx&quot;&gt;Download Spring Method Injection and Bean scope example&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/_IWXG3Y-qjA?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;
&lt;embed src=&quot;http://www.youtube.com/v/_IWXG3Y-qjA?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/3160981874183304522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2010/12/spring-framework-tutorial-wwwjava9scom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/3160981874183304522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/3160981874183304522'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2010/12/spring-framework-tutorial-wwwjava9scom.html' title='Spring Framework Tutorial (www.java9s.com)'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LerElWBnjgcwkedzbVdXbPujgeJ36reTuBd07yCvGwN-Z9x98gNFywAATBnChxKNSicI3C_CFaepFrrsraSCpjdgxWtNSTi7r2Uc57f-zvD8HBPNlRv8w4RJGZpyczwoBFKW5rcBlLQ/s72-c/spring.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-8951027757066097956</id><published>2009-07-21T02:54:00.000-07:00</published><updated>2013-05-02T19:28:03.087-07:00</updated><title type='text'>Email in GWT</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here is a simple code to send mail in GWT.&lt;br /&gt;
&lt;br /&gt;
Write  this code in servletImpl class&lt;br /&gt;
&lt;br /&gt;
String host = &quot;xxx.com.xx&quot;;//use your own host&lt;br /&gt;
String from = &quot;..........&quot;;// email id&lt;br /&gt;
String to = &quot;.............&quot;;//email id&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
// Get system properties&lt;br /&gt;
Properties properties = System.getProperties();&lt;br /&gt;
&lt;br /&gt;
// Setup mail server&lt;br /&gt;
properties.setProperty(&quot;mail.smtp.host&quot;, host);&lt;br /&gt;
&lt;br /&gt;
// Get the default Session object.&lt;br /&gt;
Session session = Session.getInstance(properties);&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5119310742997387140&amp;amp;postID=641486505209954225#&quot; name=&quot;ToggleMore&quot;&gt;More...&lt;/a&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;     // Create a default MimeMessage object.&lt;br /&gt;     try{&lt;br /&gt;     MimeMessage message = new MimeMessage(session);// error is&lt;br /&gt;shown in this line&lt;br /&gt;&lt;br /&gt;     // Set the RFC 822 &quot;From&quot; header field using the&lt;br /&gt;     // value of the InternetAddress.getLocalAddress method.&lt;br /&gt;     message.setFrom(new InternetAddress(from));&lt;br /&gt;&lt;br /&gt;     // Add the given addresses to the specified recipient type.&lt;br /&gt;     message.addRecipient(Message.RecipientType.TO, new&lt;br /&gt;InternetAddress(to));&lt;br /&gt;&lt;br /&gt;     // Set the &quot;Subject&quot; header field.&lt;br /&gt;     message.setSubject(&quot;hi..!&quot;);&lt;br /&gt;&lt;br /&gt;     // Sets the given String as this part&#39;s content,&lt;br /&gt;     // with a MIME type of &quot;text/plain&quot;.&lt;br /&gt;     message.setText(&quot;Hi ......&quot;);&lt;br /&gt;     Transport.send(message);&lt;br /&gt;&lt;br /&gt;     }catch(MessagingException e){&lt;br /&gt;&lt;br /&gt;             e.printStackTrace();&lt;br /&gt;     }&lt;br /&gt;     // Send message&lt;br /&gt;&lt;br /&gt;      System.out.println(&quot;Message Send.....&quot;);&lt;br /&gt;&lt;br /&gt;Note: Include activation.jar in library of project&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/8951027757066097956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/07/email-in-gwt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8951027757066097956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8951027757066097956'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/07/email-in-gwt.html' title='Email in GWT'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-371073188941413290</id><published>2009-06-23T03:25:00.000-07:00</published><updated>2013-05-02T19:28:40.799-07:00</updated><title type='text'>Simple Menubar in GWT</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
This is just a simple example of menubar for GWT beginners.&lt;br /&gt;
&lt;b&gt;Code:&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;import com.google.gwt.user.client.Command;&lt;br /&gt;import com.google.gwt.user.client.Window;&lt;br /&gt;import com.google.gwt.user.client.ui.MenuBar;&lt;br /&gt;&lt;br /&gt;public class Menubar extends MenuBar{&lt;br /&gt;MenuBar menu = new MenuBar();//main menubar&lt;br /&gt;public Menubar() {&lt;/code&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;code&gt;&lt;br /&gt;MenuBar home = new MenuBar(true);// Home menu&lt;br /&gt;MenuBar newbar = new MenuBar(true); // New Sub menu&lt;br /&gt;home.addItem(&quot;New&quot;, newbar);//adding New sub menu to Home menu&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Adding Sub New 1 menu to New sub menu&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;newbar.addItem(&quot;Sub New1&quot;,new Command(){&lt;br /&gt;public void execute() {&lt;br /&gt; Window.alert(&quot;Sub New 1 clicked&quot;);// define action here &lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;newbar.addItem(&quot;Sub New2&quot;,new Command(){&lt;br /&gt;public void execute() {&lt;br /&gt; Window.alert(&quot;Sub New 2 clicked&quot;); &lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Adding menu home,support etc to main menubar&lt;br /&gt;*/&lt;br /&gt;this.addItem(&quot;Home&quot;, home);&lt;br /&gt;&lt;br /&gt;this.addItem(&quot;Support&quot;,new Command(){&lt;br /&gt;public void execute() {&lt;br /&gt; Window.alert(&quot;Support clicked&quot;); &lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;this.addItem(&quot;Services&quot;,new Command(){&lt;br /&gt;public void execute() {&lt;br /&gt; Window.alert(&quot;Services clicked&quot;); &lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;this.addItem(&quot;Contact&quot;,new Command(){&lt;br /&gt;public void execute() {&lt;br /&gt; Window.alert(&quot;Contact clicked&quot;); &lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;this.addItem(&quot;Help&quot;,new Command(){&lt;br /&gt;public void execute() {&lt;br /&gt; Window.alert(&quot;Help clicked&quot;); &lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;}&lt;br /&gt;public MenuBar displayMenu(){&lt;br /&gt;return this;&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EntryPoint class:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import com.google.gwt.core.client.EntryPoint;&lt;br /&gt;import com.google.gwt.user.client.ui.RootPanel;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Entry point classes define &lt;code&gt;onModuleLoad()&lt;/code&gt;.&lt;br /&gt;*/&lt;br /&gt;public class Index implements EntryPoint {&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * This is the entry point method.&lt;br /&gt; */&lt;br /&gt;Menubar menu = new Menubar();&lt;br /&gt;public void onModuleLoad() {  &lt;br /&gt;  RootPanel.get().add(menu.displayMenu());&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbvnA2xjNCca2BPcolaGRezPDKFfQz18mbX8c1sOA-Q46ykWKZ8ou6LS0XhjiDbilhgle6vg1Y-LdVsXKl0FYsgGZpaGrrFgwJMQpVjzTXBNrCEr4M5xvMCvxqn0KBhXQboYgPXzLCTLU/s1600-h/menubar.JPG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5350468367381682626&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbvnA2xjNCca2BPcolaGRezPDKFfQz18mbX8c1sOA-Q46ykWKZ8ou6LS0XhjiDbilhgle6vg1Y-LdVsXKl0FYsgGZpaGrrFgwJMQpVjzTXBNrCEr4M5xvMCvxqn0KBhXQboYgPXzLCTLU/s400/menubar.JPG&quot; style=&quot;cursor: pointer; height: 124px; width: 333px;&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/371073188941413290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/simple-menubar-in-gwt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/371073188941413290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/371073188941413290'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/simple-menubar-in-gwt.html' title='Simple Menubar in GWT'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbvnA2xjNCca2BPcolaGRezPDKFfQz18mbX8c1sOA-Q46ykWKZ8ou6LS0XhjiDbilhgle6vg1Y-LdVsXKl0FYsgGZpaGrrFgwJMQpVjzTXBNrCEr4M5xvMCvxqn0KBhXQboYgPXzLCTLU/s72-c/menubar.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-8093564152327884518</id><published>2009-06-23T02:43:00.000-07:00</published><updated>2011-10-17T20:02:12.139-07:00</updated><title type='text'>Building menubar in GWT</title><content type='html'>This is just a simple example on building a menubar with submenus.&lt;br /&gt;&lt;br /&gt;Code:</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/8093564152327884518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/building-menubar-in-gwt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8093564152327884518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/8093564152327884518'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/building-menubar-in-gwt.html' title='Building menubar in GWT'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-4330883964087280658</id><published>2009-06-22T00:23:00.000-07:00</published><updated>2011-10-17T20:02:12.152-07:00</updated><title type='text'>Calculating Sum in Each Group in iReport</title><content type='html'>&lt;br&gt;To calculate the sum in each group in iReport, just do as shown in previous post &lt;a href=&quot;http://asmitasapkota.blogspot.com/2009/06/grouping-in-ireport.html&quot;&gt;Grouping in iReport&lt;/a&gt;. Now add in query, another field  of which you want to take out the sum. For example see in figure below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfK1T3PdSBU4C3lGJDc-TD1QfX-A9uEiP7-cEAFt1GVeELS6nOCuU-myl2clAZQeHm9Qr2ZcIvcPjywy4n012Uz0YwINV_b3Q6TsW10csgKwDLM-xR4tw_CZ1B2Aln1XiCou_N5K2Fzgc/s1600-h/transinquery.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfK1T3PdSBU4C3lGJDc-TD1QfX-A9uEiP7-cEAFt1GVeELS6nOCuU-myl2clAZQeHm9Qr2ZcIvcPjywy4n012Uz0YwINV_b3Q6TsW10csgKwDLM-xR4tw_CZ1B2Aln1XiCou_N5K2Fzgc/s400/transinquery.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350055129458425170&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;#&quot; name=&quot;ToggleMore&quot;&gt;More...&lt;/a&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;Now create a new variable named SUM as shown in figure.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAhxQuUWYqlyGhaTiZluLU8mBT5uTRSSr4RRiEHJzO6JttHO79l8wD0Q75NYHDJMldGFvbaTiFpoE39v339tuf_5iXYLaG3lxVYq0aX0txfPEyiIcL-IS6pm3bFlvdSkv6fxH8ER1dXpM/s1600-h/addingvariable.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAhxQuUWYqlyGhaTiZluLU8mBT5uTRSSr4RRiEHJzO6JttHO79l8wD0Q75NYHDJMldGFvbaTiFpoE39v339tuf_5iXYLaG3lxVYq0aX0txfPEyiIcL-IS6pm3bFlvdSkv6fxH8ER1dXpM/s400/addingvariable.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350054055262079314&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now select and write the fields as shown in figure for variable SUM.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjesJQt9oDe6XxvDZQRwlzCwk7LfSII6wmD-quykbK2pMp4MTYcY3uJrXXTIKCPkE0lmhPNeQuq2w5F95jXS38rTrIrWQcErR6xJi9A6MpaOc54Fp3a-Zx_hqtBJrxsH4IaOM4at0r2goc/s1600-h/SUM.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjesJQt9oDe6XxvDZQRwlzCwk7LfSII6wmD-quykbK2pMp4MTYcY3uJrXXTIKCPkE0lmhPNeQuq2w5F95jXS38rTrIrWQcErR6xJi9A6MpaOc54Fp3a-Zx_hqtBJrxsH4IaOM4at0r2goc/s400/SUM.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350051917919433234&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now arrange all the fields as shown in figure and run the file.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVDYJdJmvKSHtEyNDRuJK4f8eckXBMtYHjX_zS2OYC7aBux8ZeGFLOkwkgE3yrGlxEfOaquRm4qRYmqAhu0-3FXpaJ2Weus0jZxK5yTA5-uBLwjvkj3wWt9tAmt2xFNy-wLyyh_-7a80/s1600-h/sumformat.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVDYJdJmvKSHtEyNDRuJK4f8eckXBMtYHjX_zS2OYC7aBux8ZeGFLOkwkgE3yrGlxEfOaquRm4qRYmqAhu0-3FXpaJ2Weus0jZxK5yTA5-uBLwjvkj3wWt9tAmt2xFNy-wLyyh_-7a80/s400/sumformat.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350052665382901890&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Output:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFvHcUCMBCBDiq3L2TScDkrZ-ZsZEdIDXhEpFBu45J1tjvOWVJvYgj__EKGBqVDvJe7IEr1zGEPkLUgb3-j-tVPPICOSLKA7jSNBVb3FBsGkVOyq-epDE5lyuGuzWpQJahf6g-JWCsFmw/s1600-h/result.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFvHcUCMBCBDiq3L2TScDkrZ-ZsZEdIDXhEpFBu45J1tjvOWVJvYgj__EKGBqVDvJe7IEr1zGEPkLUgb3-j-tVPPICOSLKA7jSNBVb3FBsGkVOyq-epDE5lyuGuzWpQJahf6g-JWCsFmw/s400/result.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350052905720014178&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/4330883964087280658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/calculating-sum-in-each-group-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4330883964087280658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4330883964087280658'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/calculating-sum-in-each-group-in.html' title='Calculating Sum in Each Group in iReport'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfK1T3PdSBU4C3lGJDc-TD1QfX-A9uEiP7-cEAFt1GVeELS6nOCuU-myl2clAZQeHm9Qr2ZcIvcPjywy4n012Uz0YwINV_b3Q6TsW10csgKwDLM-xR4tw_CZ1B2Aln1XiCou_N5K2Fzgc/s72-c/transinquery.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-4778521748217248452</id><published>2009-06-21T23:02:00.000-07:00</published><updated>2011-10-17T20:02:12.181-07:00</updated><title type='text'>Grouping in iReport</title><content type='html'>&lt;br&gt;Here is a simple example on grouping in iReport. Its steps are as follows:&lt;br&gt;&lt;br /&gt;1. Create a new document as shown in figure.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0GLj4Z2EHHThOUzDRDvOj0HnWlJ2KkVUDgp1O6YzYqVtNhzVz8u6RUfi1Xbnys1HvAnfzEIjprNeDux11Rcm19zpZFTh0uWLwUnvsGDhA0LNEX7f6hfI-qWEruLbzxnMhNuOA_O0DwXc/s1600-h/newdocument.JPG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px; height: 303px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0GLj4Z2EHHThOUzDRDvOj0HnWlJ2KkVUDgp1O6YzYqVtNhzVz8u6RUfi1Xbnys1HvAnfzEIjprNeDux11Rcm19zpZFTh0uWLwUnvsGDhA0LNEX7f6hfI-qWEruLbzxnMhNuOA_O0DwXc/s400/newdocument.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5350044823414073890&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;#&quot; name=&quot;ToggleMore&quot;&gt;More...&lt;/a&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;2. Now go to the Data option and select Report Query and write query in the window that appears as shown below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi83oh8kU-ohFFZ2i1UswZTxzASp4xBl98q614phWSGYQ_E9IW950nPtikXSB4xdzn8Oi5IhNrtMwH8BZ8br1XIHBlbaC5qjDJ5DobenAMDzRPOu-Ic_QwJm0OG-jDixv8ID1UwSYTubHE/s1600-h/2ndstep.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 291px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi83oh8kU-ohFFZ2i1UswZTxzASp4xBl98q614phWSGYQ_E9IW950nPtikXSB4xdzn8Oi5IhNrtMwH8BZ8br1XIHBlbaC5qjDJ5DobenAMDzRPOu-Ic_QwJm0OG-jDixv8ID1UwSYTubHE/s400/2ndstep.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350045121666117874&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Now go to View option and select Report Groups and name the group and give the expression of  the field by which you want to group as shown in figure.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzcPNapf17Et6RgA_mHjpYzdF_u3xrJG5_swuyGmZjdS-fYzx-L_ht4PptTEzKvJ4SrAVj2gMLVQS_lOJbhUfJ48JhfmmU6-LncrnVKtOqb69pQSNALUI9F5IOlqITYihhGkEyjJCd9Fw/s1600-h/4THSTEP.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzcPNapf17Et6RgA_mHjpYzdF_u3xrJG5_swuyGmZjdS-fYzx-L_ht4PptTEzKvJ4SrAVj2gMLVQS_lOJbhUfJ48JhfmmU6-LncrnVKtOqb69pQSNALUI9F5IOlqITYihhGkEyjJCd9Fw/s400/4THSTEP.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350045577384901682&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4.Now put the info required in the bands as shown in figure.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilXOnCfrADdcdtWocAwQO8MNKMyJQ7Bvxw6FqixFGXoQjE2-DXUP5i2juuEOYOFAcosin6WEI3u1TZoutInJg8nN1wMd8q9kZ3l3e_JEiIlU6IkEIJtJLy3sqt8JG_DS9zzuPjguzUGSQ/s1600-h/5thstep.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilXOnCfrADdcdtWocAwQO8MNKMyJQ7Bvxw6FqixFGXoQjE2-DXUP5i2juuEOYOFAcosin6WEI3u1TZoutInJg8nN1wMd8q9kZ3l3e_JEiIlU6IkEIJtJLy3sqt8JG_DS9zzuPjguzUGSQ/s400/5thstep.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350046083674572290&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. Now right click on field and edit the properties as shown in figure.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2yEaZG40fa3sPxaNFngdiIEyhGp99QYstF8_Qh0ijkWcFPdToANRoqXEX9QLXsBmf6-k56fuLXgd8_2eCXve0vtgAqVMYN97FChG3Tb4SoEl_xDvKjllp11QwaaA5uRyKAhyz0RGVdvU/s1600-h/6thstep.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2yEaZG40fa3sPxaNFngdiIEyhGp99QYstF8_Qh0ijkWcFPdToANRoqXEX9QLXsBmf6-k56fuLXgd8_2eCXve0vtgAqVMYN97FChG3Tb4SoEl_xDvKjllp11QwaaA5uRyKAhyz0RGVdvU/s400/6thstep.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350046511689660050&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiitoqeAORyW5WmmvcVRScsGk_w8aXnHgZr0EFPUV0RuOtBwjKI2H7PjarCFe2So0DP1QVlYvp2CH3ZSXVwlFx0DJ2mgkXZ6GFCEbdrkzX9iLJXn7Y_ybSCQu8SNoOX4rCZHrD9uIDErQw/s1600-h/7thstep.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiitoqeAORyW5WmmvcVRScsGk_w8aXnHgZr0EFPUV0RuOtBwjKI2H7PjarCFe2So0DP1QVlYvp2CH3ZSXVwlFx0DJ2mgkXZ6GFCEbdrkzX9iLJXn7Y_ybSCQu8SNoOX4rCZHrD9uIDErQw/s400/7thstep.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350046816500143410&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. Delete the unnecessary bands and make report clear and keep only necessary bands as shown below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigfVkoPnbfEPlZOgvKyZJ9jm0Q3Ke3opVQYvDxE3hyphenhyphenN6CKswNVW-pKGjK1Eg6lSNhtGQKh2Wwup-TAaVUxQgO9bnwbp0ZFFXzJNwPesFA9i-oVS1XUaRE3U8nuKwvsOiAOyIzE-xodd1w/s1600-h/8thstep.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigfVkoPnbfEPlZOgvKyZJ9jm0Q3Ke3opVQYvDxE3hyphenhyphenN6CKswNVW-pKGjK1Eg6lSNhtGQKh2Wwup-TAaVUxQgO9bnwbp0ZFFXzJNwPesFA9i-oVS1XUaRE3U8nuKwvsOiAOyIzE-xodd1w/s400/8thstep.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350047068704225986&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7.Now run the report and the result will be shown as in figure.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDAjj_mkPyIvINq026StZi7Iflkp2TzL7h3r3pHEFkGHIiPK9fHB_tCpTwGAaGIohEJoT6IoBEJOBJbnzV_cEoO3rWxZeroM4TWF6ZdasfHggAli7_lJ-mHko48sskVDLrqYRLywaLKw/s1600-h/9th.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDAjj_mkPyIvINq026StZi7Iflkp2TzL7h3r3pHEFkGHIiPK9fHB_tCpTwGAaGIohEJoT6IoBEJOBJbnzV_cEoO3rWxZeroM4TWF6ZdasfHggAli7_lJ-mHko48sskVDLrqYRLywaLKw/s400/9th.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5350047274487753938&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/4778521748217248452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/grouping-in-ireport.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4778521748217248452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4778521748217248452'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/grouping-in-ireport.html' title='Grouping in iReport'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0GLj4Z2EHHThOUzDRDvOj0HnWlJ2KkVUDgp1O6YzYqVtNhzVz8u6RUfi1Xbnys1HvAnfzEIjprNeDux11Rcm19zpZFTh0uWLwUnvsGDhA0LNEX7f6hfI-qWEruLbzxnMhNuOA_O0DwXc/s72-c/newdocument.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-4478082144303933434</id><published>2009-06-18T01:59:00.000-07:00</published><updated>2013-05-02T19:31:07.432-07:00</updated><title type='text'>Reading Files From a Certain Location Using JAVA</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Here is a simple example of reading files from any folder and list their names and size on disk. The code goes here:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;import java.io.BufferedWriter;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileWriter;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;public class FileTest {&lt;br /&gt;public static void main(String args[]){&lt;br /&gt;File file = new File(&quot;C:/windows/system32&quot;);&lt;br /&gt;File files[] = file.listFiles();&lt;/code&gt;&lt;br /&gt;
&lt;span class=&quot;collapse&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;code&gt;&lt;br /&gt;try{&lt;br /&gt;BufferedWriter writer =  new BufferedWriter(new FileWriter(&quot;c:/ex.txt&quot;));&lt;br /&gt;for(int i=0;i&amp;lt;files.length;i++){&lt;br /&gt;   Long size =(files[i].length());&lt;br /&gt;   String leng= String.valueOf(size);&lt;br /&gt;   Float lg = Float.valueOf(leng)/1024;&lt;br /&gt;   writer.write(files[i]+&quot; ------size =&quot;+lg+&quot;KB&quot;);&lt;br /&gt;   writer.newLine();&lt;br /&gt; }&lt;br /&gt; writer.close();&lt;br /&gt;}&lt;br /&gt;catch(IOException e){&lt;br /&gt;    e.printStackTrace();&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHYDrmK3Xe7HQKehVu00gRW7a_I_Nw_tRDb0Au3s5QMQOa8rtDdkvW3qnqTFNpnmAHH0lyBggiOHJYmwjcfPooYNhNHaXGhamkByJIcIBnrzvOfpbGXRYrrd7qkZfC5OCHg5sIh4kGap0/s1600-h/file.JPG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5348599265131757778&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHYDrmK3Xe7HQKehVu00gRW7a_I_Nw_tRDb0Au3s5QMQOa8rtDdkvW3qnqTFNpnmAHH0lyBggiOHJYmwjcfPooYNhNHaXGhamkByJIcIBnrzvOfpbGXRYrrd7qkZfC5OCHg5sIh4kGap0/s400/file.JPG&quot; style=&quot;cursor: hand; cursor: pointer; height: 300px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/4478082144303933434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/reading-files-from-certain-location.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4478082144303933434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4478082144303933434'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/06/reading-files-from-certain-location.html' title='Reading Files From a Certain Location Using JAVA'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHYDrmK3Xe7HQKehVu00gRW7a_I_Nw_tRDb0Au3s5QMQOa8rtDdkvW3qnqTFNpnmAHH0lyBggiOHJYmwjcfPooYNhNHaXGhamkByJIcIBnrzvOfpbGXRYrrd7qkZfC5OCHg5sIh4kGap0/s72-c/file.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-4560004081899449187</id><published>2009-04-29T02:40:00.000-07:00</published><updated>2013-05-02T19:31:31.646-07:00</updated><title type='text'>GWT Help For Beginners</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Since I had worked in GWT framework, I would like to share my knowledge as a help to those who want to use GWT and had not been able to do so. I have listed the steps to configure and run GWT projects. This is just the starting and I will post more  articles further.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Steps for using GWT&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
1. Download GWT from &lt;a href=&quot;http://google-web-toolkit.googlecode.com/files/gwt-windows-1.5.3.zip&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
(I have just used this version of gwt as an example and you can follow the same procedure for earlier versions as well. As I have not used gwt 1.6 yet, I do not know whether this works for it too.)&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=283611545329522935#&quot; name=&quot;ToggleMore&quot;&gt;More...&lt;/a&gt;&lt;span class=&quot;collapse&quot;&gt;&lt;br /&gt;2. Extract it to one of your drives.&lt;br /&gt;&lt;br /&gt;3. Set path of the folder where applicationcreator and projectcreator files are located. &lt;br /&gt;&lt;br /&gt;e.g. D:\gwt-windows-1.5.3\gwt-windows-1.5.3 (As shown in figure)&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN-nCAg9InP9QPx1_dFUmV-9h4jKQeeJ_ZVHLlAns32sCnEB0xQjD33lqoVbVe2q3bjwoKcCX4fWtB_RvAZcasBZGw1KG1EVHg17X8tt6ky5rrMtnQe4QsVJsfhP57Le2zfq-vQaDapT8/s1600-h/Figure12.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330065597281364514&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN-nCAg9InP9QPx1_dFUmV-9h4jKQeeJ_ZVHLlAns32sCnEB0xQjD33lqoVbVe2q3bjwoKcCX4fWtB_RvAZcasBZGw1KG1EVHg17X8tt6ky5rrMtnQe4QsVJsfhP57Le2zfq-vQaDapT8/s320/Figure12.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 232px; margin: 0px auto 10px; text-align: center; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Go to command prompt and create a directory in any of the drives. Now, create a project as shown in the figure.&lt;br /&gt;&lt;br /&gt;Click on the image for a large-sized figure.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUNwLD63BHV_gmZ7U5KTJHY9EmJuu_XNwfUwqnyf0vWUJo4FBd0omqWt1C_2h_JmYyVZrBK0N1-TRDTs22aLEnPAKyNlrWEC2sEBXxSS7Xc0M0qWGwIvWlvqb3wn2miCIa1YoReSR34U/s1600-h/Figure2.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330067003336261410&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUNwLD63BHV_gmZ7U5KTJHY9EmJuu_XNwfUwqnyf0vWUJo4FBd0omqWt1C_2h_JmYyVZrBK0N1-TRDTs22aLEnPAKyNlrWEC2sEBXxSS7Xc0M0qWGwIvWlvqb3wn2miCIa1YoReSR34U/s320/Figure2.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 196px; margin: 0px auto 10px; text-align: center; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. Now open Eclipse IDE and import the project as shown below:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtB0dXO07n4Bu96keZjWLQhdgQzuhQXADyLpCOKwfZFXVh3-p74BS2F-1zoCooxWYIy2dHwVI-cH0ABAmlrbPmmtxyJV_kHj-9d9K4X2KBCQo8CsaH8_w9_Bv8md-MiobxFkNIaunU0x8/s1600-h/Figure3.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330067927489036674&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtB0dXO07n4Bu96keZjWLQhdgQzuhQXADyLpCOKwfZFXVh3-p74BS2F-1zoCooxWYIy2dHwVI-cH0ABAmlrbPmmtxyJV_kHj-9d9K4X2KBCQo8CsaH8_w9_Bv8md-MiobxFkNIaunU0x8/s320/Figure3.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 237px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLL6C6q3PM1bVNaR7DM1rnO56ZZSP55qAuxk-9gS88j8aUyKvQ9izPnqFguZnCJvOzI-TYSnGGrwSLeT7CICwobdpuXCd-y42Qn4i9ifXAckYaM2ZVXeUoiG9L2UzVsWXRKbGJFXkSV1E/s1600-h/Figure4.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330069218585895714&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLL6C6q3PM1bVNaR7DM1rnO56ZZSP55qAuxk-9gS88j8aUyKvQ9izPnqFguZnCJvOzI-TYSnGGrwSLeT7CICwobdpuXCd-y42Qn4i9ifXAckYaM2ZVXeUoiG9L2UzVsWXRKbGJFXkSV1E/s320/Figure4.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 317px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTEiDWAGPiik-8LoCJIuWxkaZ2EbIVveNhYkJLwXcp9MVnijQE5SBYuzWrTOAM5n2mOqUwvPcVAD8P67si4F1f-vlRHbcd3HoOPW2zcqHYJk7LzBMVbZYUG_id7Lx9uoXyL74v8nRYsbU/s1600-h/Figure5.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330070704518957906&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTEiDWAGPiik-8LoCJIuWxkaZ2EbIVveNhYkJLwXcp9MVnijQE5SBYuzWrTOAM5n2mOqUwvPcVAD8P67si4F1f-vlRHbcd3HoOPW2zcqHYJk7LzBMVbZYUG_id7Lx9uoXyL74v8nRYsbU/s320/Figure5.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 198px; margin: 0px auto 10px; text-align: center; width: 320px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJsJY-aHXqAn7PW4WNQk5xVrP0CpoCdo283stP5me32oB9qpkTXqPTWoXvAEkWmybxJfbSIpzx6p3rAATiBNvpcluMRDUpQr2hQ6fZU1NzFVDeOr3AZ_ogTGp6UvFu18SAk7CJBB3GdM/s1600-h/figure6.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330070955730736946&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJsJY-aHXqAn7PW4WNQk5xVrP0CpoCdo283stP5me32oB9qpkTXqPTWoXvAEkWmybxJfbSIpzx6p3rAATiBNvpcluMRDUpQr2hQ6fZU1NzFVDeOr3AZ_ogTGp6UvFu18SAk7CJBB3GdM/s320/figure6.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 282px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Click Finish.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Qn6Z3hyphenhyphenBL8HVi5pN4c7-OEczMzJ5OKcJTzhlfL1bXn9MiMep6eEEN4uM5W8zVmJyi9X9Mr2_1OL2RN53BW_MsQcMDaw4kRB_29Zlc-cTFPkkMepFtrJjVseQn5zKkjJqBw1RVecEAiA/s1600-h/figure7.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330071222580461714&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Qn6Z3hyphenhyphenBL8HVi5pN4c7-OEczMzJ5OKcJTzhlfL1bXn9MiMep6eEEN4uM5W8zVmJyi9X9Mr2_1OL2RN53BW_MsQcMDaw4kRB_29Zlc-cTFPkkMepFtrJjVseQn5zKkjJqBw1RVecEAiA/s320/figure7.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 307px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Now browse and select the project.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiabVZhIUWoUSAGagqeXTc-nTZrcg4AGN_HkC0tkFoqT9glD8GRhLXWzzGzY7aK16eCMqdj2btJaga-0u4oDaLoUg8EWJBVR-fgGIqRwJamhlPjYhxVz4PZ4A4fULN6yf10yNNXwvi4gtI/s1600-h/browse.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330197446345187234&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiabVZhIUWoUSAGagqeXTc-nTZrcg4AGN_HkC0tkFoqT9glD8GRhLXWzzGzY7aK16eCMqdj2btJaga-0u4oDaLoUg8EWJBVR-fgGIqRwJamhlPjYhxVz4PZ4A4fULN6yf10yNNXwvi4gtI/s400/browse.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 186px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8. Once you click on Run button (&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7tXxu4E9E4ITJmEY49EIJyrcFdbgwLVYcywUGULSwYmjZj-Rx_eeQQT1a4c_hhIyYF-9gz4bmeEz_2rPUvhXnTa2qm_TOIi1jkiLj0n_W2sg3ESAE5GXs6oLm2nTuPOpWQgVzjNbGnyM/s400/run.jpg&quot; style=&quot;height: 20px; width: 27px;&quot; /&gt;), you will see the output as shown in figure.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK34emryGyveppwNO4WMFXWGkoAeVdfJ8aHiQbRrmFkX5lFj0YhR0apKC91cbmank4_saHi-IdRvlWIq-fW40S9CaTJ0Qbg4v_8oQZkwdbhAYm_SNOTtWWR7KSe_1mE39PCOgDmaHu7mA/s1600-h/output.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5330204214719208738&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK34emryGyveppwNO4WMFXWGkoAeVdfJ8aHiQbRrmFkX5lFj0YhR0apKC91cbmank4_saHi-IdRvlWIq-fW40S9CaTJ0Qbg4v_8oQZkwdbhAYm_SNOTtWWR7KSe_1mE39PCOgDmaHu7mA/s400/output.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope this post will help you to create your own GWT project.&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;For further comments and suggestions, you are warmly welcomed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/4560004081899449187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/04/gwt-help-for-beginners.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4560004081899449187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/4560004081899449187'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/04/gwt-help-for-beginners.html' title='GWT Help For Beginners'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN-nCAg9InP9QPx1_dFUmV-9h4jKQeeJ_ZVHLlAns32sCnEB0xQjD33lqoVbVe2q3bjwoKcCX4fWtB_RvAZcasBZGw1KG1EVHg17X8tt6ky5rrMtnQe4QsVJsfhP57Le2zfq-vQaDapT8/s72-c/Figure12.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-283611545329522935.post-810838434282006113</id><published>2009-04-10T04:53:00.000-07:00</published><updated>2013-05-02T16:45:33.514-07:00</updated><title type='text'>Introduction</title><content type='html'>Hi Everyone,&lt;br /&gt;&lt;br /&gt;This is Asmita Sapkota from Kathmandu, Nepal(Currently working in USA). I have just created this blog and for further new, interesting postings you&#39;ll have to wait a bit.&lt;br /&gt;&lt;br /&gt;Thanks for viewing this blog.</content><link rel='replies' type='application/atom+xml' href='http://asmitasapkota.blogspot.com/feeds/810838434282006113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://asmitasapkota.blogspot.com/2009/04/introduction.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/810838434282006113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/283611545329522935/posts/default/810838434282006113'/><link rel='alternate' type='text/html' href='http://asmitasapkota.blogspot.com/2009/04/introduction.html' title='Introduction'/><author><name>Asmita Sapkota</name><uri>http://www.blogger.com/profile/09039456858432158810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>