spring框架
说在前面
优秀的架构标准:可维护性(高内聚:尽量将代码写在与之功能描述一致的模块中)、可扩展性(低耦合即依赖注入:不用new创建对象)、性能(算法)
一、入门示例
1.手动配置xml文件(具体看教义)
①导入四个核心包及commons包
②手动配置:preference --> xml --> add -->
③创建xml文件(选择自己配置的xsd)
④创建一个类
⑤在xml文件中配置bean
⑥测试使用getBean获得容器中的对象
二、STS开发工具(下载替换eclipse中的plugins)
三、IOC(控制反转):解耦
四、bean标签
1.配置
1.1作用:用于声明一个类,在启动spring框架的时候根据该配置的类创建对象到容器(ClasspathXmlApplicationContext)当中。
1.2属性说明:
①name:设置对象名
②class:用于指定对象对应的类名
③scope:用于设置对象的作用范围(默认singleton、prototype、request、session)
④init-method:设置创建对象的时候,调用初始化方法
⑤destroy-method:设置对象被回收时,调用注销的方法
1.3bean作用范围
2.实例化bean的四种方式
2.1class创建(bean class方式)
2.2静态方法工厂(了解)
2.3实体工厂(了解)
2.4内置FactoryBean工厂:实现FactoyBean接口,重写方法,通过该方式创建的对象可以将入口类对象设置好默认属性再返回带属性的对象
五、spring依赖注入
5.1set方法注入 在xml中bean下使用<property name=" " value=" ">标签注入
5.2构造方法注入 在xml中bean下使用<constructor-arg name="" value="">标签注入
5.3注入数组 (array):在xml中bean下的property标签下使用array标签下通过value标签设置值
5.4注入集合(set、list):在xml中bean下的property标签下使用set(或list)标签下通过value标签设置值
5.5注入键值对(map):在xml中bean下的property标签下使用map标签下通过entry标签设置值
5.6注入键值对(properties):在xml中bean下的property标签下使用props标签下通过prop标签设置值
六、获取properties文件的值(两个注意点①context:property-placeholder ②${})
象这种#{} ${} *{}这个表达式统称OGNL表达式,
JSP里面称${} 为EL表达式
Spring里面:将#{} ${}称为Spring表达式
Mybatis里面 将#{} ${} 直接成OGNL表达式
问题:为什么我们配置properteis属性名需要加前缀
答:为了减少与jdk内置参数的冲突