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

多语言做网站seo服务公司怎么收费

多语言做网站,seo服务公司怎么收费,软件开发模型名词解释,创办网站要多少钱目录 一、Spring框架的介绍 1.1 Spring框架的概述 1.2 Spring框架的优点 二、Spring的核心 IOC技术 2.1 什么是IOC 2.2 IOC的程序入门 2.3 IOC技术总结 2.4 Spring框架的Bean管理的配置文件方式 一、Spring框架的介绍 1.1 Spring框架的概述 Spring是一个开放源代码的…

目录

一、Spring框架的介绍

1.1 Spring框架的概述

1.2 Spring框架的优点

 二、Spring的核心 IOC技术

2.1 什么是IOC

2.2 IOC的程序入门

2.3 IOC技术总结

2.4 Spring框架的Bean管理的配置文件方式 


一、Spring框架的介绍

1.1 Spring框架的概述

Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring的核心是控制反转(IoC控制反转)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。

1.2 Spring框架的优点

1.方便解耦,简化开发,Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理。(IOC的作用)

2.AOP编程的支持,Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。可扩展性

3.声明式事务的支持,只需要通过配置就可以完成对事务的管理,而无需手动编程。

4.方便程序的测试,Spring对Junit4支持,可以通过注解方便的测试Spring程序。

5.方便集成各种优秀框架,Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts2、Hibernate、MyBatis、Quartz等)的直接支持。

6.降低JavaEE API的使用难度,Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低。

 二、Spring的核心 IOC技术

2.1 什么是IOC

IOC -- Inverse of Control,控制反转,将对象的创建权力反转给Spring框架!!

控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。

解决问题:使用IOC可以解决的程序耦合性高的问题!!Spring的工厂读取配置文件。

2.2 IOC的程序入门

项目中的目录结构:

controller(表现层):

controller层的功能为请求和响应控制
controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端

dao(持久层):也被称为mapper层

dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务

pojo(数据库实体类):也被称为entity层,model层

一般数据库一张表对应一个实体类,类属性同表字段一一对应

service(业务层):
service层的作用为完成功能设计
service层调用dao层接口,接收dao层返回的数据,完成项目的基本功能设计

utils(工具类):

存放了一些公共部分的工具类,主要是用于减少项目开发中的重复代码

步骤:

① 创建普通maven Java工程不需要界面所以不用创建web项目,需要导入spring依赖,所以创建普通maven Java项目即可,导入坐标依赖

    <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.2.RELEASE</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>

② 编写接口和实现类,编写具体的实现方法

package com.qcby.service;/*** 业务层接口* 用户模块接口* 目的:演示springIOC入门*/
public interface UserService {//接口中的抽象方法public void hello();
}
package com.qcby.service.impl;import com.qcby.service.UserService;/*** 用户模块实现类实现用户模块接口* 实现其抽象方法* 耦合度低*/
public class UserServiceImpl implements UserService {//实现入门@Overridepublic void hello() {System.out.println("Hello IOC!!");}}

③ 编写Spring核心的配置文件,在 src/main/resources 目录下创建 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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--IOC管理bean--><!--bean的意义是将该类的创建对象权力转给spring框架--><bean id="userService" class="com.qcby.service.impl.UserServiceImpl" /></beans>

④ 把log4j.properties的配置文件拷贝到 src/main/resources 目录下,做为 log4j 的日志配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"><param name="Encoding" value="UTF-8"/><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n"/></layout></appender><logger name="java.sql"><level value="debug"/></logger><logger name="org.apache.ibatis"><level value="info"/></logger><root><level value="debug"/><appender-ref ref="STDOUT"/></root>
</log4j:configuration>

⑤ 编写测试方法

package com.qcby.demo;import com.qcby.service.UserService;
import com.qcby.service.impl.UserServiceImpl;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** 测试类* 测试UserService交给spring管理* IOC入门*/
public class UserServiceTest {@Testpublic void run1(){UserService userService = new UserServiceImpl();UserService userService1 = new UserServiceImpl();userService.hello();userService1.hello();System.out.println(userService);System.out.println(userService1);}@Testpublic void run2(){// 使用Spring的工厂ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");// 通过工厂获得类:UserService userService = (UserService) applicationContext.getBean("userService");UserService userService1 = (UserService) applicationContext.getBean("userService");userService.hello();userService1.hello();System.out.println(userService);System.out.println(userService1);}
}

运行 run1() 方法,可以看到,使用new方法直接创建对象是创建了两个不同的对象,这种做法在某些情况下可能会导致资源浪费,所以我们选择 run2() 的方法进行创建对象

运行 run2() 方法,可以看到,虽然创建了两个对象,但他们两个是单例,是相同的,只创建了一个对象,可以对之前创建的对象进行重复使用(使用这种方法也可以选择多例进行创建,默认是单例,可以在bean中进行属性设置也可以达成 run1() 中效果)

2.3 IOC技术总结

ApplicationContext接口,工厂的接口,使用该接口可以获取到具体的Bean对象。

该接口下有两个具体的实现类:

ClassPathXmlApplicationContext,加载类路径下的Spring配置文件,使用方法如下:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

FileSystemXmlApplicationContext,加载本地磁盘下的Spring配置文件,使用方法如下:

ApplicationContext applicationContext = new FileSystemXmlApplicationContext("C:\\Users\\ZSW\\Desktop\\idea\\SpringIOC\\src\\main\\resources\\applicationContext.xml");

推荐使用ClassPathXmlApplicationContext,因为第二种写的是本地磁盘下的绝对路径,在真正开发项目时不易修改使用

2.4 Spring框架的Bean管理的配置文件方式 

id属性,自己对Bean起的名字,在约束中采用ID的约束,唯一,取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号 id:不能出现特殊字符

class属性,Bean对象的全路径

scope属性,scope属性代表Bean的作用范围

        singleton单例(默认值),最常用的方式

        prototype多例

Bean对象的创建和销毁的两个属性配置:

说明:Spring初始化bean或销毁bean时,有时需要作一些处理工作,因此spring可以在创建和拆卸bean的时候调用bean的两个生命周期方法

init-method,当bean被载入到容器的时候调用init-method属性指定的方法

destroy-method,当bean从容器中删除的时候调用destroy-method属性指定的方法

http://www.hkea.cn/news/471477/

相关文章:

  • 网站制作先学什么百度新闻下载安装
  • 河南省网站建设哪家好免费观看行情软件网站进入
  • 粘合剂东莞网站建设体育热点新闻
  • 百度网站排名关键词整站优化培训网站建设
  • 网络平台代理seo外包 杭州
  • 东方头条网站源码免费推广软件工具
  • 北京网站建设公司分享网站改版注意事项流程优化四个方法
  • 案例学 网页设计与网站建设手机百度seo快速排名
  • 江门网站建设总部电话产品推广渠道有哪些
  • 网站建设全攻略站长之家ping检测
  • 导航网站 cmsgoogle chrome谷歌浏览器
  • wordpress看其他人博客优化师是做什么的
  • 现在哪个网站还做白拿2021小说排行榜百度风云榜
  • 网站流量seo提升seo排名的方法
  • 做html网站模板下载地址网站页面布局和样式设计
  • 公司网站邮箱费用磁力宅在线搜种子
  • wordpress 缺少临时文件夹刷关键词优化排名
  • 做网站要有什么团队淘宝关键词排名查询工具
  • 开源门户网站源码宁波谷歌seo
  • wordpress+一页一屏seo关键技术有哪些
  • 学校校园网站建设实施方案精准营销的案例
  • 腾讯云服务器可以做网站可以推广发广告的app
  • seo外链友情链接网站运营推广选择乐云seo
  • 做网站 要学 什么语言网站优化公司
  • 天乐测绘网做网站吗搜索引擎广告图片
  • 湖南营销型网站建设多少钱百度关键词优化软件网站
  • 怎样给网站做关键词优化百度词条
  • 做网站哪个平台搭建网站需要什么技术
  • 做gif图的网站简述网络营销的主要方法
  • 做图网站被告seo视频网页入口网站推广