Tuesday, July 31, 2012

NETBEANS IDE 6/7 KEYBOARD SHORTCUTS & CODE TEMPLATES (WINDOWS)



KEYBOARD SHORT-CUTS  & CODE TEMPLATES FOR WINDOWS


The NetBeans IDE has seen one of the popular among IDE's over the past years, particularly with the adaptation of a completely smart,intelligent, slick Java/J2EE  along with different open source appliaction editor. Here are the Keyboard Short-Cuts, Hope that You will like for reference.....

Searching, Finding, and Replacing



KEYACTION                                 
Ctrl-F3 For Search word at insert point
Ctrl-F/H For Find/Replace in file
Ctrl-Shift-PTo Find/replace in projects
Ctrl-R For Rename
Ctrl-U, and SToggle case of selection
Ctrl-U, then LConverting the selection to lowercase
Ctrl-U, then UConverting the selection to uppercase
Alt-Shift-VFormatted Paste
Alt-F7Finding usages
Alt-Shift-UFind usages results
Alt-Shift-HTurning off searched result highlights
F3/Shift-F3Find next/previous in file







NETBEANS IDE Mac OS Keyboard Shortcuts

Mac OS Keyboard Shortcuts NETBEANS 6/7

Here are the shortcuts of NETBEANS 6/7 in MAC OS


Scrolling and Selecting

