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

做建材网站怎么做做网站和做公众号

做建材网站怎么做,做网站和做公众号,企业品牌网站建设多少钱,新版wordpress头像IOC 在传统Java当中,我们的对象都需要new关键字来生成,这在面对很多对象的情况产生了不必要的麻烦,因为我不需要在一个项目中一直做重复的事情,那怎么办把,自然而然的一些好的框架就诞生了,避免我们去做这…

IOC

在传统Java当中,我们的对象都需要new关键字来生成,这在面对很多对象的情况产生了不必要的麻烦,因为我不需要在一个项目中一直做重复的事情,那怎么办把,自然而然的一些好的框架就诞生了,避免我们去做这些重复的事情。

ioc就是控制反转,创建对象的容器,他是一种面向切面的编程,就比如你要重复做某些事情,你单纯把这件事情抽象出来,然后写出来,给我的感觉很像Lombok,加一个@Data这样子数据就不需要get,set方法,自动生成,这样子就看着很优雅了,有一种美感。

ioc容器加载有大体上有两种模式,一种基于xml,还有是基于注解,后者就具有普适性,越来越常用了,接下来就展示一下这两种方法

这两种方式的前提都要在pom.xml中配置好依赖,这是至关重要的一步

基于XML的方式

(现大多使用注解方式,xml方式并不简洁,本文仅记录xml用作了解)

resource目录下创建Spring的xml文件,名称无要求

文件最上头的几行为约束,表示可以用哪些标签等

在bean.xml文件中写bean标签:id为类的唯一标识,class为类的全类名(包名+类名)

ApplicationContext context=new ClassPathXmlApplication(spring.xml)

想获取文件里面的对象,三种方法,基于id,基于class,还有就是两个一起用

getBean(类名.class)或者getBean(id)都可以,但是值得注意两点:

当根据类型获取bean时,要求IoC容器中指定类型的bean有且只能有一个。

当IOC容器中一共配置了多个,根据类型获取时会抛出异常。

因为他不只要找谁。

基于注解的方式

AnnotationConfigApplicationContext + @Configuration

创建一个类,给他加上@Configuration注解,给要创建的对象加上一个Bean注解(这里给以给定一个value/name值,这样子可以通过id查找,默认是方法名)

这里注意的是,当配置类很多的情况,我们可以直接传进去资源包,会通过扫包的形式,指定该包名即可,加载所有bean。

ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
public class AnnotationConfigApplicationContext extends GenericApplicationContext implements AnnotationConfigRegistry {...
}


都是基于ApplicationContext继承,看名字其实,确实很好,在以后大规模的时候就会知道他的优势,感觉越来越有趣了,哈哈哈

这里再补充一下,bean

什么是bean

可以这么说bean是计算机自动生成的类,Bean 是Spring框架中用于表示一个对象的术语,我感觉都挺对,但是和一般的对象不一样,他有他的规范:

  • 这个Java类必须具有一个无参的构造函数
  • 属性必须私有化。
  • 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。

接下来介绍一些注解

@Component注解

作用是将一个 Java 类标识为 Spring 的组件(Bean) 注解可以用于标记任何一个普通的 Java 类,并将其纳入 Spring 管理

@value注解

直接赋值

@Value("localhost:8080")
String url;

@Autowired注解

装配,自动装配,不光能创建单个对象,还能完成对象之间的关系注入

@Data
@Component
public class DataConfig{
@Value("localhost:3306")
private Sting url;
@Value("Driver")
private Sting driverName;
@Value("root")
private Sting username;
@Value("root")
private Sting password;
}
@Data
@Component
public class GlobalConfig{
@Value("8080)
private String port
@Value("/")
private String path;
@Autowired
private DataConfig dataConfig;
}

有了这个注解,当ioc容器中存在这两个对象,就可以在全局中获取这个DataConfig,根据类型获取(byType),也可以根据名称加上一个(@Qualfiler("name")专门取名字的一个注解,就回会去找改类型为这个名称的注解进行对应,如果没找到,会报错)。

AOP

面向切面编程,抽象化的面向对象的编程,面向对象的补充,以打印日志为例,当我们打印日志和业务当面重叠时(即耦合度很高的情况下,其实是不利于我们开发的),方法的开始的参数,解释的时候打印结果,会有重复的代码,统一的位置抽象起来,形成一个对象,一百个方法,只需要对应的位子,单独处理,自动更新。只保留核心的代码,进行一个分离

那怎么实现呢?

如果单纯使用方法,还得创建对象,其实是比较麻烦的

流程,一个对象,切面对象(即分离出来的某一部分),通过代理对象进行连接,先分离后整合的方式

@ASpect声明是一个参数

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

相关文章:

  • 房产网站建设哪家好vs做网站的书籍
  • 国外化妆品网站模板网站推广策略方法
  • 用什么语言能写网站吗wordpress电影网站模板
  • 网站建设衤首选金手指10中英文网站建设费用
  • 免费网站app代码搜索引擎竞价排名
  • 深圳移动网站建设公司排名代理注册公司怎么找
  • 简单做图网站网页设计板式要求
  • 浪琴手表网站建设图沧州网站建设
  • 上海大型网站建设福州网签
  • 小说网站有源码了该怎么做校园微网站界面
  • 网站开发如何入门国外展柜网站
  • 新手站长做游戏网站好吗学网站建设需要学多久
  • 价格对比网站开发湛江小程序开发公司
  • 东莞网站推广公司黄页网站建设叁金手指花总7
  • sem分析是什么意思seo好学吗入门怎么学
  • 重庆网站建设备案定制和订制的区别
  • 学校网站源码电子商务平台经营者名词解释
  • 达州科创网站建设公司网站手机端打不开
  • 苏州网站推广软件台州做网站需要多少钱
  • 歪咪小麻花官方网站怎么做零售网站备案许可证号查询网站
  • WordPress情侣网站济南莱芜金点子信息港
  • 营销网站 深圳飞数石家庄网站建设
  • 网站开发的相关岗位wordpress账户密码忘记
  • 网站策划图上海网络推广工资
  • 支付宝网站接口申请建筑书店
  • 上海cms建站机关单位网站建设合同
  • 写网站教程有手机版本wordpress
  • 怎么在wordpress免费注册博客网站微信公众号 手机网站
  • 郑州彩票网站开发辽宁建设工程信息网专家库官网
  • 政协网站法治建设版块老榕树网站建设