当时想的很好,想每天学点东西记录下来,可是写了2次就坚持不下去了。但是我觉得还是得写,这样才能进步。
现在还在实习,重新看了一下spring,有了些收获,这里把他记录下来.
首先最重要的,spring也是会去创建对象的,而java创建对象有这么几种方式:new,反射,io流,spring是属于反射创建对象的.具体流程如下图.
首先有一个User类,id,name属性,set/get.然后配置文件配置
<bean id="user" class="com.li.bean.User">
<property name="id" value="123"></property>
<property name="name" value="li"></property>
</bean>
测试:
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
User user = context.getBean(User.class);
System.out.println(user.getId());
user.setId(2);
User user1 = context.getBean(User.class);
System.out.println(user1.getId());
输出输出123,2.这就说明默认创建的bean是单例的。现在我们更改scope属性.
<bean id="user" class="com.li.bean.User" scope="prototype">
<property name="id" value="123"></property>
<property name="name" value="li"></property>
</bean>
输出123,123.
每一次请求(将其注入到另一个bean中,或者以程序的方式调用容器的 getBean()方法)都会产生一个新的bean实例,相当与一个new的操作
明天计划学习spring配置数据库连接池,以及使用properties文件读取数据库配置。