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

网站开发公司总汇什么都能搜的浏览器

网站开发公司总汇,什么都能搜的浏览器,WordPress单页添加Js,专业个人网站建设学习Day01 目录 学习Day011、创建项目1.1 创建一个空项目1.2 创建controller项目1.3 SpringBoot应用打包 2、Spring Initializr创建向导3、给容器中配置组件类(注解)4、条件注解5、属性绑定6、IDEA创建类自动生成注解 1、创建项目 springboot官方文档 m…

学习Day01

目录

  • 学习Day01
    • 1、创建项目
      • 1.1 创建一个空项目
      • 1.2 创建controller项目
      • 1.3 SpringBoot应用打包
    • 2、Spring Initializr创建向导
    • 3、给容器中配置组件类(注解)
    • 4、条件注解
    • 5、属性绑定
    • 6、IDEA创建类自动生成注解

1、创建项目

springboot官方文档
mvnrepository

1.1 创建一个空项目

1. 创建项目

在这里插入图片描述

2. 创建maven模块
在这里插入图片描述
在这里插入图片描述
3. 添加以下代码并刷新pom依赖
导入场景

<!--  所有springboot项目都必须继承spring-boot-starter-parent  --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.13</version></parent>
<!-- web开发的场景启动器 --><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

4. 创建启动主类
在这里插入图片描述

5. 启动结果404(因为此时还没有请求)
在这里插入图片描述

1.2 创建controller项目

1、创建controller包下的HelloController.java

package boot.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;/*** @author dszn* @creat 2025/4/16 8:49* @Description*/
//@ResponseBody  //返回josn或纯文本数据而不是跳转页面
//@Controller@RestController //以上两个注解的合体
public class HelloController {@GetMapping("/hello")public String hello() {return "hello";}
}

2、测试发送hello请求
在这里插入图片描述

1.3 SpringBoot应用打包

1、更新pom依赖

<!--springboot应用打包插件--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

2、maven更新并打包
在这里插入图片描述
打包完成后在target文件夹下面
在这里插入图片描述
3、运行jar包(系统已有java运行环境)
找到jar包所在的target文件夹,在文件地址处输入cmd
输入命令java -jar (自己jar包的名字).jar
在这里插入图片描述
启动成功,可以在浏览器访问

