Struts hibernate spring interview questions (2)

Source: Internet
Author: User
Tags to domain

1. How does hibernate work and why?
Principle:
1. Read and parse the configuration file (hibernate. cfg. XML) configuration Config = new configuration (). Configure ();

2. Read and parse the ing information and create sessionfactory factory = config. buildsessionfactory ();

3. Open sesssion session = factory. opensession ();

4. Create transaction transation Tx = session. begintransation ();

5. Persistent operations

6. Submit transactions such as Tx. Commit (); Tx. Roback (); Tx. colse ().

7. Disable session

8. Disable sesstionfactory

Why:
1. The code for JDBC database access is encapsulated, which greatly simplifies the tedious and repetitive code at the data access layer.

2. Hibernate is a mainstream persistence framework based on JDBC and an excellent ORM implementation. He greatly simplifies the coding of the DaO layer.

3. hibernate uses the Java reflection mechanism instead of the bytecode enhancement program to achieve transparency.

4. hibernate has excellent performance because it is a lightweight framework. Flexible ing. It supports various relational databases, from one-to-one to many-to-many complex relationships.

2. How does hibernate delay loading?

1. Implementation of hibernate2 delayed loading: a) object B) Collection)

2. hibernate3 provides the property's delayed Loading Function

When hibernate queries data, the data does not exist in the memory. When the program really operates on the data, the object exists in the memory, and the loading is delayed, it saves the server memory overhead and improves the server performance.

3. How does one implement the relationship between classes in hibernate? (For example, one-to-many and many-to-many relationships)

The relationship between classes is mainly reflected in the relationship between tables for operations. They are all objects for operations. In our program, all tables and classes are mapped together, they are used in the configuration file named "allow-to-one", "one-to-allow", "allow-to-allow,

4. Talk about the cache mechanism of Hibernate

1. The internal cache exists in Hibernate and is also called a level-1 cache, which belongs to the application transaction level cache. For example, session is a level-1 cache.

2. Secondary cache: for example, sessionfactory is a secondary cache.
A) application-level cache
B) distributed cache
Condition: the data is not modified by a third party, the data size is within the acceptable range, the data update frequency is low, the same data is frequently used by the system, non-critical data
C) third-party cache implementation

5. Hibernate query method

SQL, criteria, object comptosition
Hql:
1. query attributes
2. parameter query and name parameter query
3. join query
4. Paging Query
5. Statistical functions

6. How to optimize hibernate?

1. Use bidirectional one-to-Multiple Association instead of unidirectional one-to-Multiple Association
2. flexible use of one-to-multiple associations
3. Replace multiple-to-one instead of one-to-one
4. Configure the object cache without using the set Cache
5. Use bag for one-to-multiple sets and set for multiple-to-multiple sets
6. Use explicit polymorphism for inheritance classes
7. Fewer table fields, no more table Association, and secondary cache support

7. How does struts work? Why use struts?

Working mechanism:
Struts workflow:
When the web application starts, the initialization actionservlet will be loaded, and the actionservlet will
Read configuration information in the struts-config.xml file and store them to various configuration objects
When the actionservlet receives a customer request, it will execute the following process.
-(1) retrieve the actionmapping instance that matches the user request. If it does not exist, the system returns invalid information about the request path;
-(2) if the actionform instance does not exist, create an actionform object and save the form data submitted by the customer to the actionform object;
-(3) determine whether form verification is required based on the configuration information. If form verification is required, call the validate () method of actionform;
-(4) if the validate () method of actionform returns NULL or an actuiberrors object that does not contain actionmessage is returned, the form verification is successful;
-(5) The actionservlet determines the action to which the request is forwarded based on the actioning information contained in the actionmapping. If the corresponding action instance does not exist, create the instance first, and then call the action's execute () method;
-(6) The execute () method of action returns an actionforward object. The actionservlet is forwarding the client request to the JSP component pointed to by the actionforward object;
-(7) The actionforward object directs to the JSP component to generate a dynamic webpage and return it to the customer;

Why:
The emergence of JSP, Servlet, and JavaBean technologies makes it possible for us to build a powerful enterprise application system. However, systems built with these technologies are very messy. Therefore, we need a rule and a rule to organize these technologies. This is the framework, and Struts came into being.

Struts-based applications are composed of three types of components: controller components, model components, and view components.

8. How is the struts validate framework verified?

Configure the specific error message in the struts configuration file, and then call the validate () method in formbean.

9. Let's talk about the struts design model.

MVC mode: When a web application starts, it loads and initializes actionservler. When a user submits a form, a configured actionform object is created and filled with the corresponding data in the form. actionservler determines whether form verification is required based on the settings configured in the Struts-config.xml file, if you need to call the validate () Verification of actionform, select the action to which the request is sent. If the action does not exist, actionservlet will first create this object and then call the action's execute () method. Execute () obtains data from the actionform object, completes the business logic, returns an actionforward object, and the actionservlet then forwards the customer request to the JSP component specified by the actionforward object, the JSP specified by the actionforward object generates a dynamic webpage and returns it to the customer.

10. Why does spring work?
1. Spring MVC requests all requests to be submitted to dispatcherservlet. It will entrust other modules of the application system to handle the requests in real time.
2. The dispatcherservlet queries one or more handlermapping and finds the Controller that processes the request.
3. Submit the dispatcherservlet request to the target controller.
4. After the controller processes the business logic, a modelandview is returned.
5. The dispathcher queries one or more viewresolver view Resolvers and finds the view object specified by the modelandview object.
6. view objects are rendered and returned to the client.

Why:
{AOP allows developers to create non-behavioral concerns, known as cross-cutting concerns, and insert them into application code. With AOP, public services (such as logs, persistence, and transactions) can be decomposed into aspects and applied to domain objects without increasing the complexity of the Object Model of domain objects.
IOC allows you to create an application environment that can construct objects and then pass their collaboration objects to these objects. As the word inversion indicates, IOC is like the reversed JNDI. Instead of using a bunch of abstract factories, service locators, Singleton, and straight construction, each object is constructed with its collaborative object. Therefore, collaborator is managed by containers ).
Even an AOP framework, spring is also an IOC container. The best thing about spring is that it helps you replace objects. With Spring, you only need to add dependencies (collaboration objects) with the JavaBean attribute and configuration file ). Then, you can easily replace the collaboration object with similar interfaces as needed.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.