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

网站系统升级软件开发包括哪些

网站系统升级,软件开发包括哪些,新东方烹饪学校学费一年多少钱,网站正能量晚上在线观看视频侧重于服务端#xff08;后端#xff09;#xff0c;不在意前端#xff0c;了解一些前端即可#xff09; 技术架构 #xff08;把Spring设计的更简单好用了就是Spring Boot#xff09; 开发环境#xff08;Maven#xff09; Maven maven通过brew安装的目录为#x…侧重于服务端后端不在意前端了解一些前端即可 技术架构 把Spring设计的更简单好用了就是Spring Boot 开发环境Maven Maven maven通过brew安装的目录为 /opt/homebrew/Cellar/maven/3.9.6/libexec构建maven项目编译时显示版本太低有以下地方排查 在pom.xml中添加如下内容强制设置JDK版本 buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.0/versionconfigurationsource17/sourcetarget17/target/configuration/plugin/plugins/build设置-编译器-Java编译器 - 文件-项目结构maven仓库搜索mvnrepository.com 在上面找包复制下载语句到pom.xmlmaven就会自动下载包 Spring Initializer 目的整合不同功能的jar包方便添加生成加包语句地址https://start.spring.io/在IDEA中也可以直接创建new project-spring initializer 还有一个AOP不知为何搜不到了 然后得到一个压缩包解压后在IDEA中打开就是类似的Maven项目可以手动添加AOP dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId/dependency点击运行main后访问localhost:8080就可以看到错误界面这是正常的。springboot以jar包 的方式内嵌了Tomcat。 Spring Boot的核心功能 起步依赖pom.xml、自动配置、端点监控 写一个简单的呈现文本的处理客户端请求界面 在以下路径添加一个包再添加一个类 内容如下注解什么的之后会说 package com.newcoder.community.controler;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; //import这些才能使用指定的注解Controller RequestMapping(/alpha) public class AlphaController {RequestMapping(/hello)ResponseBodypublic String sayHello() {return Hello Spring Boot.;}} 重启后访问localhost:8080/alpha/hello就可以看到对应的界面。 修改端口和默认上下文路径 在这里输入 server.port8888 server.servlet.context-path/community把端口移到8888默认上下文路径community 此时访问http://localhost:8888/community/alpha/hello即可看到内容 Spring全家桶 后面两个基本用不上 Spring Framework AOP面向切面编程与面向对象思想相补充data access访问数据库web servletweb开发Integration集成 Spring IoC Inversion of Control 控制反转是一种面向对象编程的设计思想。 • Dependency Injection 依赖注入是IoC思想的实现方式。 • IoC Container IoC容器是实现依赖注入的关键本质上是一个工厂。 注解SpringBootApplication和配置类 为什么运行SpringApplication.run(CommunityApplication.class, args); 就可以启动Tomcat服务器以及完成一些其他复杂的设置 因为添加了SpringBootApplication注解实际上这包含了好几个元注解 SpringBootConfiguration标记一个类作为配置类定义 Spring 的 Bean。EnableAutoConfiguration启用 Spring Boot 的自动配置机制。ComponentScan启用组件扫描这样你写的其他类上的 Spring 注解就会生效。让 Spring Boot 找到并注册所有的 Spring 组件包括 Component、Controller、Service、Repository 等等。(也就是添加了这些注解的bean才会被扫描 这个位于就是配置类 SpringBootApplication public class CommunityApplication {public static void main(String[] args) {SpringApplication.run(CommunityApplication.class, args);//自动创建Spring容器扫描所有的bean创建bean的实例管理bean的生命周期} }如何在test中使用配置类 使用ContextConfiguration(classes CommunityApplication.class)注解 这里的class不能漏回想之前的反射的知识。 具体例子来说明IoT编程的解耦合 在com.nowcoder.community下创建一个包dao用于管理数据库并在其中创建一个接口AlphaDao面向接口的编程思想随便定义一个方法返回字符串。 假设我们现在用Hibernate管理数据库那就创建一个对应的类来实现这个接口 package com.newcoder.community.dao;import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Repository;Repository public class AlphaDaoHibernateImpl implements AlphaDao{Overridepublic String select() {return Hibernate;} } 这里注意要加Repository注解才能被Spring的容器扫描为Bean。 然后我们现在想在CommunityApplicationTests里面调用这个方法。 让该类实现ApplicationContextAware接口这样才能使其实现类访问Spring的ApplicationContext。ApplicationContext是Spring的中心接口它提供了访问应用程序配置信息的方式例如获取bean。实现这个接口那么必须实现接口中的所有抽象方法不然就要设置为抽象类这里必须实现setApplicationContext方法对ApplicationContext进行设置在类里生命一个ApplicationContext对象并赋值就可以了 private ApplicationContext applicationContext;Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {this.applicationContext applicationContext;}创建函数testApplicationContext()在其中调用applicationContext.getBean取bean然后调用select方法 SpringBootTest ContextConfiguration(classes CommunityApplication.class) class CommunityApplicationTests implements ApplicationContextAware {Testpublic void testApplicationContext() {AlphaDao ad applicationContext.getBean(AlphaDao.class);//为什么要getBean而不是直接实例化String s ad.select();System.out.println(s);}private ApplicationContext applicationContext;Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {this.applicationContext applicationContext;} }此时AlphaDao接口只有一个实现类因此不会报错且输出Hibernate。 增加需求假如此时又实现了一个类使用MyBatis操作数据库 Repository Primary public class AlphaDaoMybatisImpl implements AlphaDao{Overridepublic String select() {return Mybatis;} }此时AlphaDao接口有两个实现类了直接运行肯定会报错解决方法就是 在要用的实现类上加上Primary注解表明优先级 增加需求了现在仍然有人想要用Hibernate那个实现类怎么做 指定bean Repository注解可以添加参数比如 Repository(alphaHibernate)就是给这个bean取个名字然后把test中的getBean的部分改成 public void testApplicationContext() {AlphaDao ad (AlphaDao) applicationContext.getBean(alphaHibernate);//为什么要getBean而不是直接实例化String s ad.select();System.out.println(s);}这里返回的本来是Object类型这里需要强转成AlphaDao或者加个参数 Testpublic void testApplicationContext() {AlphaDao ad applicationContext.getBean(alphaHibernate,AlphaDao.class);//为什么要getBean而不是直接实例化String s ad.select();System.out.println(s);}这时打印的就是AlphaDao Hibernate了 其他管理Bean的方法 需求观察容器对Bean进行自动生命周期的管理 重新创建一个包service管理业务组件并创建AlphaService类编写构造器初始化和销毁函数 public class AlphaService {public AlphaService() {System.out.println(构造器被实现了);}PostConstructpublic void init(){System.out.println(初始化 AlphaService);}PreDestroypublic void destroy(){System.out.println(销毁 AlphaService);}}PostConstruct注解该函数表示在构造函数后执行PreDestroy表示在销毁函数前执行。 运行tests类编写测试函数 Testpublic void testBeanManagement(){AlphaService as applicationContext.getBean(AlphaService.class);System.out.println(as);}运行结果 可见每个被Spring管理Bean只有一个实例是单例模式。只示例化一次如果不想就在bean上加注解Scope(“prototype”)不常用不要用 装配第三方jar包中的bean 需求装载第三方的SimpleDateFormat类。 在com.nowcoder.commuity下创建一个配置包config并在其冲创建AlphaConfig配置类 Configurationpublic class AlphaConfig {Beanpublic SimpleDateFormat simpleDateFormat(){//方法名就用要用的bean的小驼峰return new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);}}配置类加Configuration注解不用加SpringConfiguration一般一个项目只有一个要用的bean加Bean注解方法名就用要用的Bean的小驼峰 创建测试方法运行 Testpublic void testBeanConfig(){SimpleDateFormat sdf applicationContext.getBean(SimpleDateFormat.class);System.out.println(sdf.format(new Date()));}运行后就会打印当前日期。 Spring的依赖注入 常用不用直接getBean直接使用Autowired注解 Autowired private AlphaDao alphaDao;Test public void testDI(){System.out.println(alphaDao); }这里注意一个问题在运行testDI的时候AlphaService的构造器等也运行了 在Spring框架中当ApplicationContext启动或刷新时它会创建所有的singleton bean。在你的代码中AlphaService被标注为Service这意味着它是一个Spring管理的bean并且默认情况下它的作用域是singleton。这就是为什么当你运行testDI测试方法时AlphaService的构造函数也会被执行。所以当ApplicationContext启动时它就会被创建。这就是为什么你会看到构造器被实现了的输出即使你并没有直接使用AlphaService。 如果需要指定Bean添加Qualifier注解 Autowired Qualifier(alphaHibernate) private AlphaDao alphaDao;Test public void testDI(){System.out.println(alphaDao); }实际应用开发中 不同的包相互调用可用上面的方法进行依赖注入。
http://www.w-s-a.com/news/387229/

