iis如何用ip地址做域名访问网站,电子商务网站建设与原理,秦皇岛市教育局,湖南建设人力资源网站目录 一、springboot的应用 1、创建springboot项目 2、乱码问题配置 3、springboot日志配置 4、springboot整合mybatis 二、配置文件讲解及测试 1、全局配置文件参数读取 1.1 全局配置文件的位置 1.2 配置文件的读取 1.2.1 导包 1.2.2 编写配置对象Bean 1.2.3 编写配置文件 1.2… 目录 一、springboot的应用 1、创建springboot项目 2、乱码问题配置 3、springboot日志配置 4、springboot整合mybatis 二、配置文件讲解及测试 1、全局配置文件参数读取 1.1 全局配置文件的位置 1.2 配置文件的读取 1.2.1 导包 1.2.2 编写配置对象Bean 1.2.3 编写配置文件 1.2.3.1 properties文件方式 1.2.3.2 ymlyaml文件方式 1.2.4 单测 2、四种属性注入方式 2.1 单个属性绑定Value 2.2 批量属性绑定ConfigurationProperties 2.3 第三方进行属性绑定Bean 3、热部署 一、springboot的应用
1、创建springboot项目 将项目主程序启动类SpringbootTestApplication放到com.test目录下 创建src/main/java/com/test/controller/DemoController.java RestController // 该注解为组合注解等同于Spring中ControllerResponseBody注解
public class DemoController {RequestMapping(/demo)public String demo(){System.out.println(你好);return hello springBoot;}
} 启动项目 SpringbootTestApplication. main 访问网址 http://localhost:8080/demo 2、乱码问题配置 application,properties添加配置 # 乱码问题配置
server.servlet.encoding.charsetUTF-8
server.servlet.encoding.enabledtrue
server.servlet.encoding.forcetrue 3、springboot日志配置 导包 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusionartifactIdspring-boot-starter-logging/artifactIdgroupIdorg.springframework.boot/groupId/exclusion/exclusions
/dependency
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-log4j2/artifactId
/dependency 配置log的形式 src/main/resources/application.properties # 日志配置
# 指定具体包的日志级别
logging.level.com.testdebug
# 控制台和日志文件输出格式
logging.pattern.console%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level%logger{50} - %msg%n
logging.pattern.file%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n
# 日志输出路径默认文件spring.log
logging.file.pathspring.log
#logging.file.namelog.log 单测 SpringBootTest
public class LoggerTests {Logger logger LoggerFactory.getLogger(getClass());Testpublic void testLog() {logger.trace(Trace 日志...);logger.debug(Debug 日志...);logger.info(Info 日志...);logger.warn(Warn 日志...);logger.error(Error 日志...);}
} 4、springboot整合mybatis 导包 !-- 配置处理器-配置文件参数注入 --
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional
/dependency
!-- 配置mysql数据驱动 --
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.25/version
/dependency
!-- druid连接池 --
dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10/version
/dependency
!-- 整合jdbc --
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId
/dependency
!-- 整合mybatis --
dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.3/version
/dependency 配置数据库连接 src/main/resources/application.yml spring:datasource:username: rootpassword: rooturl: jdbc:mysql://192.168.3.33:3306/springimpl?useUnicodetruecharacterEncodingutf-8serverTimezoneUTCdriver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceinitialSize: 5minIdle: 5maxActive: 20maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20useGlobalDataSourceStat: trueconnectionProperties: druid.stat.mergeSqltrue;druid.stat.slowSqlMillis500sql:init:mode: always 编写整合 druid 的配置类 DruidConfig为了使dataSource的非核心参数注入 Configuration
public class DruidConfig {BeanConfigurationProperties(prefix spring.datasource)public DataSource druid(){return new DruidDataSource();}
} 基础pojo src/main/java/com/test/pojo/User.java public class User {private Integer id;private String username;private String password;//省略set、get、toString
} 编写Mapper src/main/java/com/test/mapper/UserMapper.java public interface UserMapper {Select(SELECT * FROM USER)ListUser findList();
} 在启动类上加扫描配置 SpringBootApplication
MapperScan(com.test.mapper)
public class SpringbootTestApplication {public static void main(String[] args) {SpringApplication.run(SpringbootTestApplication.class, args);}
} 编写service src/main/java/com/test/service/UserService.java Service
public class UserService {Logger logger LoggerFactory.getLogger(UserService.class);Autowiredprivate UserMapper userMapper;public ListUser findUsers(){ListUser userList userMapper.findList();logger.info(userList.toString());return userList;}
} 单测 SpringBootTest
public class MybatisTests {Autowiredprivate UserService userService;Testpublic void getUser() {userService.findUsers();}
} 二、配置文件讲解及测试
1、全局配置文件参数读取
1.1 全局配置文件的位置
全局配置文件可以在四个位置其优先级高低的顺序为 1. 先去项目根目录找config文件夹下找配置文件件
2. 再去根目录下找配置文件
3. 去resources下找cofnig文件夹下找配置文件
4. 去resources下找配置文件 配置文件中属性 如果不冲突则会共同存在-互补配置 如果冲突默认使用第1个读取到的 如果配置文件的名称不叫application.properties或者application.yml可以通过以下参数来指定 配置文件的名字myproject是配置文件名 java -jar myproject.jar --spring.config.namemyproject 也可以指定其他位置的配置文件 和 默认加载的配置文件共同起作用 java -jar run-0.0.1-SNAPSHOT.jar --spring.config.locationD:/application.properties 1.2 配置文件的读取
配置文件有两种方式 application.properties 和 application.yml 2.4.0之前版本优先级propertiesyaml 2.4.0及以后的版本优先级yamlproperties 如果想继续使用 Spring Boot 2.3 的配置逻辑也可以通过在 application.properties 或者 application.yml 配置文件中添加以下参数 spring.config.use-legacy-processing true 1.2.1 导包 !-- 配置处理器 --
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional
/dependency 1.2.2 编写配置对象Bean
创建对象 src/main/java/com/test/pojo/Pet.java public class Pet {private String type;private String name;//省略get、set、tostring
} src/main/java/com/test/pojo/Person.java Component //用于将Person类作为Bean注入到Spring容器中
ConfigurationProperties(prefix person) //将配置文件中以person开头的属性注入到该类中
public class Person {private int id; //idprivate String name; //名称private List hobby; //爱好private String[] family; //家庭成员private Map map;private Pet pet; //宠物//省略get、set、tostring
} 1.2.3 编写配置文件
1.2.3.1 properties文件方式
src/main/resources/application.properties person.id1
person.nametom
person.hobby吃饭睡觉
person.family大哥大姐
person.map.k1v1
person.map.k2v2
person.pet.name大白
person.pet.typedog 1.2.3.2 ymlyaml文件方式 YAML 文件格式是 Spring Boot 支持的一种 JSON 超集文件格式以数据为中心比 properties 、 xml 等更 适合做配置文件 使用 “key: 空格 value” 格式配置属性使用缩进控制层级关系 src/main/resources/application.yml #对实体类对象Person进行属性配置
person:id: 1name: lucyhobby: [吃饭睡觉]family: [father,mother]map: {k1: v1,k2: v2}pet: {type: dog,name: 旺财} 1.2.4 单测
src/test/java/com/test/springboottest/SpringbootTestApplicationTests.java SpringBootTest
class SpringbootTestApplicationTests {Autowiredprivate Person person;Testvoid contextLoads() {System.out.println(person);}
} 2、四种属性注入方式
注意当配置文件不是默认配置文件名时 PropertySource(classpath:/jdbc.properties) 指定外部属性文件。在类上添加 添加默认配置信息 src/main/resources/application.properties jdbc.driverClassNamecom.mysql.jdbc.Driver
jdbc.urljdbc:mysql://127.0.0.1:3306/springboot
jdbc.usernameroot
jdbc.password123 2.1 单个属性绑定Value
Configuration声明一个类作为配置类 Value属性注入 配置类 src/main/java/com/test/config/JdbcConfiguration.java Configuration
public class JdbcConfiguration {Value(${jdbc.url})String url;Value(${jdbc.driverClassName})String driverClassName;Value(${jdbc.username})String username;Value(${jdbc.password})String password;
} 单测 Autowired
private JdbcConfiguration jdbcConfiguration;
Test
void test01() {System.out.println(jdbcConfiguration);
} 2.2 批量属性绑定ConfigurationProperties
Configuration声明一个类作为配置类 EnableConfigurationProperties用于启用应用对另外一个注解 ConfigurationProperties的支持 ConfigurationProperties(prefix jdbc)批量属性注入 导包 !-- 配置处理器 --
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional
/dependency 配置类 src/main/java/com/test/config/JdbcConfiguration.java Configuration
EnableConfigurationProperties(JdbcConfiguration.class)
ConfigurationProperties(prefix jdbc)
public class JdbcConfiguration {String url;String driverClassName;String username;String password;//省略set、get、toString
} 单测 Autowired
private JdbcConfiguration jdbcConfiguration;
Test
void test01() {System.out.println(jdbcConfiguration);
} 2.3 第三方进行属性绑定Bean
将属性绑定到控件之外的第三方组件 Configuration声明一个类作为配置类 ConfigurationProperties(prefix jdbc)批量属性注入 Bean声明在方法上将方法的返回值加入Bean容器 导包 !-- 配置处理器 --
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional
/dependency 添加配置信息 src/main/resources/application.properties another.enabledtrue
another.remoteAddress192.168.10.11 创建一个其他组件类 src/main/java/com/test/config/AnotherComponent.java public class AnotherComponent {private boolean enabled;private InetAddress remoteAddress;//省略set、get、toString
} 创建绑定类 Configuration
public class MyService {ConfigurationProperties(another)Beanpublic AnotherComponent anotherComponent(){return new AnotherComponent();}
} 单测 Autowired
private AnotherComponent anotherComponent;
Test
void test02() {System.out.println(anotherComponent);
} 3、热部署
目的修改代码后使项目可以自动替换更改文件并重新部署解决本地验证缓慢的问题 导包 !-- 引入热部署依赖 --
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId
/dependency IDEA工具热部署设置