zoukankan      html  css  js  c++  java
  • Spring boot 梳理

    1. 直接注入(Autowired)
      1. @Configuration
        public class OAConfig {
            @Autowired
            private ApplicationContext applicationContext;
            
            @Bean
            public PersonUtils personUtil(){
                boolean bool=applicationContext.containsBean("aa");
                System.out.println("containsBean:aa:"+bool);
                return new PersonUtils();
            }
        }
        
        
        
        @Component
        public class User {
        
            @Autowired
            private ApplicationContext applicationContext;
        }
    2. 构造器方法注入
      1. @Component
        public class User{
            private ApplicationContext applicationContext;
        
            public User(ApplicationContext applicationContext) {
                this.applicationContext = applicationContext;
            }
        }
    3. 手动构建类实现接口
      1. /**
         * Spring的ApplicationContext的持有者,可以用静态方法的方式获取spring容器中的bean
         *
         * @author yj
         * @date 2018年5月27日 下午6:32:11
         */
        @Component
        public class SpringContextHolder implements ApplicationContextAware {
        
            private static ApplicationContext applicationContext;
        
            @Override
            public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
                SpringContextHolder.applicationContext = applicationContext;
            }
        
            public static ApplicationContext getApplicationContext() {
                assertApplicationContext();
                return applicationContext;
            }
        
            @SuppressWarnings("unchecked")
            public static <T> T getBean(String beanName) {
                assertApplicationContext();
                return (T) applicationContext.getBean(beanName);
            }
        
            public static <T> T getBean(Class<T> requiredType) {
                assertApplicationContext();
                return applicationContext.getBean(requiredType);
            }
        
            private static void assertApplicationContext() {
                if (SpringContextHolder.applicationContext == null) {
                    throw new RuntimeException("applicaitonContext属性为null,请检查是否注入了SpringContextHolder!");
                }
            }
        
        }
  • 相关阅读:
    MianShiTi
    C#多线程解决界面卡死问题的完美解决方案
    C#中的WebBrowser控件的使用
    解决Linq第一次调用存储过程时速度慢的问题
    AX 的 NumberSequences
    Ax 从一个form关闭另外一个form,AX全局变量
    查询数据库后台Block 的Sql存储过程
    Dynamic AX 4.0 用户组权限SecurityKey
    20160408 从软件工程的3大文档开始说起
    获取AX的窗口所有控件的lableID及内容
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/10187752.html
Copyright © 2011-2022 走看看