相关文章:

  • 天猫网站建设的目标是什么做网站常见问题模板
  • 做php网站需要什么软件天津建设网官方网站
  • 南漳网站开发上海网站推广方法
  • 深圳seo网站大连旅顺房价
  • dede网站 地图什么做有没有做黑市网站
  • 做网站参考文献域名如何做网站
  • 怎么选择网站开发英文网站建设用途
  • 怎样做电子商务网站织梦生成手机网站
  • 公司网站建设选什么服务器网站里怎样添加关键词
  • 深圳建设局网站深业中城绿化项目营销型网站开发流程包括
  • 找销售的网站九江市建设项目服务中心
  • 东原ARC网站建设公司合肥seo网站推广外包
  • 那个网站是做房产中介的网站制作软件小学
  • 做网页怎么建站点视频解析网站
  • 做网站的系统设计网站设计论文前言
  • 做外贸网站多久更新汕头市建设局网站首页
  • 如何建设专业化的网站手机管理网站模板
  • 花生壳做网站如何用腾讯云做网站
  • 搭建集团网站开发app需要哪些软件
  • 网站建设 中企动力福州阀门wordpress 多说评论
  • php网站集成支付宝接口下载免费网络软件
  • 卡盟网站是怎么建设的用花生壳做网站速度可以吗
  • 杭州物联网前十名公司优秀seo平台
  • 网新中英企业网站管理系统wordpress 登录 缓存
  • wordpress模板建站教程wordpress添加广告位手机自适应
  • h5游戏平台入口优化是什么梗
  • 建设银行对公网站打不开网络推广活动方案主题和思路
  • 茶叶网站开发目的和意义网页设计需要考什么证
  • 高端企业网站建设公司怎么做实用性建设网站都需要哪些
  • 网站备案必须要幕布吗易企秀网站怎么做轮播图