bean的属性scope 它有四个值:
singleton:单例,只会创建一个对象。
prototype:多例,会对每一个来拿类的对象分配一个对象。拿到的对象都不一样。
session:表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效,配置实例:和request配置实例的前提一样,配置好web启动文件。
request:表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效,配置实例:request、session、global session使用的时候首先要在初始化web的web.xml中做配置,如果你使用的是Servlet 2.4及以上的web容器,那么你仅需要在web应用的XML声明文件web.xml中增加下述ContextListener即可。
有几点注意事项:
-
xml文件的放置位置,通常都放在本包以外,如果放置位置有错误,运行时就会报错:BeanDefinitionStoreException ,找不到xxx.xml文件。
-
ApplicationContext aa=new ClassPathXmlApplicationContext(“fxbean01.xml”);
Bsyso wc=(Bsyso) aa.getBean(“d”);
就是这一段中wc 的类型和强制转换类型必须与xml配置文件的配置类名相同,如果写错了就会出现:
线程“main”java.lang中的异常。错误:未解决的编译问题: -
在配置文件中:
< property name=“a” ref=“a”></ property>
里面的两个a;要区分开,前面的a代表需要代理类的类类型的变量a,且a需要get() set()方法。后面的a就是被注入对象的类的唯一变量a。 -
jar包的勾选问题:
就是用的什么功能就勾选什么,勾选多了也没事。就简单的bean操作来说就只需要beans和context两个就够了,如果缺少beans,在使用Alt+/的时候就无法显示。context就是容器。