- 浏览: 1571822 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
sping容器中的Bean
说说Bean的别名问题,name,alias
bean的作用域
自动注入Bean
给bean注入集合属性
Bean的组合属性赋值
spring对Bea没有特殊要求,但是我们建议满足一下几个原则
<!---beans的全局属性设置--> <beans> default-lazy-init:指定该beans下的所有bean 默认延迟初始化行为 default-merge:指定beans下的所有bean默认的mege行为 default-autowire:指定beans下的所有bean的默认自动装配行为 default-autowire-candidates:指定beans下所有bean默认是否为自动装配的候选bean default-init-method:指定beans下的所有bean默认初始化的方法 default-destory-method:指定beans下的所有bean默认 回收方法 </beans> <!---去掉default 后就是bean的属性,这样就可以设置单个bean的属性--> <bean id="bean1" class="lee.test1"> <constructor-args values="hello"/> <constructor-args values="23"/> </bean> <!--上面的bean可以配置构造函数为两个string,或者 一个 string 一个 int 这种情况下可以配置 --> <constructor-args values="23" type="int"/>
说说Bean的别名问题,name,alias
<!--定义一个能够获取spring容器的bean --> <bean id="myContent" name="CH,CN" class="cn.sh.springmvc.applicationContextAware.MyContent" lazy-init="true"> </bean> <alias name="CH" alias="ZG"/> <alias name="chinese" alias="ZH"/> <!-- 别名之间还可以传承 --> <alias name="ZH" alias="HH"/>
//测试spring name alias 别名的 创建对象 @Test public void test3() { ApplicationContext act=new ClassPathXmlApplicationContext("classpath*:applicationContent.xml"); MyContent p=act.getBean("chinese",MyContent.class); System.out.println(p.getContext()); System.out.println(act==p.getContext()); p=act.getBean("ZH",MyContent.class); System.out.println(p.getContext()); System.out.println(act==p.getContext()); p=act.getBean("CH",MyContent.class); System.out.println(p.getContext()); System.out.println(act==p.getContext()); p=act.getBean("ZG",MyContent.class); System.out.println(p.getContext()); System.out.println(act==p.getContext()); p=act.getBean("CN",MyContent.class); System.out.println(p.getContext()); System.out.println(act==p.getContext()); p=act.getBean("HH",MyContent.class); System.out.println(p.getContext()); System.out.println(act==p.getContext()); }
bean的作用域
<!-- singleton:默认值 单例模式 prototype:原型 每次都会创建对象 下面只在web中采用用 request (prototype) :比如struts2中 action session global session: application --> <!--原型 --> <bean id="userService2" class="cn.sh.springmvc.service.user.UserService" scope="prototype"> <constructor-arg name="age" value="18" type="int"/> <!--基本类型值 --> <property name="name" value="wawa"/> <property name="age" value="1"/> <!--douvle值 --> <property name="salary"> <value>2165.5</value> </property> <!--注入嵌套bean 不让spring容器访问到 --> <property name="userdao"> <bean class="cn.sh.springmvc.dao.UserDAO"/> </property> <property name="userdao1" ref="userdao"/> <property name="userdao2"> <ref local="userdao"/> </property> </bean>
自动注入Bean
<!-- 此Bean不参与自动装配 --> <bean id="userdao" class="cn.sh.springmvc.dao.UserDAO" autowire-candidate="false"/> <bean id="userService3" class="cn.sh.springmvc.service.user.UserService" autowire="default"> <property name="userdao" ref="userdao"/> </bean> <!-- 默认不在用自动 注入 --> <bean id="userService4" class="cn.sh.springmvc.service.user.UserService" autowire="no"> <property name="userdao"> <ref local="userdao"/> </property> </bean> <!-- 根据 setName()--> <bean id="userService5" class="cn.sh.springmvc.service.user.UserService" autowire="byName"> </bean> <!-- 根据 setName(Type type) 如果spring 容器中有多个 Type 的bean 会出异常 --> <bean id="userService6" class="cn.sh.springmvc.service.user.UserService" autowire="byType"> </bean> <!-- 根据 类中的构造函数进行装配 --> <bean id="userService8" class="cn.sh.springmvc.service.user.UserService" autowire="constructor"> </bean> <!--用于spring2.5 ,spring3.0 交给spring自动帮我我们抉择 是采用 constructor 或者 byType <bean id="userService9" class="cn.sh.springmvc.service.user.UserService" autowire="autodetect"> </bean> -->
给bean注入集合属性
<bean id="chinese" class="cn.sh.springmvc.model.Chinese"> <property name="schools"> <list> <value>小学</value> <value>中学</value> <value>大学</value> </list> </property> <property name="scores"> <map> <entry key="数学"><value>87</value></entry> <entry key="英语" value="89"/> <entry key="语文" value="82"/> </map> </property> <property name="phaseAxes"> <map> <entry key="原始社会" value-ref="stoneAxe"/> <entry key="农业社会" value-ref="steelAxe"/> </map> </property> <!-- properties 设置 --> <!-- <property name="health"> <props> <prop key="血压">正常</prop> <prop key="身高">175</prop> </props> </property> --> <!-- properties 的另一种 设值方法 key value 只能是 英文和 数组--> <property name="health"> <value> pressure=normal height=175 </value> </property> <property name="axes"> <set> <value>普通的字符串</value> <bean class="cn.sh.springmvc.model.SteelAxe"/> <ref local="stoneAxe"/> </set> </property> <property name="books"> <list> <value>Struts2 权威指南</value> <value>轻量级JavaEE企业级应用</value> <value>疯狂java讲义</value> </list> </property> <property name="favourity"> <array> <value>Struts2 权威指南</value> <value>轻量级JavaEE企业级应用</value> <value>疯狂java讲义</value> </array> </property> </bean>
Bean的组合属性赋值
<!--组合属性赋值 --> <bean id="userChild1" parent="userParent"> <!--组合属性赋值的时候,只有最后一个属性可以为null,其他属性都不能为null aa.bb.cc.dd : aa bb cc 都不能为null dd可以为null --> <property name="chinese.books"> <array> <value>javaEE</value> <value>JS</value> <value>Oracle</value> </array> </property> </bean>
spring对Bea没有特殊要求,但是我们建议满足一下几个原则
1.尽量为每个Bean提供无参数构造函数 2.接受构造注入的Bean,应该提供构造函数 3.接受设值注入的bean,要提供setting方法,但并不要提供getter方法 4.Bean的id命名首字母尽量小写
发表评论
-
spring-session 中的坑
2017-07-06 15:34 9939spring-session 配置 依赖 gradle ... -
Spring AspectJ Aop Annotation
2017-03-29 17:08 661import org.aspectj.lang.Proce ... -
spring 第13天 使用@scheduled注解执行定时任务
2015-01-06 23:11 54013我们使用spring的注解 @Scheduled 执行定时任务 ... -
Spring 第12天,事务传播属性和 隔离级别
2014-09-28 00:36 7711 事务的传播属性(Propagation) 1) REQ ... -
spring 第11天 quartz任务调度
2014-08-24 13:59 1098Quartz是一个强大的企业级任务调度框架,Spring中继承 ... -
spring 第10 天 AOP 面向切面
2014-08-21 00:08 1716AOP(Aspect Orient Programming ... -
spring 第9天 Resurce 资源访问
2014-08-17 22:20 1823Spring Resource接口 spring提供的Reso ... -
spring 第8天 Spring 注解
2014-08-17 15:33 1430spring注解 @Component:标注一个普通的sp ... -
spring 第7天 Bean,BeanFactory处理器,配置器
2014-08-16 21:46 1182spring 两种后处理器 第一种,Bean 后处理器 对容器 ... -
spring 第6天SpEL,P命名空间,Util Schema
2014-08-13 22:52 1261使用p名称空间配置属性 ... -
spring 第5天不同作用域的bean,注入Field,方法返回值
2014-08-11 22:31 2060协调作用域不同步的bean 问题是;当一个singleton的 ... -
spring 第4天bean继承,init,destory-method
2014-08-10 17:54 1598深入理解Spring容器中的b ... -
spring 第3天使用java类和XML配置bean
2014-08-09 16:51 1458下面采用java类来配置bean,前面都采用xml进行配置be ... -
spring 第1天 IOC,DI,国际化,容器事件
2014-08-04 21:27 13551.构造注入(就是使用 构 ... -
SpringMVC 注解 和非注解
2014-01-26 10:29 17973首先看看非注解的项目结构 在web.xml文件 配置spr ... -
详解spring 每个jar的作用
2013-11-19 23:54 3867spring.jar 是包含有完整 ... -
Spring配置Hibernate事务
2013-11-10 13:45 1174为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事 ... -
Spring 中引用Properties文件
2013-08-29 14:39 10607其中部分配置信息(邮件发送相关): #邮件发送的相关配置 ... -
Spring IOC控制反转 依赖注入DI
2012-12-15 09:37 2292目录 1.使用IOC控制反转 中的DI依赖注入 手工注入 ... -
Spring IOC控制反转 依赖注入DI
2012-12-14 16:23 8目录 1.使用IOC控制反转 中的DI依赖注入 (两种配置方式 ...
相关推荐
2.6 设置Bean作用域 69 2.6.1 问题 69 2.6.2 解决方案 69 2.6.3 工作原理 70 2.7 自定义Bean初始化和析构 72 2.7.1 问题 72 2.7.2 解决方案 72 2.7.3 工作原理 72 2.8 用Java Config简化XML配置 ...
2.6 设置Bean作用域 69 2.6.1 问题 69 2.6.2 解决方案 69 2.6.3 工作原理 70 2.7 自定义Bean初始化和析构 72 2.7.1 问题 72 2.7.2 解决方案 72 2.7.3 工作原理 72 2.8 用Java Config简化XML配置 ...
2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步...
4.8.3 Web应用环境相关的Bean作用域 4.8.4 作用域依赖问题 4.9 FactoryBean 4.10 基于注解的配置 4.10.1 使用注解定义Bean 4.10.2 使用注解配置信息启动Spring容器 4.10.3 自动装配Bean 4.10.4 Bean作用范围及生命...
4.8.3 Web应用环境相关的Bean作用域 4.8.4 作用域依赖问题 4.9 FactoryBean 4.10 基于注解的配置 4.10.1 使用注解定义Bean 4.10.2 使用注解配置信息启动Spring容器 4.10.3 自动装配Bean 4.10.4 Bean作用范围及生命...
6.2.4 bean的作用域与生命周期 374 6.2.5 基于xml方式的bean装配 376 6.2.6 基于annotation方式的bean装配 381 6.2.7 基于xml方式的aop实现 386 6.2.8 基于annotation方式的aop实现 391 6.3 spring 2.5事务管理...
96.spring 支持几种 bean 的作用域? 97.spring 自动装配 bean 有哪些方式? 98.spring 事务实现方式有哪些? 99.说一下 spring 的事务隔离? 100.说一下 spring mvc 运行流程? 101.spring mvc 有哪些组件? 102.@...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
第二部分详细讲解了jsf ri、jta、jndi、rmi、jms、javamail、ejb 3的session bean、message driven bean、jpa、jax-ws 2、jaas等java ee知识,这部分知识以jsf+ejb 3+jpa整合开发为重点,通过使用netbeans ide工具...
有第二分支,多分支,循环结构。循环本质上也是通过判断来实现的。 多形与继承? 答:多形:一个类中多个同名方法。继承:子类继承父类。 jsp内置对象? 答:request 用户端请求 response 回应 pageContext 网页...
17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承...
17、请说出作用域public,private,protected,以及不写时的区别 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 19、构造器Constructor是否可被override? 20、接口是否可继承接口? ...
17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承...
17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承...
17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可...
17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承...
17、请说出作用域public,private,protected,以及不写时的区别 13 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承...
17、请说出作用域public,private,protected,以及不写时的区别 14 18、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 15 19、构造器Constructor是否可被override? 16 20、接口是否可继承...