spring1

来源:互联网 发布:网络电视十大排行榜 编辑:程序博客网 时间:2024/06/06 08:37

通过数据源获取链接

普通 配置xml文件

<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

      <property name="url"value="jdbc:mysql://localhost:3306/adb"></property>

      <property name="username"value="root"></property>

      <property name="password"value="123456"></property>

      <property name="driverClassName"value="com.mysql.jdbc.Driver"></property>

</bean>

 

通过外部属性文件配置xml文件

bean来定义读取资源文件

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

              <property name="location"value="jdbc.properties"></property>

        </bean>(配置外部properties文件)

context命名空间 读取资源文件

引入:(1)xmlns:context="http://www.springframework.org/schema/context"

(2) xsi:schemaLocation=”加入http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd”

 

<context:property-placeholderlocation="classpath:/cn/et/lesson02/jdbc/jdbc.properties"/>

 

           ${username}是个关键字 默认获取操作系统的用户名Administrator

            当使用bean来定义读取时username默认使用资源文件中的值

           当使用context命名空间时username默认使用系统用户名

           所以注意命名问题尽量不要使用username命名。

   <bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

             <property name="url"value="${url}"></property>

          <propertyname="username" value="${username1}"></property>

         <property name="password"value="${password}"></property>

         <property name="driverClassName"value="${driverClass}"></property>

</bean>(读取配置文件)

 

 

<!-- 封装一些操作的方法 -->

   <beanid="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate">

     <property name="dataSource"ref="dataSouce"></property>

  </bean>

这个类里面封装了一些操作数据库的方法,实例化这个类可以用sql语句操作数据库

 

Spring bean的生命周期

Spring可以通过bean指定类中的方法为init和destory方法

<bean id="a" class="cn.et.lesson02.cycle.A" init-method="ini"destroy-method="des">

</bean>

Init初始化方法 :容器创建bean之后调用

Destory结束方法: 容器销毁bean时 调用

通过ConfigurableApplicationContext中的close()方法调用destory销毁方法.

 

在classpath中自动扫描并实例化类

<context:component-scan base-package="cn.et.lesson02.anno(包名)"></context:component-scan>

  • @Component: 基本注解, 标识了一个受 Spring 管理的组件
  • @Respository: 标识持久层组件
  • @Service: 标识服务层(业务层)组件(业务逻辑层)
  • @Controller: 标识表现层组件

这四种注解功能都一样,需要实例化什么类就在类中加上注解,spring会自动实例化有注解的类,当未命名组件名时,组件名默认为类名第一个字母小写. 也可以在注解中通过 value 属性值标识组件的名称

Component (“abcd”)以abcd命名实例化的组件名.

原创粉丝点击