1 Spring容器加载配置文件进行初始化。
-
Spring容器加载配置文件进行初始化主要有两种形式:
- 加载配置文件进行初始化:
- ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(“ApplicationContext.xml”);
- 加载配置类进行初始化:
- AnnotationconfigApplicationContext ctx = new AnnotationconfigApplicationContext(SpringConfig.class);
- 加载配置文件进行初始化:
-
配置文件以及配置类主要作用:指定需要加载的Bean。
- 通过配置文件
<!--配置文件--> <context:component-scan base-package="com.sinian.dao,com.sinian.sevice"></context:component-scan>
- 通过配置类
/*配置类*/ @Configuration @ComponentScan("com.sinian.dao","com.sinian.sevice") public class SpringConfig{}
- 通过配置文件
-
Bean定义方式主要有3种形式:
-
在xml配置文件中定义Bean:
< bean id = "BookDao" class = "com.sinian.dao.impl.BookDaoImpl" >
-
在配置类中定义Bean:
@Configuration @ComponentScan("com.sinian.dao","com.sinian.sevice") public class SpringConfig{ @Bean public BookDao bookDao(){ BookDao bookDao = new com.sinian.dao.impl.BookDaoImpl(); return bookDao; }
-
在其他包类中通过注解定义Bean,需要在配置文件和配置类中扫描该包 :
@Component @Controller @Service @Repository
-
2 Spring管理第三方Bean。
- 在Spring容器初始化配置类或初始化配置文件中定义Bean。
- 配置文件
<bean id="financeThriftService" class="com.meituan.service.mobile.mtthrift.proxy.ThriftClientProxy" destroy-method="destroy"> <property name="serviceInterface" value="com.sankuai.sjstscm.plus.base.service.finance.FinanceThriftService"/> <!-- 接口名 --> <property name="appKey" value="com.sankuai.sjstscm.plus.maindataapp"/> <!-- 本地appkey --> <property name="remoteAppkey" value="com.sankuai.sjstscm.plus.base"/> <!-- 目标Server Appkey --> <property name="filterByServiceName" value = "true" /> <property name="timeout" value="5000"/> <!--超时时间--> </bean>
- 配置类
@Configuration public class Config{ @Bean public DataSource datasource(){ DataSouce dataSouce = new DruidDataSource(); datasouce.setDriverClassName("com.mysql.jdbc.Driver"); ...... return dataSource; } }
- 配置文件
3 Spring加载Properties文件。
- 在Spring容器初始化加载配置文件中引入Properties文件。
- 在Spring容器初始化加载配置类中引入Properties文件。
- 在java文件中使用Spring加载的配置文件。
@Value("${jdbc_url}") private String jdbcUrl;
4 Spring已加载Bean基本使用。
- @Autowired
5 Spring已加载配置文件基本使用。
- @Value(“${jdbc.url}”)