Spring 梳理 - javaConfig在App和webApp中的应用

  1. package com.dxz.demo.configuration;
    
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class TestConfiguration {
        public TestConfiguration() {
            System.out.println("TestConfiguration容器启动初始化。。。");
        }
    }

     

  2. APP
    1. 方法1
      1. package com.dxz.demo.configuration;
        
        import org.springframework.context.ApplicationContext;
        import org.springframework.context.annotation.AnnotationConfigApplicationContext;
        
        public class TestMain {
            public static void main(String[] args) {
        
                // @Configuration注解的spring容器加载方式,用AnnotationConfigApplicationContext替换ClassPathXmlApplicationContext
                ApplicationContext context = new AnnotationConfigApplicationContext(TestConfiguration.class);
        
                // 如果加载spring-context.xml文件:
                // ApplicationContext context = new
                // ClassPathXmlApplicationContext("spring-context.xml");
            }
        }
        
        public static void main(String[] args) {
        
                // @Configuration注解的spring容器加载方式,用AnnotationConfigApplicationContext替换ClassPathXmlApplicationContext
                ApplicationContext context = new AnnotationConfigApplicationContext(TestConfiguration.class);
        
                //获取bean
                TestBean tb = (TestBean) context.getBean("testBean");
                tb.sayHello();
            }

         

    2. 方法2
      1. public static void main(String[] args) {
          ApplicationContext ctx = new AnnotationConfigApplicationContext();
          ctx.register(AppContext.class)
        }

         

  3. webApp
    1. 方法1
      1. <web-app>
            <context-param>
                <param-name>contextClass</param-name>
                <param-value>
                    org.springframework.web.context.
                    support.AnnotationConfigWebApplicationContext
                </param-value>
            </context-param>
            <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>
                    demo.AppContext
                </param-value>
            </context-param>
            <listener>
                <listener-class>
                    org.springframework.web.context.ContextLoaderListener
                </listener-class>
            </listener>
            <servlet>
            <servlet-name>sampleServlet</servlet-name>
            <servlet-class>
                org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
            <init-param>
                <param-name>contextClass</param-name>
                <param-value>
                    org.springframework.web.context.
                    support.AnnotationConfigWebApplicationContext
                </param-value>
            </init-param>
            </servlet>
        </web-app>

         

    2. 方法2
      1. package com.jt;
        
        import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
        
        public class AppInitializer   extends AbstractAnnotationConfigDispatcherServletInitializer{
              @Override
              protected Class<?>[] getRootConfigClasses() {
                return new Class<?>[] { RootConfig.class };
              }
        
              @Override
              protected Class<?>[] getServletConfigClasses() {
                return new Class<?>[] { WebConfig.class };
              }
        
              @Override
              protected String[] getServletMappings() {
                return new String[] { "/" };
              }
        
            }

         

posted on 2019-01-01 09:46  手握太阳  阅读(247)  评论(0编辑  收藏  举报

导航