Spring的优势:mysql
环境搭建:web
1.一个依赖,四个核心spring
2.控制反转sql
(1)含义:依赖于容器给予你资源,控制权坐落到了容器身上,不主动new实例化对象,而是须要哪一个对象,便向容器发请求,让容器帮本身new一个对象出来数组
(2)依赖注入:所需求的对象,须要依赖容器注入,本质上是IOC和DI是同一思想下不一样维度的表现.框架
(3) 注入的方式:url
>接口注入:在接口中定义要注入的信息,并经过接口来完成注入。(Spring不支持这种注入方式--不支持的缘由是--Spring声称其是非入侵式的《离开这个框架也能活》,若是使用接口注入的话,就违背了这一原则)spa
>setter注入:3d
>构造器注入code
>注解注入
Xml文件的配置
<context:component-scan base-package="com.zhiyou.han"></context:component-scan>
注解有:1.自动注入:@Resources, @Autowired
2.Bean的定义:@Component, @Repository, @Service 和 @Controller
@Component是个泛化概念,能够用在任何层次。若是是web开发,
尽可能用@Repository、@Service 和 @Constroller
(4) 不一样数据类型的注入方式:
1.若是注入的为基本类型(8)或者String类型 value="" 2.若是注入的为引用类型() ref 3.数组
<property name="local"> <array> <value>北京2</value> <value>北京3</value> <value>北京4</value> <value>北京5</value> </array> </property>
4.集合list set集合
<property name="addess"> <list> <value>上海1</value> <value>上海3</value> <value>上海4</value> <value>上海5</value> <value>上海7</value> </list> </property>
5.Map集合
<property name="map"> <map> <entry key="name" value="王五"/> <entry key="age" value="38"/> <entry key="dz" value="北京"/> </map> </property>
6.Properties属性类
<property name="pop"> <props> <prop key="url" >jdbc:mysql://localhost:3306/mysql</prop> <prop key="user" >root</prop> </props> </property>
|
该方法在ApplicationContext读取配置文件就会建立bean的实例化,不须要考虑bean的做用域 |
该方法已经被淘汰,BeanFactory在启动的时候不会建立bean实例,而是在getBean()的时候才会建立实例 |
XML的代码:
<bean id = "student" class="com.zhiyou.han.Student"> <property name="name" value="韩广学"></property> <property name="address"> <array> <value>北京1</value> <value>北京2</value> <value>北京3</value> <value>北京4</value> </array> </property> <property name="address1"> <list> <value>北极1</value> <value>北极5</value> <value>北极4</value> <value>北极3</value> <value>北极2</value> </list> </property> <property name="map"> <map> <entry key="15" value="哈哈1"></entry> <entry key="14" value="哈哈2"></entry> <entry key="13" value="哈哈3"></entry> <entry key="12" value="哈哈4"></entry> <entry key="11" value="哈哈5"></entry> </map> </property> <property name="teacher" ref="teacher"></property> <property name="properties"> <props> <prop key="url">JDBC:myql</prop> <prop key="name">JDBC:name</prop> <prop key="pass">JDBC:password</prop> </props> </property> </bean> <bean id="teacher" class="com.zhiyou.han.Teacher"> <constructor-arg name="name" value="成吉思汗"></constructor-arg> </bean>