- spring
- 1、加载配置文件:BeanFactory bf = new ClassPathXmlApplicationContext("applicationContext.xml");
- User user = (User) bf.getBean("user");
- IOC控制反转,利用bean工厂创建对象
- bean标签:id代表创建的对象名,class代表类名,scope代表是单例还是多例,(prototype, singleton 默认单例) lazy-init="true" 是否懒加载, init-method="toString”,对象创建时就执行的方法,destroy-method对象销毁是执行的方法
- DI依赖注入,与set方法名有关,获得对象
- 属性设置: <property name=“属性名” value=“值”></property>
- <property name=“属性名”>
- <value>值</value>
- </property>
- value只能放四类八种和String,ref注入对象
- <property name=“属性名”>
- <list><value>w值</value>
- </list></property>
- map:<property name="map"><map><entry><key><value>键值</value> </key> <value>值</value></entry></map></property>
- 对象:<property name="userinfo" ref=“对象的bean的id”></property>
- 构造方法注入
- <bean id="tom" class="com.lanou.spring.beans.Cat" lazy-init="true">
- <constructor-arg>
- <!-- 参数 --><value>第一个参数值</value>
- </constructor-arg><constructor-arg>
- <!-- 第二个对象参数 --><ref bean="user" />
- </constructor-arg>
- </bean>
- 2、加载文件: ApplicationContext context=new ClassPathXmlApplicationContext("sptingtest.xml");
- User user=(User) context.getBean("user");
- 注解:IOC 对象,相当与bean@Component("user”)相当于id
- @Scope("prototype”)设置多里
- @Lazy(false)设置是否懒加载
- DI注入:
- 在需要设置的属性上加@Value("liguocheng")
- 引用对象类型加 @Autowired根据类型自动加载 是spring提供的,自动选择对应的类 ,或加按名称注入 java自带的@Resource(name="info")
- @PostConstruct//构造方法执行晚一会立即执行相当于init-menthod
- DI注入: