当前位置: 首页 > wzjs >正文

电话用网站做综合布线电子商务网站运营 需要确立

电话用网站做综合布线,电子商务网站运营 需要确立,海丰网站建设,实体门店管理系统Spring是什么? spring是一个轻量级的,IOC和AOP的一站式Java 开发框架。 目的是为了简化企业级应用开发而生的。 轻量级:框架体积小(核心模块) IOC:Inversion of Control 控制反转 把创建对象的控制权,反转给spring框架 以前我们在…

Spring是什么?

    spring是一个轻量级的,IOC和AOP的一站式Java 开发框架。

    目的是为了简化企业级应用开发而生的。

    轻量级:框架体积小(核心模块)

  IOC:Inversion of Control 控制反转 把创建对象的控制权,反转给spring框架

            以前我们在程序中需要对象,都是自己new,例如:new StudentDao对象

  AOP:Aspect Oriented Programming 面向切面编程

            将程序中的一些公共的非业务代码分离提取出来,然后在业务代码执行时,给他们横切进来。

            使用的动态代理的机制实现,在我们的业务代码,不显示的调用,但是执行业务代码,会通过代理对象,调用非业务代码。

一站式:除了核心的IOC和AOP功能之外,还对数据访问层,web层都有封装,所以是一站式的

Spring 体系结构    

Spring Hello World 搭建

    1、Maven导入spring核心基础jar

<!-- spring-context--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.2.RELEASE</version></dependency>

2、编写spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="admin" class="com.ffyc.springpro.model.Admin"> </bean>
</beans>

3、编写一个测试类(Admin)

public class Admin {private String account;private String password;public Admin() {System.out.println("Admin 无参构造");}public Admin(String account, String password) {this.account = account;this.password = password;}public String getAccount() {return account;}public void setAccount(String account) {System.out.println("setAccount");this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {System.out.println("getPassword");this.password = password;}@Overridepublic String toString() {return "Admin{" +"account='" + account + '\'' +", password='" + password + '\'' +'}';}
}

4、测试spring

        /*ClassPathXmlApplicationContext 是spring框架中的一个具体的实现类,负责生成,管理程序中的对象可以看作是一个容器,所以一般把spring框架也称为spring容器,或者IOC容器new ClassPathXmlApplicationContext("spring.xml");getBean("admin"); 从spring框架(容器)中获取到需要的对象*/ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");Admin admin = (Admin) applicationContext.getBean("admin");Admin admin1 = applicationContext.getBean("admin", Admin.class);System.out.println(admin);System.out.println(admin1);

                            

IOC(控制反转)

        控制反转 这是一种编程思想

           把生成对象的控制权,反转给spring框架管理,spring框架负责管理对象的整个生命周期过程。 对外提供获取对象的方法。我们在程序中哪里需要使用,在哪里获取即可

spring bean管理

    bean对象,由于把对象交给spring管理后,spring会对对象进行功能的增强,所以在spring框架中生成的对象,统一称为bean对象

    区分这个对象是我们自己new的还是spring框架生成的

spring中bean管理有两种方式:

1、基于xml配置方式
<bean id="admin" class="com.ffyc.springpro.model.Admin" scope="prototype">
<constructor-arg name="account" value="admin"></constructor-arg>
<constructor-arg name="password" value="111"></constructor-arg>
</bean><bean id="adminDao" class="com.ffyc.springpro.dao.AdminDao"></bean><bean id="adminService" class="com.ffyc.springpro.service.AdminService">
<property name="adminDao" ref="adminDao"></property>
</bean>

        bean 配置需要spring管理的类

        id 生成的对象名

        class 全类名

        name 对象别名,可以为多个

        scope: singleton(默认值):在 Spring 中只存在一个bean实例, 单例模式. prototype:原型 getBean()的时候都会new Bean()

2、基于注解方式
<!--开启spring注解扫描功能  指定扫描的包--><context:component-scan base-package="com.ffyc.springpro"> </context:component-scan>

        注解创建对象

@Component(value = "admin")
@Scope(value = "prototype")
//等同于xml中<bean id="admin" class="com.ffyc.springpro.model.Admin" scope="prototype"> 
@Repository(value = "adminDao")//基于dao层
@Service(value = "adminService")//基于service层

 spring注解方式bean管理

         自动注入

         @Autowired 是spring框架提供的注解

                用于在属性和属性的set方法上,如果用在属性上,set方法都不需要再写了

                默认情况下,要注入的值不能为空,required=true

        自动注入(@Autowired)有两种值的匹配方式:

                 1.通过属性的类型查找 (默认)

                 2.通过对象的名字查找  与@Qualifier(value = "adminDao")一起使用

        @Resource 是java语言中提供的注解标签

                也是添加在属性上,不需要写set方法,注入的值也是不能为空的,也可以通过类型查找要注入的对象,也可以通过对象名字查找要注入的对象 @Resource(name = "adminDao")

注解与 XML 的对比

        注解优点: 方便、直观、高效(代码少,没有配置文件的书写那么复杂)。

        注解缺点:以硬编码的方式写入到 Java 代码中,修改是需要重新编译代码的。

        xml 优点是: 配置和代码是分离的,在 xml 中做修改,无需编译代码,只需重启服务器即可将新的配置加载。

        xml 的缺点是:编写麻烦,效率低,大型项目过于复杂。

Spring 数据访问层管理

        步骤:

        1、在pom.xml中导入Spring-jdbc数据访问层jar包

<!-- spring-jdbc--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.2.RELEASE</version></dependency><!--阿里数据源 数据库连接管理组件--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency>

        2、在spring.xml中管理数据源对象

              spring管理数据库链接对象

              本次采用阿里巴巴数据库连接管理对象

    <!--阿里巴巴数据库连接管理对象,负责生成数据库连接对象,以及提供数据库连接池功能让spring管理阿里巴巴数据库连接对象--><bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name = "driverClassName" value = ""></property><property name = "url" value=""></property><property name= "username" value=""></property><property name="password" value=""></property><property name="initialSize" value="10"></property><!--初始化连接数量--><property name="maxActive" value="20"></property><!--最大连接数量--></bean>

Spring集成Mybatis

                Spring集成Mybatis其核心是将SqlSessionFactory交由Spring管理,并由Spring管理对dao接口的代理实现。

        1、在pom.xml中导入mybatis jar包

<!--spring集成mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency>

        2、在spring.xml中配置sqlSessionFactory

 <!--spring管理生成SqlsessionFactory对象--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="druidDataSource"></property><!--注入数据源--><property name="configLocation" value="classpath:mybatis.xml"></property><!--配置mybatis配置文件--><property name="mapperLocations" value="classpath:mappers/*Mapper.xml"><!--扫描mappers映射文件--></property></bean>

        3、在spring.xml中指定生成接口代理

<!--生成dao包下所有接口的代理对象--><bean id="mapperFactory" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.ffyc.ssm.dao"></property><!--指定接口所在的包--><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean>

http://www.dtcms.com/wzjs/546793.html

相关文章:

  • 做网站要用到哪些架包wordpress问卷填报主题
  • 培训网站建设报价单小夜仿115资源网源码
  • 佛山狮山网站建设婚纱网站制作
  • 萍乡市建设局网站王丽阿里云linux安装wordpress
  • 网站建设前期规划方案范文wordpress迁移修改域名
  • 网站建设需要营业执照吗怎么样优化网站seo
  • 晚上睡不着网站2021免费.net网站开发步骤
  • 沧浪手机网站建设公司做的网站出现404
  • 网站排队队列怎么做线上推广方案模板
  • 云虚拟主机做二个网站wordpress首页显示一张图片不显示
  • 做pc端网站必知个人建设图片分享网站
  • 帝国cms下载类网站怎么做中国建筑集团2023招聘官网
  • 网站建设公司中连锁门店管理系统
  • h5如何做网站太原seo代理
  • 做电影网站怎么盈利fontawesome 网站
  • 重庆网站房地产logo图片生成器在线制作
  • 北京网站建设销售招聘全国做网站的
  • 宿迁网站建设推广个人微信crm系统
  • Asp.net网站开发分析网站后台基本功能
  • 正规网站建设服务中心自适应的网站模板
  • 2019年建设什么网站好wordpress支付可见
  • 鄂州市网站广州网站建设说说外链的建设
  • 建设项目自主验收网站那里做一元云购网站
  • 上海专业做网站公司报价商业网站建设与维护方案书
  • 网上做石材去哪个网站外包网有哪些
  • 手机网站的域名网站qq联系代码
  • 网站空间被攻击我做网站了
  • 企业所得税怎么算一般纳税人结构优化
  • jsp网站开发教程网站首页tdk怎么做
  • 成都网站建设开发价格怎样维护网站建设