2021-09-14 spring框架篇IOC之二

Spring中的IOC(二)

1.引入外部的properties文件

pom.xml文件配置:

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.18</version>
        </dependency>

properties配置:

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名字
name=root
password=自己的密码

bean中导入

<context:property-placeholder location="classpath:druid.properties">
</context:property-placeholder>
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${driverClassName}"></property>
        <property name="password" value="${password}"></property>
        <property name="url" value="${url}"></property>
        <property name="username" value="${name}"></property>
    </bean>

2.IOC的注解

什么是注解:
(1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值)
(2)使用注解:注解作用在类上面,方法上面,属性上面
(3)使用注解的目的:简化xml配置
在classpath中扫面组件:组件扫描(component scanning);Spring能够从classpath下自动扫描、侦测和实例化具有特定注解的组件
@Componet:基本注解,标识了一个受Spring管理的组件
@Respository:标识持久层组件
@Service:标识服务层(业务层)组件
@Controller:标识表现组件
注解的默认获得的name中,使用非限定类名,第一个字母小写,也可以在注解中通过value属性值标识组件的名称
使用前,需要声明基准包:

<context:component-scan base-package="com.openlab">
</context:component-scan>

注解就可以省略bean文件的很多重复代码,及施行了解耦。
对于基准包下的注释,可以设置忽略某些注解:

<context:component-scan base-package="包名">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:component-scan>

3.属性注入

属性的注入;

@Autowired(类型注入):类中属性包含接口时,且该接口只有一个实现类,则可以使用。如果该接口被多个类实现,则会出现异常。
@Qualifier(名字name):如果一个接口有多个实现类,此时无法确定要注入那个实例,就要和@Autowired一起使用,来确定某一个使用哪一个实例进行注入
@Resource:直接根据类型注入,同@Autowired
javax包下的,更推荐使用@Autowired+@Qualifier(名字name)

4.配置类

首先需要创建一个类,在该类中,我们需要
(1)标识此类是一个配置@Configuration
(2)告诉需要扫描的信息:@ComponentScan({需要扫描的包});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值