spring--总体初始

本文介绍了Spring框架作为应对企业级系统复杂性的解决方案,强调其轻量级、低侵入性和强大的集成能力。Spring的核心包括IOC容器和AOP,提供数据访问支持、声明式事务管理等功能。通过一个简单的案例展示了Spring的配置和使用,同时讨论了Spring框架的优缺点,如易于测试和低耦合,但也指出其对设计要求较高和集成测试的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 随着企业级系统的 大规模:用户数量多、数据规模大、功能众多、 性能和安全要求高、 业务复杂、灵活应变

java技术如何应对?所以spring出现了。

首先我们先来看一下Spring框架的一些知识点,通过下边这张图来总括一下:

Spring是轻量级框架, Java EE的春天,当前主流框架
目标:使现有技术更加易用,推进编码最佳实践
内容:IoC容器、AOP实现、数据访问支持、简化JDBC/ORM 框架、声明式事务、Web集成




   1.先看一下下面的图,主要包括了Spring自身的功能。还有可以和其框架结合的一些框架,通过这图可以看出,Spring框架和其他框架的集成能力是非常强的。





2.Spring是一个轻量级的IOCAOP容器框架:

1)轻量级:占用资源不是很多,低侵入性。

2)IOC:控制反转(Inversion of Control),是一个重要的面向对象编程法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心beans

说的是创建对象实例的控制权从代码控制剥离到IOC容器(spring容器)控制,实际就是你在xml文件控制,侧重于原理

3)AOP::一种面向横切面编程的思想方式,可以进行功能性扩展。



3.spring基本jar包



(1) spring-core.jar
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。
(2) spring-beans.jar
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring-beans.jar文件就可以了。
(3) spring-aop.jar
这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。
(4) spring-context.jar
  这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。
(5) spring-dao.jar
  这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。
(6) spring-jdbc.jar
  这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。
(7) spring-support.jar
  这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。
(8) spring-web.jar
  这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
(9) spring-webmvc.jar
  这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。


4.spring的小案例

a.导入jar包

b.创建一个类:HelloSpring

c.配置文件:applicationContext.xml

d.单测


HelloSpring

public class HelloSpring {
    private String who=null;

    public String getWho() {
        return who;
    }

    public void setWho(String who) {
        this.who = who;
    }
    public void print(){
        System.out.println("Hello," +this.getWho());
    }
}


applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/aop
         http://www.springframework.org/schema/aop/spring-aop.xsd">


     <!--1.HelloSpring-->
    <bean id="helloSpring" class="cn.happy.entity.HelloSpring" >
        <property name="who">
            <value>Spring</value>
        </property>
    </bean>
</beans>

测试类:

public class HelloSpringTest {
    @Test
    public void helloSpringTest(){
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        HelloSpring hs= (HelloSpring) context.getBean("helloSpring");
        hs.print();
    }

}

ApplicationContext来用才对象来加载Spring配置文件,会在加载时解析配置文件,创建对象,而不是在getBean时创建。其实,ApplicationContext接口继承了BeanFactory,所以具备BeanFactory所有功能,同时增加扩展的功能,例如加载资源配置文件,国际化支持等!


 5.Sping框架的优缺点:

                   优点:

  • 轻量级的容器框架,没有侵入性
  • IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。
  • 易于本地测试(Junit单元测试,不用部署服务器)
  • AOP可以更加容易的进行功能扩展,遵循OCP开发原则。
  • Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。
  • Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。
  • Spring的声明式事务的方便使用。

 

                  缺点:

                    自我感觉是所有框架共有的,就是开发对设计要求较高,集成测试麻烦,对框架有一定的依赖性。




内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值