<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 簡介 從Spring3.0,@Configuration用于定義配置類,可替換xml配置文件, 被注解的類內部包含有一個或多個被@Bean注解的方法,這些方法將會被`AnnotationConfigApplicationContext`或`AnnotationConfigWebApplicationContext`類進行掃描,并用于構建bean定義,初始化Spring容器 . ~~~ 該類是一個配置類,它作用和bean.xml一樣 spring中的新注解 Configuration 作用: 指定當前類是一個配置類 ComponentScan: 作用: 用于通過注解指定spring在創建容器時要掃描的包 屬性: value: 他和basePackages作用是一樣的,都是用于指定創建容器時要掃描的包,使用這個注解就等于在xml中配置了. <context:component-scan base-package="com.jdxia.domain"/> Bean 作用: 把當前方法的返回值作為bean對象存入spring的ioc容器中 屬性: name用于指定bean的id.當不寫的時候,默認值是當前方法的名稱 ~~~ **注意**: 1. @Configuration不可以是final類型; 2. @Configuration不可以是匿名類; 3. 嵌套的configuration必須是靜態類。 # 基本用途 配置文件 ~~~ @Configuration @ComponentScan("com.jdxia.domain") public class SpringConfiguration { @Bean("u") @Scope("prototype") public User createUser() { return new User(); } } ~~~ 執行 ~~~ AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); //加載配置類 ctx.register(SpringConfiguration.class); //刷新并創建容器 ctx.refresh(); User user = (User) ctx.getBean("u"); user.setId(1); user.setAddress("addr"); System.out.println(user); ~~~ # 配置相關 ## 加載配置類方法 * 硬編碼,例如`ctx.register(AppConfig.class);` * 使用xml配置 ~~~ <beans> //這個注解用于啟用ConfigurationClassPostProcessor等后置處理器,以加載以下類到容器。 <context:annotation-config/> <bean class="com.acme.AppConfig"/> </beans> ~~~ ~~~ XmlWebApplicationContext xmlWebApplicationContext = new XmlWebApplicationContext();?xmlWebApplicationContext.setConfigLocation("abc.xml"); ~~~ 組件掃描。@Configuration本身是**繼承自@Component**,因此也可以和正常被@Component一樣被掃描到,或使用autowired。 ## 組合多個配置類 可以使用@Import組合多個配置類,例如: ~~~ @Configuration public class DatabaseConfig { @Bean public DataSource dataSource() { // instantiate, configure and return DataSource } } ~~~ ~~~ @Configuration @Import(DatabaseConfig.class) public class AppConfig { private final DatabaseConfig dataConfig; public AppConfig(DatabaseConfig dataConfig) { this.dataConfig = dataConfig; } @Bean public MyBean myBean() { // reference the dataSource() bean method return new MyBean(dataConfig.dataSource()); } } //最后只需要導入一個即可 new AnnotationConfigApplicationContext(AppConfig.class); ~~~ ## `@Configuration`導入xml配置 ~~~ @Configuration @ImportResource("classpath:/com/acme/database-config.xml") public class AppConfig { @Inject DataSource dataSource; // from XML @Bean public MyBean myBean() { // inject the XML-defined dataSource bean return new MyBean(this.dataSource); } } ~~~ ## 內部類注解 ~~~ @Configuration public class AppConfig { @Inject DataSource dataSource; @Bean public MyBean myBean() { return new MyBean(dataSource); } @Configuration static class DatabaseConfig { @Bean DataSource dataSource() { return new EmbeddedDatabaseBuilder().build(); } } } ~~~ # PropertySource 加載各種配置信息。 其中ComposePropertySource提供了組合PropertySource的功能,查找順序就是注冊順序。 默認提供了一個MutablePropertySources實現,我們可以調用addFirst添加到列表的開頭,addLast添加到末尾,另外可以通過addBefore(propertySourceName, propertySource)或addAfter(propertySourceName, propertySource)添加到某個propertySource前面/后面; 最后大家可以通過iterator迭代它,然后按照順序獲取屬性。 ~~~ Map<String, Object> map = new HashMap<>(); map.put("encoding", "gbk"); PropertySource propertySource1 = new MapPropertySource("map", map); System.out.println(propertySource1.getProperty("encoding")); ResourcePropertySource propertySource2 = new ResourcePropertySource("resource", "classpath:resources.properties"); //name, location System.out.println(propertySource2.getProperty("encoding")); ~~~ 注解 ~~~ @Configuration @ComponentScan("com.jdxia.domain") @PropertySource("classpath:jdbcConfig.properties") public class SpringConfiguration { ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看