´«ÖDz¥¿Íjavaѧϰ Spring³õ²½
ÎÒ½ñÌìѧϰÁËÐìÀÏʦ½²µÄSpring֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
·´Ïò¿ØÖÆ(IOC)
£º
bean¹¤³§:×î¼òµ¥µÄÈÝÆ÷£¬ÌṩÁË»ù´¡µÄÒÀÀµ×¢ÈëÖ§³Ö¡£´´½¨¸÷ÖÖÀàÐ͵ÄBean.
Ó¦ÓÃÉÏÏÂÎÄ:½¨Á¢ÔÚbean¹¤³§»ù´¡Ö®ÉÏ£¬Ìṩϵͳ¼Ü¹¹·þÎñ¡£
ClassPathXmlApplicationContext:´ÓÀà·¾¶ÖмÓÔØ¡£
FileSystemXmlApplicationContext:´ÓÎļþϵͳ¼ÓÔØ¡£
XmlWebApplicationContext:´ÓwebϵͳÖмÓÔØ¡£
Ó¦ÓÃÉÏÏÂÎÄÓëbean
¹¤³§µÄÇø±ð£º
bean¹¤³§ÑÓ³Ù¼ÓÔØËùÓÐbean£¬Ö±µ½getBean()·½·¨±»µ÷Óá£
Ó¦ÓÃÉÏÏÂÎÄ»áÔÚÆô¶¯ºóÔ¤ÔØÈëËùÓе¥Àýbean.ÕâÑù¿ÉÈ·±£Ó¦Óò»ÐèÒªµÈ´ýËûÃDZ»´´½¨¡£
bean
µÄÉúÃüÖÜÆÚ
bean±»ÔØÈëµ½ÈÝÆ÷ÖÐʱ£¬ËûµÄÉúÃüÖÜÆÚ¾Í¿ªÊ¼ÁË¡£bean¹¤³§ÔÚÒ»¸öbean¿ÉÒÔʹÓÃǰÍê³ÉºÜ¶à¹¤×÷£º
1.ÈÝÆ÷ѰÕÒbeanµÄ¶¨ÒåÐÅÏ¢²¢ÊµÀý»¯¡£
2.ʹÓÃÒÀÀµ×¢È룬spring°´bean¶¨ÒåÐÅÏ¢ÅäÖÃbeanµÄËùÓÐÊôÐÔ¡£
3.ÈôbeanʵÏÖÁËBeanNameAware½Ó¿Ú£¬¹¤³§µ÷ÓÃBeanµÄsetBeanName
£¨£©·½·¨´«µÝbeanµÄID¡£
4.ÈôbeanʵÏÖÁËBeanFactoryAware½Ó¿Ú£¬¹¤³§µ÷ÓÃsetBeanFactory£¨£©
·½·¨´«È빤³§×ÔÉí¡£
5.ÈôBeanPostProcessorºÍbean¹ØÁª£¬ÔòËüÃǵÄ
postProcessBeforeInitialization()·½·¨±»µ÷Óá£
6.ÈôbeanÖ¸¶¨ÁËini-method·½·¨¡¢£¬Ëü½«±»µ÷Óá£
7.×îºó£¬ÈôÓÐBeanPostProcessorºÍbean¹ØÁª£¬ÔòËüÃǵÄ
postProcessAfterInitialization()·½·¨±»µ÷Óᢡ£
½«bean´Ó¹¤³§ÖÐɾµôÓÐÁ½ÖÖ·½·¨£º
1.ÈôbeanʵÏÖÁËDisposableBean½Ó¿Ú£¬
distroy()·½·¨±»µ÷Óá£
2.Èç¹ûÖ¸¶¨Á˶¨ÖƵÄÏú»Ù·½·¨£¬¾Íµ÷ÓÃÕâ¸ö·½·¨¡£
beanÔÚÓ¦ÓÃÉÏÏÂÎÄÖеÄÉúÃüÖÜÆÚºÍÔÚbean¹¤³§
µÄÉúÃüÖÜÆÚΨһ²»Í¬µÄÊÇ£ºÈôbeanʵÏÖÁË
ApplicationContextAware()½Ó¿Ú£¬
setApplicationContext()·½·¨»á±»µ÷Óá£
¶Ôbean
¹¤³§½øÐкó´¦Àí£º
BeanPostProcessorÔÚbeanÔØÈëºó£¬¶Ôbean½øÐÐһЩºó´¦Àí¹¤×÷¡£¶øBeanFactoryPostProcessorÔÚbean¹¤³§ÔØÈëËùÓÐbeanµÄ¶¨Òåºó£¬ÊµÀý»¯bean֮ǰ£¬¶ÔBean¹¤³§×öһЩºó´¦Àí¹¤×÷¡£
¡¡ public
interface BeanFactoryPostProcessor{
public void postProcessorBeanFactory(…);
}
Èç¹ûʹÓõÄÊÇÓ¦ÓÃÉÏÏÂÎIJ»ÐèÒ
Ïà¹ØÎĵµ£º
package homework03;
import java.util.Scanner;
/*
* ±àдһ¸öÀ࣬¸ÃÀàÓÐÒ»¸ö·½·¨
* public int f£¨int a£¬int b£©{
*
* }
* È»ºó±àдһ¸ö¸ÃÀàµÄ×ÓÀ࣬ҪÇóÖØÐ´·½·¨f()£¬¶øÇÒÖØÐ´µÄ·½·¨½«·µ»ØÁ½¸öÕûÊýµÄ×îС¹«±¶Êý¡£ÒªÇó£º
* ÔÚÖØÐ´µÄ·½·¨µÄ·½·¨ÌåÖÐÊ×Ïȵ÷Óñ»Òþ²ØµÄ·½·¨·µ»ØaºÍbµÄ×î´ó¹«Ô¼Êým,È»ºó½«a*b/m ......
2. ²»Òª×öÖØ¸´µÄ¹¤×÷¡£
ʹÓó£¼ûµÄ¡¢¾¹ý֤ʵµÄ¿ò¼Ü£¬Èç Apache Struts¡¢JavaServer Faces ºÍ Eclipse RCP¡£Ê¹Óþ¹ý֤ʵµÄģʽ¡£
»Øµ½ÎÒÃÇ¿ªÊ¼°ïÖú¿Í»§Ê¹ÓøճöÏÖµÄ Java EE ±ê×¼µÄʱºò£¬ÎÒÃÇ·¢ÏÖ£¨ºÍÐí¶àÆäËûÈËÒ»Ñù£©£¬Í¨¹ýÖ±½ÓʹÓûù´¡µÄ Servlet ºÍ JSP ¹æ·¶¹¹½¨ UI Ó¦ÓóÌÐòÀ´¿ª·¢Óû§½Ó¿Ú¿ª·¢¿ò¼Ü£¬¿ÉÒÔ¼«´óµØÌḠ......
<!--
/* Font Definitions */
@font-face
{font-family:ËÎÌå;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@ËÎÌå" ......
Java °´×Ö½Ú½ØÈ¡´øÓкº×ÖµÄ×Ö·û´®µÄ½â·¨£¬ÍøÉÏÓв»ÉÙÌÖÂÛ¡£ÕâÀïÎÒÒ²¸ø³öÒ»ÖÖÎÒ×Ô¼ºµÄ´¦Àí£¬»ù±¾ÔÀí»¹ÊÇͳ¼ÆÒª½ØÈ¡µÄ×Ö½ÚÊýÖÐÊDZíʾºº×ÖµÄ×Ö½ÚÊýÊÇ·ñÊÇżÊý¸ö£¬¼´ÊÇ·ñ¸ÕºÃ°üÀ¨ÁËÍêÕûµÄºº×Ö¡£
/**
* ±à³Ì£º±àдһ¸ö½ØÈ¡×Ö·û´®µÄº¯Êý£¬ÊäÈëΪһ¸ö×Ö·û´®ºÍ×Ö½ÚÊý£¬Êä³öΪ°´×Ö½Ú½ØÈ¡µÄ×Ö·û´®¡£ µ«ÊÇÒª±£Ö¤ºº×Ö²»±»½Ø°ë¸ ......
ÔÚËùÓÐ×é¼þ¶¼·Åµ½JFrameÖ®ºó£¬ÏÈsetSize()£¬È»ºóÔÙsetVisible() ¡£
ÉèÖÃÁË´°¿ÚµÄSize,²¼¾Ö¹ÜÀíÆ÷²ÅÄÜΪ¸÷¸ö×é¼þ°²ÅźÏÊʵÄλÖÃ,Ö®ºóÔÙ°Ñ´°ÌåÏÔʾ³öÀ´setVisible()£¬±ÈÈçÄ㻹²»ÖªµÀ³§·¿µÄ´óС£¬Õâʱ¾ÍÎÞ·¨¾ö¶¨É豸°²·ÅµÄλÖᣠ......