Bean的标签范围配置
singleton: 默认值,单个的,结果相同
<bean id="demo2" class="Demo1.Demo2" scope="singleton"/>
prototype:多列的,结果不一
<bean id="demo2" class="Demo1.Demo2" scope="prototype"/>
Bean的依赖注入
set方法:在impl中给一个set方法 ref是引用bean中的id value是普通属性值
集合注入主要三个标签:<list>标签 <map>标签 <properties>标签
<property name="set方法的方法名大写改小写不带set" ref="引用容器当中bean的id"></property>
构造方法:在impl中给一个有参构造和无参构造
<constructor-arg name="set方法的方法名大写改小写不带set" ref="引用容器当中bean的id"></constructor-arg >
引入其他配置文件(分模块开发)
实际开发中,Spring的配置内容非常多,这就导致Spring配置很繁杂且体积很大,所以,可以将部分配置拆解到其他配置文件中,而且Spring主配置文件通过import标签进行加载
<import resource="applicationContext-xxx.xml"/>
加载外部的properties文件
<context:property-placeholder location="classpath:jdbc.properties"/>
Spring相关API
ApplicationContext的实现类
(1.)ClassPathXmlApplicationContext:它是从类的根路径下加载配置文件推荐使用这种
(2.)FileSysteeXmlApplicationContext:它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置
(3.) AnnotationConfigApplicationContext:当使用注解配置容器对象时,需要使用此类来创建Spring容器。它用来读取注解。
Spring配置数据源
1.1数据源的开发步骤
1、导入数据源的坐标和数据库驱动坐标
2、创建数据源对象
3、设置数据源的基本连接数据
4、使用数据源获取连接资源和归还连接资源
Spring注解
使用xml方法必须使用set方法,使用注解可以不需要set方法
@Component("userDao")是代替ben标签 userDao是ben中的id名字
@Repository("userDao")效果一样可读性较高 dao层使用
@Service("userDao")效果一样可读性较高,用在service层 业务层使用
@Autowired 按照数据类型从Spring容器中进行匹配
@Qualifier("userDao")是按照id值从容器中匹配的,但是@Qualifier要结合@Autowired一起用
@Resource(name="userDao"):
userDao相当于id @Resource相当于@Qualifier+@Autowired
<property name="userDao" ref="userDao"></property>
@Value("")给值的 把.xml中的properties中的jdbc.driver的值 注入普通属性
@value("${jdbc.driver}")
private String driver;
@Scope("prototype") @Scope("singleton")
prototype:多列的,结果不一多个ben singleton: 默认值,单个的,结果相同单个ben
@Scope("prototype") @Scope("singleton")
配置组件扫描( 扫描注解 .xml):
@ComponentScan("扫描包的路径")
<context:component-scan base-package="扫描的路径包"/>
@configuration :标志该类是Spring的核心配置类
@PropertySource("classpath:jdbc.properties ")
加载外部的properties文件
<context:property-placeholder location="classpath:jdbc.properties"/>
Spring集成Junit步骤
1.导入spring集成Junit的坐标
2.使用@Runwith注解替换原来的运行期
@RunWith(SpringJUnit4ClassRunner.class)
3.使用@Context Configuration指定配置文件或配置类
@Context Configuration("classpath:applicationContext.xml")
//applicationContext.xml配置文件的位置
4.使用@Autowired注入需要测试的对象
5.创建测试方法进行测试