依赖注入回顾
连接池应用
1. dbcp使用
引入dbcp和驱动jar包。然后在Spring中添加下面配置:
<bean id="dbcpDS" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="username" value="#{db.username}"></property>
<property name="password" value="#{db.password}"></property>
<property name="driverClassName" value="#{db.driver}"></property>
<property name="url" value="#{db.url}"></property>
<property name="maxActive" value="5"></property>
<property name="initialSize" value="2"></property>
</bean>
1. c3p0使用
引入dbcp和驱动jar包。然后在Spring中添加下面配置:
<bean id="c3p0DS" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="user" value="#{db.username}"></property>
<property name="password" value="#{db.password}"></property>
<property name="driverClass" value="#{db.driver}"></property>
<property name="jdbcUrl" value="#{db.url}"></property>
<property name="maxPoolSize" value="5"></property>
<property name="initialPoolSize" value="2"></property>
</bean>
IOC注解配置
一般大部分框架都提供XML配置和注解配置。
1. 什么是注解 注解技术源于JDK5.0, 除了注解之外还有新式for循环、自动装箱和拆箱、泛型、可变参数列表等
注解格式: @注解名
注解定义格式:自定义了一个@MyDao标记
public @interface MyDao{
}
注解作用:主要在框架中,利用注解标记简化XML配置。一般情况下注解配置和XML配置等价,但是注解配置需要将标记写入到源码中,追加到类定义
前或方法定义前。
1. IOC注解如下
@Component、@Repository、@Service、@Controller、@Autowired(Spring框架提供)
@Resource (JDK提供)
@Inject、@Named(第三方标准jar包中提供)
2. 创建组件对象相关标记 XML : < bean>定义
注解: @Component、@Repository、@Service、@Controller、@Named
规则:利用注解创建的组件对象,默认id名为类名首字母小写。如果需要自定义可以使用@Service("id名")格式
使用建议: 控制层@Controller、业务层@Service、数据访问层@Repository、通用层@Component
@Scope :等价于
@PostConstruct :等价于<bean init-method="">
@PreDestroy :等价于<bean destory-method="">
3. 注入相关标记
@Autowired、@Resource、@Inject
@Autowired:可以支持set注入和构造器注入,用在set或构造器方法前,成员变量定义前;默认按类型匹配注入,如果强制id名称注入需要跟
@Qualifier("id")结合应用
@Resource:只支持set注入,可用在set方法前或成员变量定义前;默认按类型匹配注入,如果强制id名称注入采用@Resource(name="id")
@Value(表达式)//将表达式指定的值给某个属性注入
1. 启动上述标记方法 在Spring XML配置文件中追加<context:component-scan/>
组件扫描:按指定的base-package路径扫描下面的所有组件,如果发现约定的注解标记,执行相应处理。
IOC注解配置综合案例DeptDao
参考springioc-project3.zip
网友评论