Spring入门

Spring的优点
方便解耦,简化开发
Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理
AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低


1.1.1.1 步骤一:下载Spring的开发包:

官网:http://spring.io/
下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring解压:(Spring目录结构:)
* docs :API和开发规范.
* libs :jar包和源码.
* schema :约束.
——————————————————————————————————————————————————————————
四个核心
这里写图片描述


引入相关配置文件:
docs>>spring-framework-reference>>html>xsd-configuration.html可以查看相关约束条件从下往上看。


1.2.2.8 IOC和DI:
IOC :控制反转,将对象的创建权交给了Spring.
DI :Dependency Injection 依赖注入.需要有IOC的环境,Spring创建这个类的过程中,Spring将类的依赖的属性设置进去.



@Test
// Spring的方式:
public void demo2(){
// 创建Spring的工厂类:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(“applicationContext.xml”);
// 通过工厂解析XML获取Bean的实例.
UserDao userDao = (UserDao) applicationContext.getBean(“userDao”);
userDao.HelloWorld();
}

id :Bean起个名字. 在约束中采用ID的约束:唯一. 必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号 id:不能出现特殊字符.

name:Bean起个名字. 没有采用ID的约束. name:出现特殊字符.如果没有id的话 , name可以当做id使用.
* 整合struts1的时候:


1.2.5.2 scope属性:Bean的作用范围.
* singleton :默认值,单例的.
* prototype :多例的.
* request :WEB项目中,Spring创建一个Bean的对象,将对象存入到request域中.
* session :WEB项目中,Spring创建一个Bean的对象,将对象存入到session域中.
* globalSession :WEB项目中,应用在Porlet环境.如果没有Porlet环境那么globalSession相当于session.


【构造方法的方式注入属性】

<bean id="car" class="cn.xx.spring.Car">
    <constructor-arg name="name" value="QQ"/>
    <constructor-arg name="price" value="100"/>
</bean>




123

【set方法的方式注入属性】



原文地址:https://www.cnblogs.com/liclBlog/p/15349594.html