Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.test.Config;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRegistration;
- import org.springframework.web.WebApplicationInitializer;
- import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
- import org.springframework.web.servlet.DispatcherServlet;
- public class SpringWebAppInitializer implements WebApplicationInitializer{
- public void onStartup(ServletContext servletContext) throws ServletException {
- AnnotationConfigWebApplicationContext appContext = new
- AnnotationConfigWebApplicationContext();
- appContext.register(ApplicationContextConfig.class);
- ServletRegistration.Dynamic dispatcher = servletContext.addServlet(
- "SpringDispatcher", new DispatcherServlet(appContext));
- dispatcher.setLoadOnStartup(1);
- dispatcher.addMapping("/");
- }
- }
- package com.test.Config;
- import java.util.Properties;
- import javax.sql.DataSource;
- import org.apache.commons.dbcp2.BasicDataSource;
- import org.hibernate.SessionFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.ComponentScan;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.orm.hibernate5.HibernateTransactionManager;
- import org.springframework.orm.hibernate5.LocalSessionFactoryBuilder;
- import org.springframework.transaction.annotation.EnableTransactionManagement;
- import org.springframework.web.servlet.view.InternalResourceViewResolver;
- @Configuration
- @ComponentScan({"com.Test.Controllers"})
- @EnableTransactionManagement
- public class ApplicationContextConfig {
- private Properties getHibernateProperties() {
- Properties properties = new Properties();
- properties.put("hibernate.show_sql", "true");
- properties.put("hibernate.dialect",
- "org.hibernate.dialect.MySQLDialect");
- return properties;
- }
- @Bean(name = "viewResolver")
- public InternalResourceViewResolver getViewResolver() {
- InternalResourceViewResolver viewResolver =
- new InternalResourceViewResolver();
- viewResolver.setPrefix("/WEB-INF/views/");
- viewResolver.setSuffix(".jsp");
- return viewResolver;
- }
- @Bean(name = "dataSource")
- public DataSource getDataSource() {
- BasicDataSource dataSource = new BasicDataSource();
- dataSource.setDriverClassName("com.mysql.jdbc.Driver");
- dataSource.setUrl("jdbc:mysql://localhost:3306/mydb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC");
- dataSource.setUsername("root");
- dataSource.setPassword("admin");
- return dataSource;
- }
- @Autowired
- @Bean(name = "sessionFactory")
- public SessionFactory getSessionFactory(DataSource dataSource) {
- LocalSessionFactoryBuilder sessionBuilder =
- new LocalSessionFactoryBuilder(dataSource);
- sessionBuilder.scanPackages("com.Test.Models");
- sessionBuilder.addProperties(getHibernateProperties());
- return sessionBuilder.buildSessionFactory();
- }
- @Autowired
- @Bean(name = "transactionManager")
- public HibernateTransactionManager getTransactionManager(
- SessionFactory sessionFactory) {
- HibernateTransactionManager transactionManager =
- new HibernateTransactionManager(sessionFactory);
- return transactionManager;
- }
- }
- package com.Test.TestPackage;
- import javax.persistence.EntityManager;
- import javax.persistence.PersistenceContext;
- import org.springframework.transaction.annotation.Transactional;
- import com.Test.Models.User;
- @Transactional
- public class TestEntityManager {
- @PersistenceContext
- private EntityManager entityManager;
- public void addUser(User tmp) {
- entityManager.persist(tmp); // throws null pointer exception
- }
- }
Add Comment
Please, Sign In to add comment