spring-1-简单配置案例

xiaoxiao2021-02-28  133

springioc:就是将一个类的对象交给spring容器去创建,初始化调用对象。调用 的方式分为:构造函数注入,方法注入,接口注入

xml简单配置:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd "> <description>我搭的框架的第一个项目 </description> <!-- init-method对应的注解是:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 --> <!-- scope="prototype":表明创建bean的时候,是多例的默认是单例的 sope="singleton" //注意这句话,如果是singleton或者没有该句(默认情况)时,才会执行destroy-method指定的方法, 如果是当前的prototype不会触发destroymethod的执行 init-method:在获取对象的时候执行eg:User user1 = (User)beanFactory.getBean("user"); //关闭应用上下文销毁对象的时候执行xml中destroy-method对应的方法 --> <bean id="user" class="com.entity.User" init-method="show1" destroy-method="show2" scope="singleton"> <property name="name" value="曹雪坤"></property> <property name="sex" value="男"></property> </bean> </beans>

获取xml中的bean信息的方式:

/** * @author caoxuekun * @version V1.0 * @Date 2017年7月9日 上午1:27:07 * @Description:获取xml文件中的信息 每一个对象都有一个单独的hashcode */ public class UserTest { public static void main(String[] args) { //获取资源文件的方法 //1. //获取spring的资源文件 Resource resource1 = new ClassPathResource("user.xml"); //下面的代码执行后,我们的对象已经在spring容器中已经创建好了 BeanFactory beanFactory = new XmlBeanFactory(resource1); System.out.println("----获取对象的时候执行show1方法-----"); User user1 = (User)beanFactory.getBean("user"); System.out.println(user1.hashCode()+": "+user1.getName()+"-1"); //2. Resource resource2 = new FileSystemResource("E:\\code\\eclipseCode\\springNote1\\config\\user.xml"); BeanFactory beanFactory2 = new XmlBeanFactory(resource2); User user2 = (User)beanFactory.getBean("user"); System.out.println(user2.hashCode()+": "+user2.getName()+"-2"); //3. ApplicationContext context = new ClassPathXmlApplicationContext("user.xml"); User user3 = (User)beanFactory.getBean("user"); System.out.println(user3.hashCode()+": "+user3.getName()+"-3"); ((ClassPathXmlApplicationContext) context).close();//关闭应用上下文销毁对象的时候执行xml中destroy-method对应的方法 //4. ApplicationContext applicationContext = new ClassPathXmlApplicationContext("user.xml"); User user4 = (User)beanFactory.getBean("user"); System.out.println(user4.hashCode()+": "+user4.getName()+"-4"); // ((ClassPathXmlApplicationContext) applicationContext).close();//应用上下文的关闭 //5. ApplicationContext contexts = new FileSystemXmlApplicationContext("E:\\code\\eclipseCode\\springNote1\\config\\user.xml"); User user5 = (User) contexts.getBean("user"); System.out.println(user5.hashCode()+": "+user5.getName()+"-5"); } }

转载请注明原文地址: https://www.6miu.com/read-50544.html

最新回复(0)