Spring--Application&bean

Spring框架----java开发的"一站式"解决方案

什么是Spring

Spring是一个开源的,用于简化企业级应用开发的应用开发框架.

  • 简化开发:

    • Spring框架对很对常用的api做了简化,比如Spring JDBC(Spring jdbc是Spring框架中的一个模块)访问数据库,不再需要考虑如何获取链接,关闭连接,处理异常等.
  • 提高了软件的维护性

    • Spring框架带了一个Sring容器(Spring框架当中的一个模块)创建对象,并且管理对象之间的依赖关系,这样一来,对象之间的耦合性就大大降低,提高了系统的维护性.
  • 可以集成其他的框架

    • Spring框架提供了继承其他常用框架的功能,比如要使用任务调度功能----Quartz框架则集成Quartz和Spring进行集成

Spring容器

什么是Spring容器

  • Sring容器(Spring框架当中的一个模块)创建对象,并且管理对象之间的依赖关系

如何启动Spring容器(spring_day01)

  • step1: 导包

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.2.8.RELEASE</version>
    </dependency>
    
  • step2: 添加Spring配置文件applicationContext.xml

    配置文件用来告诉容器,如何创建对象,如何建立对象之间的依赖关系等等.
    

    <bean id="" class="" scope="singleton/prototype" init-method="" destroy-method="" lazy-init="false/true" factroy-bean="" factory-method="">

  • step3: 启动容器

    /*
     * 启动Spring容器
     * ApplicationContext:
     *      是一个接口,定义了Spring容器的基本功能
     * ClassPathXmlApplicationContext:
     *      是一个实现了ApplicattionContext接口的类,该类会依据类路径来查找Spring配置文件,来启动容器       
     */
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    

创建对象

1) 方式一:使用无参构造器

step1: 为类添加无参构造器(或者缺省构造器)
step2: 写配置applicationContext.xml文件,使用bean元素进行配置
            <!-- 
                使用无参构造器创建对象,其中
                id:唯一
                class:类的全类名
             -->
            <bean id="stu1" class="cn.huang.first.Student" />
step3: 启动Spring容器,调用容器提供的getBean方法来获得对象
        类 xx = ac.getBean("id",类Class);

2) 方式二:使用静态工厂方法(了解)

<!-- 使用静态工厂方法创建对象 
    factory-method:
            用来指定静态方法名,容器会调用该类的静态方法来创建对象.
    以下配置容器会调用:  
    Calendar cal = Calendar.getInstance()方法,并返回一个对象
-->
<bean id="cal1" class="java.util.Calendar" factory-method="getInstance"/>

3) 方式三:使用实例工厂方法(了解)

<!-- 使用实例工厂方法创建对象:调用实例对象的方法
    factory-bean:
            一个bean的id.
    factory-method:
            指定方法名,该方法名是id为指定的bean所指向的类的方法
    以下配置,容器会调用id为cal1的bean的getTime方法.       
 -->
<bean id="time1" factory-bean="cal1" factory-method="getTime"/> 

作用域

容器默认情况下,对于某个bean元素,只会创建一个实例

可以修改bean的作用域,将作用域设置为"prototy"

<!-- 无参构造器创建 
    scope:用来设置bean的作用域缺省值"singleton",仅创建一个实例    ;
            ""prototype"创建多个实例,每调用一次getBean方法就会创建一个             
            singleton:单例
            prototype:原型
-->
<bean id="sb1" class="cn.huang.basic.ScopeBean" scope="prototype" />

生命周期

  • 容器在创建好响应的对象之后,会调用该对象的初始化方法,在销毁该对象之前,会调用该对象的销毁方法.
  • 可以使用init-methoddestroy-method属性来指定初始化方法和销毁方法的名称

    <!-- 生命周期 
    init-method:用于指定初始化方法名,在实例化的同时初始化
    destroy-method:用于指定销毁方法名
    注:
        容器在删除删除对象之前会先调用该对象的销毁方法
    只有作用域为singleton的bean,销毁方法才会执行
    -->
    <bean id="ms" class="cn.huang.basic.MessageService" init-method="init" destroy-method="destroy"/>
    
    ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("basic.xml");
    /*
     * 关闭容器的方法
     * ApplicationContext没有定义关闭容器的方法,所以直接同ClassPathXmlApplicationContext的close()
     */
    ac.close();//close()方法是来自于父类的方法
    

延迟加载

  • 默认情况下,容器启动之后,会将所有作用域为singleton单例的bean实例化
  • lazy-init属性值设置为true,容器启动之后不再创建

    <!-- 延迟加载:
    缺省值为false
     -->
    <bean id="lb1" class="cn.huang.basic.LazyBean" lazy-init="true"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spring-boot-starter-jdbc是Spring Boot框架中的一个starter,它提供了与JDBC(Java Database Connectivity)相关的依赖和配置,使得在Spring Boot应用中使用JDBC变得更加简单和方便。 具体来说,spring-boot-starter-jdbc包含了以下功能: 1. 自动配置:它会根据classpath中的依赖自动配置DataSource(数据源)和JdbcTemplate(JDBC模板)等相关的bean。 2. 数据源配置:它提供了默认的数据源配置,可以通过在application.properties或application.yml文件中进行配置,例如指定数据库的URL、用户名、密码等。 3. JdbcTemplate支持:它提供了JdbcTemplate的自动配置,可以通过注入JdbcTemplate对象来执行SQL语句,简化了与数据库的交互操作。 使用spring-boot-starter-jdbc可以让你更加专注于业务逻辑的开发,而无需过多关注底层的数据库连接和操作细节。 如果你想在Spring Boot项目中使用JDBC,可以按照以下步骤进行配置和使用: 1. 在pom.xml文件中添加spring-boot-starter-jdbc依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> ``` 2. 在application.properties或application.yml文件中配置数据源相关信息,例如: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=123456 ``` 3. 在你的代码中注入JdbcTemplate对象,并使用它执行SQL语句,例如: ```java @Autowired private JdbcTemplate jdbcTemplate; public void queryData() { String sql = "SELECT * FROM users"; List<Map<String, Object>> result = jdbcTemplate.queryForList(sql); // 处理查询结果 } ``` 总结一下,spring-boot-starter-jdbc是Spring Boot框架中用于简化JDBC操作的一个starter,它提供了自动配置和默认的数据源配置,使得在Spring Boot应用中使用JDBC变得更加方便和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值