Debugging Spring configuration

前端 未结 2 637
余生分开走
余生分开走 2020-12-04 08:27

I am working on a Java application that uses Spring and Hibernate and runs on a Websphere. I have run into a problem, where I expect Spring to load a Dao into my object, bu

2条回答
  •  情书的邮戳
    2020-12-04 09:11

    Yes, Spring framework logging is very detailed, You did not mention in your post, if you are already using a logging framework or not. If you are using log4j then just add spring appenders to the log4j config (i.e to log4j.xml or log4j.properties), If you are using log4j xml config you can do some thing like this

    
        
    
    

    or

    
        
    
    

    I would advise you to test this problem in isolation using JUnit test, You can do this by using spring testing module in conjunction with Junit. If you use spring test module it will do the bulk of the work for you it loads context file based on your context config and starts container so you can just focus on testing your business logic. I have a small example here

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations={"classpath:springContext.xml"})
    @Transactional
    public class SpringDAOTest 
    {
        @Autowired
        private SpringDAO dao;
    
        @Autowired
        private ApplicationContext appContext;
    
        @Test
        public void checkConfig()
        {
            AnySpringBean bean =  appContext.getBean(AnySpringBean.class);
            Assert.assertNotNull(bean);
        }
    }
    

    UPDATE

    I am not advising you to change the way you load logging but try this in your dev environment, Add this snippet to your web.xml file

    
        log4jConfigLocation
        /WEB-INF/log4j.xml
    
    
    
        org.springframework.web.util.Log4jConfigListener
    
    

    UPDATE log4j config file


    I tested this on my local tomcat and it generated a lot of logging on application start up. I also want to make a correction: use debug not info as @Rayan Stewart mentioned.

    
    
    
    
        
            
            
                
            
        
    
         
             
             
            
                
            
        
    
        
            
        
    
        
            
        
    
        
            
        
    
        
            
        
    
        
            
        
    
        
            
        
    
        
            
            
            
        
    
    

提交回复
热议问题