(tips)
1、在cmd启动之前记得把IDEA控制台上的启动关闭,避免端口冲突
2、cmd启动要确保自己电脑上已经成功配置了jdk17以上版本,可以使用java -version查看jdk版本(不能用java -v

4、SpringBoot便携式修改配置
依靠jar包可以很方便的修改像端口号这类的配置
在jar包的同级目录新建一个application.properties文件(集中式管理配置)
官方支持的所有配置
在这里插入图片描述

修改 server.port=8888
重新启动
在这里插入图片描述
端口号已经修改成功

2、Spring Initializr创建向导

在这里插入图片描述

选择项目需要的场景并创建
在这里插入图片描述
如果新创建的项目的pom依赖没有被识别,请手动添加
在这里插入图片描述
启动类已经自动生成
其余按1中编写即可

3、给容器中配置组件类(注解)

@Configuration@Bean 注解可以替代传统的XML文件
(@Configuration 注解用于标记一个类为 Spring 的配置类。这个类可以包含多个 @Bean 注解的方法,Spring 会将这些方法返回的对象注册为 Spring 容器中的 Bean。)
项目结构
在这里插入图片描述
User.java

package com.dszr.boot.bean;/*** @author dszn* @creat 2025/4/16 11:34* @Description*/public class User {private Long id;private String name;public String getName() {return name;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public void setName(String name) {this.name = name;}
}

AppConfig.java

package com.dszr.boot.config;import com.dszr.boot.bean.User;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Scope;/*** @author fmzh* @creat 2025/4/16 11:33* @Description*/@Import(ObjectIdGenerators.class) //给容器中放指定类型的组件,组件默认名字是全类名(与Bean注册不同)
@SpringBootConfiguration //这是一个springboot配置类 和下面的没什么区别
//@Configuration //这是一个配置类,替代以前的配置文件 配置类本身也是容器中的组件
public class AppConfig {/*** 1、组件默认是单实例的* @return*/@Scope("prototype")//将组件转为多实例@Bean("user01") //替代以前的Bean标签 组件在容器中的名字默认是方法名,也可以直接修改注解名public User user01(){User user = new User();user.setId(1l);user.setName("里斯");return user;}
}

测试

package com.dszr.boot;import com.dszr.boot.bean.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Boot302demoApplication {public static void main(String[] args) {var ioc = SpringApplication.run(Boot302demoApplication.class, args);//        for (String name : ioc.getBeanDefinitionNames()){
//            System.out.println(name);
//        }String[] forType = ioc.getBeanNamesForType(User.class);for(String s : forType) {System.out.println(s);}//验证是否是单实例Object user01 =  ioc.getBean("user01");Object user02 =  ioc.getBean("user01");System.out.println(user01 == user02);}}

总结步骤

  1. @Configuration编写注册类
  2. 在配置类中,自定义方法,给容器注册组件,配合@Bean注解,或者使用@Import导入第三方组件

4、条件注解

@ConditionalOnClass 如果类路径中存在这个类,则触发指定行为

@ConditionalOnMissingClass 如果类路径中不存在这个类,则触发指定行为

@ConditionalOnBean 如果容器中存在这个组件(Bean),则触发指定行为

@ConditionalOnMissingBean 如果容器中不存在这个组件(Bean),则触发指定行为

场景描述

  • 如果存在ObjectIdGenerators这个类,就给容器放一个Cat组件,名为Cat01
  • 否则,给容器放一个User组件,名为User01
  • 如果系统中存在dog01这个组件,就给容器放一个User组件,名为zhangsan
  • 否则,就放一个User,名为lisi

实例验证
前提:FastsqlException是druid包下的一个类,提前导入druid依赖

package com.dszr.boot.config;
import com.alibaba.druid.FastsqlException;
import com.dszr.boot.bean.Cat;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.context.annotation.Bean;/*** @author dszn* @creat 2025/4/17 10:32* @Description*/
@ConditionalOnMissingClass(value = "com.alibaba.druid.FastsqlException")//放在类级别,如果注解判断生效,则整个配置类才生效
@Import(FastsqlException.class) //给容器中放指定类型的组件,组件默认名字是全类名(与Bean注册不同)
@SpringBootConfiguration
public class AppConfig2 {@ConditionalOnClass(name = "com.alibaba.druid.FastsqlException")@Beanpublic Cat cat01(){return new Cat();}@ConditionalOnMissingClass(value = "com.alibaba.druid.FastsqlException")@Beanpublic Cat dog01(){return new Cat();}@ConditionalOnBean(value = Dog.class)@Beanpublic User zhangsan(){return new User();}@ConditionalOnMissingBean(value = Dog.class)@Beanpublic User lisi(){return new User();}
}
在启动类中加入以下代码验证//        验证条件注解@ConditionalOnClassfor (String s : ioc.getBeanNamesForType(Cat.class)) {System.out.println("Cat:" + s);}//        验证条件注解@ConditionalOnMissingClassfor (String s : ioc.getBeanNamesForType(Dog.class)) {System.out.println("Dog:" + s);}//        验证条件注解@ConditionalOnMissingClassfor (String s : ioc.getBeanNamesForType(User.class)) {System.out.println("User:" + s);}

结果:控制台只打印Cat:cat01

5、属性绑定

将容器中任意组件(Bean)的属性值和配置文件的配置项的值进行绑定

  • 1、给容器中注册组件
  • 2、使用@ConfigurationProperties声明组件和配置文件的哪些配置进行绑定
    设置好UTF-8编码,否则控制台会中文乱码
    在这里插入图片描述

@ConfigurationProperties

新建Pig.java

package com.dszr.boot.bean;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/*** @author dszn* @creat 2025/4/17 14:55* @Description*/@ConfigurationProperties(prefix = "pig")//属性绑定,和Properties文件中的pig绑定
@Component
public class Pig {private String name;private Integer age;private Long id;public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}@Overridepublic String toString() {return "Pig{" +"name='" + name + '\'' +", age=" + age +", id=" + id +'}';}
}

application.properties

spring.application.name=boot3-02demo
pig.age=18
pig.id=2
pig.name=佩奇

MainApplication.java中测试

Pig pig = ioc.getBean(Pig.class);
System.out.println("Pig:"+ pig);

控制台输出
在这里插入图片描述

@EnableConfigurationProperties

  • 场景://SpringBoot默认只扫描自己主程序所在的包,如果导入第三方包,即使组件上标注了@Component、@ConfigurationProperties注解也没有用(组件扫描不进来)

新建Sheep.java

package com.dszr.boot.bean;import org.springframework.boot.context.properties.ConfigurationProperties;/*** @author dszn* @creat 2025/4/17 15:44* @Description*/
@ConfigurationProperties(prefix = "sheep")
public class Sheep {private String name;private Integer age;private Long id;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}@Overridepublic String toString() {return "Sheep{" +"name='" + name + '\'' +", age=" + age +", id=" + id +'}';}
}

AppConfig.java文件中

@EnableConfigurationProperties(Sheep.class)

application.properties

sheep.age=20
sheep.id=1
sheep.name=苏西

MainApplication.java中测试

        //测试EnableConfigurationProperties注解Sheep sheep = ioc.getBean(Sheep.class);System.out.println("Sheep:"+ sheep);

控制台输出
在这里插入图片描述

6、IDEA创建类自动生成注解

效果图
在这里插入图片描述
如图按步骤设置
在这里插入图片描述
在class中添加如下代码

/*** @author ${USER}* @creat ${DATE} ${TIME}* @Description*/

可以根据自己的需求按需修改或者添加

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

相关文章:

  • 服装公司网站定位武汉新闻最新消息
  • 恒星科技网站建设合肥百度推广排名优化
  • 北京网站代运营公司百度收录是什么意思
  • 网站开发的分录怎么做seo平台怎么样
  • 有些网站为什么会有弹窗淘宝seo是什么意思
  • 网站建设推广型拼多多网店代运营要多少费用
  • 湖南建设厅官方网站网络运营培训哪里有学校
  • 自适应自助建站网站长沙专业seo优化推荐
  • 网站无法发送邮件wordpress佛山seo
  • 家具网站php源码seo云优化是什么意思
  • 网站后台管理系统 静态页面医院营销策略的具体方法
  • 学校建设独立门户网站计划百度关键词排名突然消失了
  • 怎样建个小公司的网站金戈枸橼酸西地那非
  • 中国纪检监察报数字报免费seo培训
  • 企业网站建设价钱友链目录网
  • 深圳商城网站建设如何制作一个个人网站
  • 网站的建设技术有哪些内容推广普通话手抄报一等奖
  • 电商网站 外包东莞网站推广优化网站
  • 赤峰网站建设前端seo是什么
  • 虚拟主机怎么做网站爱战网关键词挖掘查询工具
  • 建网站卖广告爱站网爱情电影网
  • 点击网络怎么做网站seo优化教程自学
  • 动易学校网站电商网站订烟
  • wordpress最新文章调用河北百度seo点击软件
  • 怎样先做网站后买域名百度的seo关键词优化怎么弄
  • 为什么百度不收录wordpress网站推广与优化方案
  • 中国建设银行个人网站注册seo的理解
  • 网站建设首页面谷歌搜索排名规则
  • 股票网站建设seo优化几个关键词
  • 网上商城网站建设方案长尾词排名优化软件