邹城哪个公司做网站好网站营销
IOC/DI实现步骤
1.配置元数据
2.实例化IOC
3.获取Bean
基于XML配置方式
管理组件
1.基于构造函数:有参、无参
2.基于静态工厂方法:有参、无参
依赖注入
1.构造函数
2.setter方法
Bean组件高级特性
1.作用域
2.生命周期
FactoryBean
基于注解
IOC
Bean作用域与生命周期注解
DI自动组装(引用类型)
@Resource @Resource
基本类型DI @Value注解
基于配置类方式
XML与配置类:
@Bean注解细节
Bean之间依赖
//注解类
@Configuration
@ComponentScan(basePackages = "com.atguigu")
@PropertySource("classpath:jdbc.properties")
public class JavaConfig {@Value("${atguigu.url}")private String url;@Value("${atguigu.driver}")private String driver;@Value("${atguigu.username}")private String username;@Value("${atguigu.password}")private String password;@Bean(destroyMethod = "close")public DruidDataSource dataSource(){DruidDataSource dataSource = new DruidDataSource();dataSource.setUrl(url);dataSource.setDriverClassName(driver);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;}@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)@Beanpublic JdbcTemplate jdbcTemplate(DataSource dataSource){JdbcTemplate jdbcTemplate = new JdbcTemplate();jdbcTemplate.setDataSource(dataSource);return jdbcTemplate;}}
//XML <context:property-placeholder location="classpath:jdbc.properties" /><!-- 配置数据源 --><bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="url" value="${atguigu.url}"/><property name="driverClassName" value="${atguigu.driver}"/><property name="username" value="${atguigu.username}"/><property name="password" value="${atguigu.password}"/></bean><bean class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="druidDataSource" /></bean><!-- 扫描Ioc/DI注解 --><context:component-scan base-package="com.atguigu.dao,com.atguigu.service,com.atguigu.controller" /></beans>
三种配置方式总结