properties 细节
要加jdbc 不加的话会读取 本地的环境变量
如果是${username} 得到的自己电脑的名称
(会去加载系统的配置文件)
最后一个也会读取jar包中有 properties的文件
xml文件一般不改!!! 要改的配置文件放在 properties的文件
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder location="jdbc.properties" />
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
</beans>
有时候context 会报错(idea不提示)直接复制即可
核心容器总结
Spring注解开发定义bean
@component(组件)
@component(“bookDao”) 可以加名字
既可以通过名字、也可以通过类型获取
三种没有任何区别,都可以使用(方便自己看)
注解本身没有任何含义
通过反射可以拿到注解(来判断是什么层)
纯注解开发
测试:
此注解只能编写一次,(里面是一个数组)可以扫描多个包
bean的作用范围
非单例
依赖注入(自动装配)
引用类型
简单类型
注入的值(可以是配置文件properties
中的值)与直接给的值不一样
注解管理第三方bean
@Bean
@Import
改成如下:
扫描式不推荐