KEYDESCRIPTION
Cmd-A Selects all text in the file.
Cmd-[
Moves the insertion point to the highlighted matching bracket.
Note that this shortcut only works when the insertion point is
located immediately after the opening bracket.
Ctrl-G Jumps to any specified line.
Cmd-Shift-[
Selects the block between a pair of brackets. Note that this shortcut
only works when the insertion point is located immediately after
either the opening or closing bracket.





Wednesday, July 25, 2012

Hibernate Interview Questions - PART-II


HIBERNATE



16. What’s the difference between load() and get()?

                                load()                             get()
Only use the load() method if you are sure that the object exists.Only use the load() method if you are sure that the object exists.
load() method will throw an exception if the unique id is not found in the database.
get() method will return null if the unique id is not found in the database.
load() just returns a proxy by default and database won’t be hit until the proxy is first invoked.  get() will hit the database immediately.


17.What is the difference between and merge and update ?

Use update() if you are sure that the session does not contain an already persistent instance with the same identifier, and merge() if you want to merge your modifications at any time without consideration of the state of the session.



18.How do you define sequence generated primary key in hibernate?

Using <generator> tag.

Example:-

<id column="ACC_ID" name="id" type="java.lang.Long"> 

   <generator class="sequence">

     <param name="table">SEQUENCE_NAME</param>

   <generator>

</id>


Hibernate Interview Questions - PART-I

Hibernate Interview Questions - PART-I


HIBERNATE


Hibernate is an object-relational mapping (ORM) library/tool for the Java/J2ee platform, which provides a framework for mapping an existing object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.

Hibernate is free software that is distributed under the GNU Lesser General Public License.

Here are some interview questions which are asked frequently.....

read more.......














Configuring a WebLogic Domain and Server

Configuring a WebLogic Domain and Server

A domain is an interrelated set of WebLogic Server resources managed as a unit. A domain includes one or more administration servers and managed servers. Various clients use the administration server to configure the system. The managed server is used to run actual applications.
We will use the Domain Configuration wizard to create a new domain called mydomain.
What You Should Be Able to Do

Following this setup, you should be able to configure a new domain using the Configuration Wizard.



Read more .......

Tuesday, July 24, 2012

Spring Framework Interview Questions- PART III




31. What are the types of Advice?
Types of advice:
@ Before advice: Advice that executes before a join point, but which does not have the ability to prevent execution flow proceeding to the join point (unless it throws an exception).
@ After returning advice: Advice to be executed after a join point completes normally: for example, if a method returns without throwing an exception.
@ After throwing advice: Advice to be executed if a method exits by throwing an exception.
@ After (finally) advice: Advice to be executed regardless of the means by which a join point exits (normal or exceptional return).
@ Around advice: Advice that surrounds a join point such as a method invocation. This is the most powerful kind of advice. Around advice can perform custom behavior before and after the method invocation. It is also responsible for choosing whether to proceed to the join point or to shortcut the advised method execution by returning its own return value or throwing an exception.

32. What are the types of the transaction management Spring supports ?
Spring Framework supports:   
==>Programmatic transaction management.
==>Declarative transaction management. 

33. What are the benefits of the Spring Framework transaction management ?
The Spring Framework provides a consistent abstraction for transaction management that delivers the following benefits:
==>Provides a consistent programming model across different transaction APIs such as JTA, JDBC, Hibernate, JPA, and JDO.
==>Supports declarative transaction management. 
=>Provides a simpler API for programmatic transaction management than a number of complex transaction APIs such as JTA.
==>Integrates very well with Spring's various data access abstractions.

34.Why most users of the Spring Framework choose declarative transaction management ?
Most users of the Spring Framework choose declarative transaction management because it is the option with the least impact on application code, and hence is most consistent with the ideals of a non-invasive lightweight container.

35. Explain the similarities and differences between EJB CMT and the Spring Framework's declarative transaction management ?
The basic approach is similar: it is possible to specify transaction behavior (or lack of it) down to individual method level. It is  possible to make a setRollbackOnly() call within a transaction context if necessary. The differences are:
Unlike EJB CMT, which is tied to JTA, the Spring Framework's declarative transaction management works in any environment. It can work with JDBC, JDO, Hibernate or other transactions under the covers, with configuration changes only.
@ The Spring Framework enables declarative transaction management to be applied to any class, not merely special classes such as EJBs. 
@ The Spring Framework offers declarative rollback rules: this is a feature with no EJB equivalent. Both programmatic and declarative support for rollback rules is provided.
@ The Spring Framework gives you an opportunity to customize transactional behavior, using AOP. With EJB CMT, you have no way to influence the container's transaction management other than setRollbackOnly().
@ The Spring Framework does not support propagation of transaction contexts across remote calls, as do high-end application servers.

36. When to use programmatic and declarative transaction management ?
 Programmatic transaction management is usually a good idea only if you have a small number of transactional operations. On the other hand, if your application has numerous transactional operations, declarative transaction management is usually worthwhile. It keeps transaction management out of business logic, and is not difficult to configure.

37. Explain about the Spring DAO support ?
The Data Access Object (DAO) support in Spring is aimed at making it easy to work with data access technologies like JDBC, Hibernate or JDO in a consistent way. This allows one to switch between the persistence technologies fairly easily and it also allows one to code without worrying about catching exceptions that are specific to each technology.

38. What are the exceptions thrown by the Spring DAO classes ?
 Spring DAO classes throw exceptions which are subclasses of DataAccessException(org.springframework.dao.DataAccessException).Spring provides a convenient translation from technology-specific exceptions like SQLException to its own exception class hierarchy with the DataAccessException as the root exception. These exceptions wrap the original exception.

39. What is SQLExceptionTranslator ?
SQLExceptionTranslator, is an interface to be implemented by classes that can translate between SQLExceptions and Spring's own data-access-strategy-agnostic org.springframework.dao.DataAccessException.

40. What is Spring's JdbcTemplate ?
Spring's JdbcTemplate is central class to interact with a database through JDBC. JdbcTemplate provides many convenience methods for doing things such as converting database data into primitives or objects, executing prepared and callable statements, and providing custom database error handling.
JdbcTemplate template = new JdbcTemplate(myDataSource);

41. What is PreparedStatementCreator ?
PreparedStatementCreator:
# Is one of the most common used interfaces for writing data to database.
# Has one method – createPreparedStatement(Connection)
# Responsible for creating a PreparedStatement.
# Does not need to handle SQLExceptions.

42. What is SQLProvider ?
 SQLProvider:    
==>Has one method – getSql()
==>Typically implemented by PreparedStatementCreator implementers
==>Useful for debugging

43. What is RowCallbackHandler ?
The RowCallbackHandler interface extracts values from each row of a ResultSet.
==>Has one method – processRow(ResultSet)
==>Called for each row in ResultSet.
==>Typically stateful.


44. What are the differences between EJB and Spring ?


Feature EJB SPRING
Transaction management

Must use a JTA transaction manager.

Supports transactions that span remote method calls.

Supports multiple transaction environments through its PlatformTransactionManager interface, including JTA, Hibernate, JDO, and JDBC.

Does not natively support distributed transactions it must be used with a JTA transaction manager
Declarative transaction support
Can define transactions declaratively through the deployment descriptor.



Can define transaction behavior per method or per class by using the wildcard character *.

Cannot declaratively define rollback behavior—this must be done programmatically.

Can define transactions declaratively through the Spring configuration file or through class metadata.

Can define which methods to apply transaction behavior explicitly or by using regular expressions.

Can declaratively define rollback behavior per method and per exception type
Persistence Supports programmatic bean-managed persistence and declarative container managed persistence. Provides a framework for integrating with several persistence technologies, including JDBC, Hibernate, JDO, and iBATIS
Declarative security
Supports declarative security through users and roles. The management and implementation of users and roles is container specific.

Declarative security is configured in the deployment descriptor.



No security implementation out-of-the box.




Acegi, an open source security framework built on top of Spring, provides declarative security through the Spring configuration file or class metadata
Distributed computing Provides container-managed remote method calls. Provides proxying for remote calls via RMI, JAX-RPC, and web services.




Spring Framework Interview Questions- PART II



15. What do you mean by Bean wiring ?
The act of creating associations between application components (beans) within the Spring container is reffered to as Bean wiring.

16. What do you mean by Auto Wiring?
The Spring container is able to autowire relationships between collaborating beans. This means that it is possible to automatically let Spring resolve collaborators (other beans) for your bean by inspecting the contents of the BeanFactory. The autowiring functionality has five modes.
==>no
==>byName
==>byType
==>constructor
==>autodirect 

17. What is DelegatingVariableResolver?
  Spring provides a custom JavaServer Faces VariableResolver implementation that extends the standard Java Server Faces managed beans mechanism which lets you use JSF and Spring together. This variable resolver is called as DelegatingVariableResolver.

18. How to integrate  Java Server Faces (JSF) with Spring?
JSF and Spring do share some of the same features, most noticeably in the area of IOC services. By declaring JSF managed-beans in the faces-config.xml configuration file, you allow the FacesServlet to instantiate that bean at startup. Your JSF pages have access to these beans and all of their properties.We can integrate JSF and Spring in two ways:


DelegatingVariableResolver: Spring comes with a JSF variable resolver that lets you use JSF and Spring together.
<?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
   "http://www.springframework.org/dtd/spring-beans.dtd"> <faces-config>
   <application>     <variable-resolver>    org.springframework.web.jsf.DelegatingVariableResolver
      </variable-resolver>    </application> 
</faces-config>

The DelegatingVariableResolver will first delegate value lookups to the default resolver of the underlying JSF implementation, and then to Spring's 'business context' WebApplicationContext. This allows one to easily inject dependencies into one's JSF-managed beans.


FacesContextUtils:custom VariableResolver  works well when mapping one's properties to beans in faces-config.xml, but at times one may need to grab a bean explicitly. The FacesContextUtils class makes this easy. It is similar to WebApplicationContextUtils, except that it takes a FacesContext parameter rather than a ServletContext parameter.

ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());

Monday, July 23, 2012

Spring Framework Interview Questions- PART I


1.  What is IOC/Inversion of Control (or Dependency Injection)?
The basic concept of the Inversion of Control pattern (also known as dependency injection) is that you do not create your objects but describe how they should be created. You don't directly connect your components and services together in code but describe which services are needed by which components in a configuration file. A container (in the case of the Spring framework, the IOC container) is then responsible for hooking it all up.
i.e., Applying IoC, objects are given their dependencies at creation time by some external entity that coordinates each object in the system. That is, dependencies are injected into objects. So, IoC means an inversion of responsibility with regard to how an object obtains references to collaborating objects.

2. What are the different types of IOC (dependency injection) ?
There are three types of dependency injection:
A) Constructor Injection (e.g. Pico container, Spring etc): Dependencies are provided as constructor parameters.
B) Setter Injection (e.g. Spring): Dependencies are assigned through JavaBeans properties (ex: setter methods).
C) Interface Injection (e.g. Avalon): Injection is done through an interface.
 Note: Spring supports only Constructor and Setter Injection.